What should engineers optimize for early in their career?

Dhinesh Dharman
4 min readDec 3, 2020

When starting my career, I didn’t have a lot of clarity on what I should be optimizing for and I wish I had more information at that time. This article is my attempt to capture some of the things I wish I knew at that time. This is based on my own experience and I’m sure there are things that I am missing which I will hopefully learn about in the future :)

  1. Working with great people: It is hard to overstate the importance of working with really great people. Looking back on some of my memorable work experiences, they almost always involved individuals I respected and enjoyed working with. So why do the people you work with matter? We are all social creatures and the people you spend the most time with influence our thoughts and actions in direct and indirect ways. For instance, I got to work with an incredible senior engineer at my first job for less than a year and that experience shaped me as an engineer. By observing how they operated, I had a good sense of what I was missing and what I should do to improve to achieve similar levels. Some of the direct feedback I received from them was a little hard to deal with at that time but it was instrumental in helping me level up quickly (Tip: Surround yourself with people whose standards are higher than your own). Here’s another way to phrase the value of working with great people: we have a finite amount of time to build our skills. The more we work with people who can share their own experience with us, the less time we need to invest in building proficiency in new skills.
  2. Stretch projects to grow a skill (depth): My experience with training for a half-marathon helped me understand a lot about how to improve in a very specific skill. I remember the first week of training when I could barely run 2 miles on the treadmill. After a couple of weeks, running 2 miles was a breeze and 5 miles felt like the new barrier. As you would expect, over the next few weeks that also changed and I could easily do up to 10 miles. Every time I felt like I had hit my limits, I kept pushing and I started hitting new limits which seemed unattainable at the very beginning. This experience is definitely true for building any skill, including engineering. I can clearly remember all the work projects which were intimidating when I first took them on. On these projects, I learned a bunch of things about myself (both good and bad) — what I can do well, what I need to do better, what I enjoy doing, how I like to learn etc. So the only way to know what we are capable of is to actually push ourselves and learn our own limits.
  3. Building a wide variety of skills (breadth): At my first job, I was in a backend role where most of my interactions were with other engineers and there were a handful of technologies that I had to learn. Over time, I got very comfortable with the people I worked with and the kind of projects I was doing because they were very similar to things I had done earlier and i decided to make a switch. My new role required interacting a lot more with non-engineers and thinking more about user/product problems. This led to the realization that these are skills I never needed to learn because there was never a need for it. I also realized that I wasn’t very good at these new skills and had to learn really quickly to be effective in my new role. In hindsight, learning some of these skills earlier in my career (especially around communication) would have helped me grow a lot more by allowing me to take on more responsibility on my team. It is interesting that no one really pushed me to do this and I was unaware that these skills were important. My big takeaway is that being exposed to a variety of roles and people is really important early in your career because we don’t know what we don’t know. By trying out a lot of things, we can build awareness and use that to make informed choices on what skills/areas we want to focus on. This is very similar to our education system where students are exposed to a variety of subjects (I am thankful I discovered Computer Science or my life would look very different right now). So keep exploring!

Some of you maybe wondering why money is not listed above as something to optimize for. My personal opinion is that if you optimize for some of the factors listed above early in your career, then it would be a lot easier to find opportunities that pay well down the line. Another way to put it is — by not optimizing for money in the short-term, you will be in a better position to make more money in the long-term. A huge caveat to the above: Money is definitely important and it is hard to think about anything else when you are not paid enough. Also, your personal circumstances will sometimes dictate how flexible you can be with optimizing for money and it may not always be in your control. I have definitely been very fortunate in this regard and I fully recognize that it may not be easy for others.

Good luck!

--

--