Engineering Career as a System design problem

poornima venkatakrishnan
6 min readNov 28, 2020

--

While 2020 has been an unusual and difficult year overall, it has also been a year of deep reflection and thankfulness for me. Thanks to shelter-in-place, I am turning my inner nerd on, and attempt to draw a parallel between solving an unbounded problem like designing a system at scale and building a rich engineering career :D

In a system design, identifying functional and non-functional requirements and customising solution for the needs and constraints of the specific system is key. I realise it’s no different when thinking about designing/planning one’s career; each person’s requirements (aspirations) and resources available (opportunities, time, space) are unique. And focussing on both aspects (functional and non functional) depending on an ever sliding window of right place right time, is crucial!

Let’s first look at the functional aspect. The most important measure is successfully delivering towards the KPIs on the programs owned. Standard recipe in most companies:

Company Vision →BU programs →Products → Quarterly Execution Plans

Programs have Objectives and Key Results attached. The successful execution, release and ramp of the plans will sufficiently measure the functional aspect of one’s achievements. The PDLC machinery is setup to automatically enable this whether an Individual Contributor or an Engineering Manager. Additionally, there may be sprinkled opportunities like company moonshot goals that can immensely impact the trajectory and help blaze through in a compressed time window.

Additionally for people managers, a measure of the team’s growth and satisfaction can help measure one’s management skills. Generally companies have surveys that help managers capture blindspots and opportunities for improvement.

Pivoting attention to the non-functional aspects. Just like in system design, non-functional aspects

  • are harder to define with many nuances
  • can have high impact if done well
  • changes with time and space depending on the maturity of the system aka our career :D

Like in system design, where there are some important considerations for non functionals (like scalability, availability, reliability and cost), I outline 4 categories of things that you can apply to your career, depending on your strengths and passion.

  1. Staying Relevant:

Make sure your job experience contributes to your overall career progress and not just for near term.

  • Constantly evaluating and up-leveling skills. Question if skills you hone on your job are applicable to the industry. If not enrich yourself with more industry wide adopted technologies and standards. Again, key to remind self is that the company we currently work at alone does not define our career …
  • Carving out time for podcasts and reading. As a mom of 2, I acknowledge the struggle for time. But the knowledge comes handy for intelligent conversations and decisions. Staying on top of technology news, engineering blogs, podcasts of builders , popular coder philosophies (if IC), leadership styles , success stories that help define your evolving leadership brand (if in management), will be very helpful.
  • Networking. Make time with your peers across the company so you are aware of what is happening company wide and educate them on your work. It can be done via formal company forums like meetups, conferences, brown bags etc or by creatively requesting 1 on 1s with leaders and colleagues whom you don’t work with day-to-day.

2. Innovation:

Exercising creativity in technology can program out-of-the-box thinking in our muscle memory.

  • Have you wondered if an idea you have is unique? File a Patent. Worst case, it will get rejected.
  • Have you had a nagging idea as simple as stitching existing products to solve for a new problem space ? Stitch it and pitch it. Companies are always looking for new competitive markets to play in, and ideas do not necessarily have to come from Business Development. Did you know Uber’s popular moving car pin on a map when you request for a ride feature, came from an engineer?
  • Have you been eyeing a new technology that you feel will be a perfect fit for a product on your roadmap? Go the extra mile and demo with a POC. Good Product teams love to nurture technology that empowers easy ways of go-to-live, plus now you can wear the technology pioneer hat in your company.
  • Hackathons: I love these!! I see them as mini energy shots that enables me to learn something new in a short period, liberated from formalised roadmaps. Participant, mentor, organisational staff, judge - whatever the role, the experience will be enriching. It can be a formalised channel to exercise 2) and 3) mentioned above.
  • OSS Participation: Participating via contributions, discussions, documentation in Open Source helps you engage and learn from a much wider network of industry experts. It also matures you as a technologist and helps adopt working methodologies that can strengthen your team especially in a full-on remote working culture.

3. Self Awareness and Advocacy:

  • Pitching yourself: Find ways to present your work or ideas outside of your team. Look for opportunities to present at local meetups and eventually even at conferences. This makes you a voice for your company, enriches your portfolio, helps build confidence in your technical & soft skills and build a wider professional network.
  • Finding mentors: Mentors are folks who can listen to you and give an unbiased opinion on various topics. Mentors have generally been there done that and are a storehouse of wisdom on industry and career challenges. They don’t have a vested interest and hence they can be a fantastic echo chamber when you feel you’re hitting a wall.
  • Building your champion army: Champions are leaders who have the power to influence your growth. They have witnessed your trajectory, know your worth, and are eager to promote your brand. One efficient way to do is keeping warm with the leaders whom you’ve worked with and who have moved on to do other bigger, better things. This is a hard nut to crack but not impossible. So commit time and energy to it.

4. Reflections for People management:

  • Find your key talent and become their champion And by that, not just more challenges or compensation, but also unlocking opportunities and making them more visible beyond the team/org. Often times, people managers fall in the trap of focusing only on growing an army and not on the growth of the army.
  • On being vulnerable: People gravitate to leaders who are able to talk about their failures openly and acknowledge their imperfection. I’ve sometimes seen managers incorrectly embrace machoism and display unbreakability to build a super (wo)man persona. Vulnerability is also a super power :)
  • On becoming talent magnets. Leaders whom I’ve observed to be successful talent magnets, identify, inspire and grow everyone regardless of whom they report to. They carve out time to connect and understand aspirations of upcoming talent, so when the opportunity presents itself, they can rightly match :) They also hire in very unique ways. I once left a note on a blog, reflecting on an article. It turned into a conversation that landed me an interview. I learnt then, keeping an open eye and mind for discovering candidates in unexpected spaces, is vital.

Now that we have some building blocks, next step (just like in system design) is a high level plan of attack. I love the “Why/What/How” framework as it naturally lends itself to any kind of problem solving.

The high level plan could be defining the “Why & What” and areas you would like to see growth in next 2 years. Example for an Engineering Manager: “Why : I want to see myself as a Technology Centric Leader and I don’t feel sufficient today; How: I want to participate in activities that enriches my portfolio and helps me educate myself to make informed decisions on Engineering roadmaps“. The detailed Plan would be to breakdown on “What” for next 3m, 6m, 1yr, 1.5yr and 2 yrs and the aspects you want to see yourself working on Functional (focus on systematic approach to delivering roadmaps on your charter and equipping /enabling team to deliver) and Non-Functional levers (stay relevant, keep innovating, advocate yourself and grow your team). As you reach end of every small milestone, journal & retrospect (potentially with a mentor). And every 2 years depending on where you are in your career, rinse and reconstruct the goals.

While I have not deliberately used this as a framework in 2 year windows, I did come up with it based on organic gravitation towards the levers mentioned above and observing success in many leaders along the way. While acknowledging a lot of it is dependent on an ever evolving window of being in the right time right place, we may be able to influence the direction of that window based on our passions, without letting it completely to chance… :)

Good Luck! Thank you for reading and stay safe & healthy!

--

--

poornima venkatakrishnan
poornima venkatakrishnan

Written by poornima venkatakrishnan

Engineering leader, mom and aspiring blogger

No responses yet