I didn’t have a lot of clarity on what engineers optimize for when starting their careers. This article is my attempt to capture some of the things I wish I knew at that time. All of this is based on my own experience up to this point in my career. 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. We are all social creatures and the people we spend the most time with influence who we become. For instance, I got to work with an incredible engineer early on and that experience shaped me as an engineer. I got a good understanding of what I was missing and what I should do to improve to achieve similar levels. Some of the feedback I received was a little hard to deal with but it helped me level up quickly. (Tip: Surround yourself with people whose standards are higher than your own. I also wrote about that here.)
Overall, 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.
2. Stretch projects to grow a skill (depth)
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. 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. But because I kept pushing, 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
- how I like to learn
- what I need to do better
- what I enjoy doing
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. I had to learn only a handful of technologies that we used repeatedly. I also got very comfortable with my immediate team and stakeholders. Over a period of time, my experience on projects was starting to feel were very similar to things I had done earlier. So I decided to make a switch.
My new role required interacting a lot more with non-engineers and thinking more about user/product problems. I realized that I never learned these skills because there was never a need for it. I also realized that I wasn’t very good at these new skills. So I 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. I was unaware that these skills were important and no one really pushed me to learn them.
Overall, exposure 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. (I discovered Computer Science thankfully or my life would look very different right now). So keep exploring!
There is a reason why money is not listed as something to optimize for. I believe that if engineers optimize for some of the factors listed above early in their 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!

