Tuesday, February 20, 2018

What are the biggest career mistakes made by engineers?



Dhinesh Dharman
Dhinesh Dharman, Software Engineer

I want to share some mistakes made by engineers in their careers. Having made all these mistakes myself, I believe it is never too late to correct them and being aware is a good first step.
1. Being a long-term domain expert (to the exclusion of other skills)
Everybody loves a domain expert. These are the folks who have built/worked with a piece of technology for years and are the go-to person for that area of work in the team/company. They may be able to give you instant answers to your questions that may take days to research. They receive public recognition for their unique knowledge and are respected for the value they add to the team/company. Most engineers aspire to be known for that one-thing that would make them stand out from their peers. But this is by far the biggest and most common mistake made by good engineers.
Becoming a domain expert is a double-edged sword. The value that you can potentially create by being a domain expert can be unparalleled at the company. So, if you measure your success purely as a function of the impact you can create for the company, this sounds like a win-win and a complete no-brainer. But there is a hidden cost to it. By specializing in one area, you are losing out on opportunities to develop skills in other areas. (If your goal is to actually specialize in a particular area like security, then this advice doesn’t apply to you directly. But even in that case, I would recommend expanding your area of expertise to be as broad as possible within that area.) This also presents a strange dilemma for the engineer since what may be good for the company may not align with what may be good for their career growth. If not handled carefully, this can lead to career stagnation and frustration down the line.
To clarify, engineers should always dive deep and build a good understanding of the domain that they are working with. But once they develop the sufficient mastery, they should document their learnings/teach that to others (potentially a great learning opportunity for someone else) and move on to other things. In other words, they should strive to make themselves dispensable.
Finally, the good news is that once you are aware of this problem, it can be fixed easily by having a conversation with your manager. Given the value that you have created for the company, your manager should be supportive of changing projects/teams/roles as appropriate to help you grow in new areas.
2. Not optimizing for growth
Here is an exercise. Ask yourself the following question:
“What have I learned at work in the last six months?”
I am sure that you can list several things. Does that mean that you are growing? Not necessarily.
Let’s take an example. Today I learned a keyboard shortcut for my IDE which will definitely make me more productive in writing code. But does that mean I should spend the next six months learning new keyboard shortcuts? Or is my time better spent reading a book about software design patterns to be able to build good software? Clearly, they are both very useful activities but I need to decide how much time I am willing to invest in them. The main takeaway here is that not all learning is equal and we need to think about which of them lead to growth.
So, what is growth? I define growth as a step-change increase in ability along a particular dimension. In my opinion, such growth happens only when rate of learning is high. So, focus on activities where you can get such a high rate of learning i.e. optimizing for value per unit time. In other words, a day spent discussing ideas with a senior engineer can potentially help you learn more than reading a book for a month (can always do both, just a question of priority). But why should engineers care about growth? The reason why this is important is that it helps build confidence to continue taking on bigger challenges. You can read more about how having a growth mindset improves motivation and productivity in all spheres of life.
Now that we have decided we want to focus on growth, how do we identify ways to do that?
Here is a question that you can ask to assess your recent growth:
“What have I done in the last six months that seemed hard/impossible to achieve six months ago?”
or looking forward:
“What would I like to do in the next six months that I am not capable of doing today?
The answers to the questions about learning and growth should give you all the information you need to figure out how you should be spending your time going forward.
3. Focus on titles/levels
Here is a typical path for a new grad engineer. They finish school, join a company and start growing at the company taking on new responsibilities. With their motivation and hard work, they are able to have a lot of impact and they get promoted to the next level without having to think too much. This is fairly typical and there is very little variance in how this plays out at different companies. Now that they are at this level, they are now forced to make more conscious choices depending on how the company views career growth. This may constrain their thinking since not all companies offer flexibility in roles/opportunities. For example, if the company does not have a technical track for engineers beyond a certain level, the engineer may be forced to consider management even if they do not have an interest in it. A more common example is that the company’s expectations of breadth v depth may not align well with how an individual engineer wants to grow in their career. So, engineers may feel forced to do certain things just to get promoted.
One way to tackle this is to set goals for your career and identify a path forward without being constrained by the rubric/leveling guide at your current company. One possible conclusion of this exercise could be that you need to change your role or company. Every six months, keep re-evaluating whether things are moving in the right direction. You should constantly keep looking for reasons to stay at a company rather than looking for reasons to leave. In effect, you are looking for leading indicators of a need for change rather than lagging indicators. (In hindsight, I probably stayed one year longer than I should have at my previous job.)
To summarize, engineers should be more proactive about their careers and be very intentional about setting personal goals and figuring out how to achieve them. Otherwise, your career will just happen to you and it may not be the one that you wished for. Good luck!

No comments:

Post a Comment