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!
Thanks for sharing the information about careers related to the engineers. after BE student's always get confused with their career choices.To get good job PG courses are always helpful to get job. and it can helps them to grow in long term to know more visit the website
ReplyDeleteThanks for sharing the information pleaseVisit here
ReplyDeleteCongratulation for the great post. Those who come to read your Information will find lots of helpful and informative tips. Chicwish Review
ReplyDelete