What makes a good "Senior" engineer?
LATBS Edition 03

What makes a good "Senior" engineer?

Written by: Prasen Shakya , Lead Engineer


What makes a good "Senior" engineer— this is a question that I ponder quite often.?

I wonder if it’s the years of experience that make someone a "Senior" or is it their programming skills?

Is it the way they navigate their career and make career choices? Or is it something drastically different like their level of empathy towards their fellow co-workers??

Or is it a mix of everything or rather none of it?

After 6 years working in the industry, this is my attempt to answer the question “What makes a good Senior Engineer?”.

The obvious: Experience

Let's start with the obvious.

Does experience make someone a senior? It certainly does.

Well, not quite. Experience might make some a senior engineer but experience alone doesn’t mean that they are good at being one.

Experience comes in two folds, the first is only concerned with the number of years in the job. Just fulfilling a predetermined quota and reaching certain years in the field.

Some engineers can also be stuck in a rigorous cycle— changing colors, adding a parameter here and there, and working in the same domain and the same team for a long time. This will not make them battle-tested to tackle the challenges faced by a senior engineer.

On the other fold, experience can also refer to the diversity of teams, problems, and solutions. Working with both brand new codes to working with legacy codebases. Collaborating with a couple of team members to work in a huge team across cross-time zones.

This is what I see as a useful experience when pondering if someone is really capable of being a senior engineer.?

Like Swizec Teller said in his newsletter,

The minimum amount of experience needed for someone to be considered a senior engineer is:
worked in at least 2 companies (or vastly different teams)
and worked on 1 codebase for at least 3 years.

Tips for gaining fruitful experience:

  • At the start of your career work on both long-running and short-term projects. It will test how good you are at making decisions for the immediate future in a short-term project and how you tackle the limitations of those decisions in the long term.
  • Try to gain any amount of experience in all different paradigms of engineering be it frontend, backend, or cloud.?

The needful: Skills

We’ve all heard— with experience comes skill.

However, I say that this is true only in certain scenarios.?

Without introspection and deliberate effort towards improvement, experience alone does not equate to a significant increase in skill, ultimately leading to mastery.?

A senior engineer does not have to be an expert in everything. They do need to have the technical skills demanded by their job in addition to other soft skills in at least a marginal capacity. Other important soft skills needed are but not limited to communication skills, critical thinking, conflict resolution, etc.?

If an engineer had sufficient experience with diverse teams and projects, they would have definitely faced a slew of situations where soft skills would have been necessary and subsequently learned.?

I often see junior engineers value technical skills above everything else. As software engineering is a team activity, a lack of soft skills will definitely cause issues in your growth as an engineer. At the very least I would not consider someone a senior engineer without some of the soft skills as well. Feel free to disagree.

Tips for gaining impactful skills:

  • Learn anything you can from others. Everyone has strengths, focus on learning skills by critically analyzing a decision or asking someone about their strengths.?
  • Read, read, and read then apply, apply, apply. As an engineer, you can gain insights by reading articles, blogs, or books. Turn the knowledge into skills by applying it in real-life situations.

The underestimated: Empathy

I would say the final, but often neglected characteristic of a senior engineer is empathy.?

Empathy towards their team members and the customers is a necessary trait in your progression towards being the coveted "Senior" engineer.?

Without empathy, engineers will only be concerned with a one-dimensional approach to problems and solutions. If they can empathize with what customers are going through then the solution they suggest will also be more in line with what is actually needed by the product and its users.?

Working in a team requires you to work with a diverse set of people, knowing what the team members have been through and are going through and understanding it can also help achieve the team goal efficiently with an easier path to conflict resolution (as you have a better idea of where someone is coming from in case of a conflict).?

This can allow you to lead and mentor someone differently based on what they currently need.

Tips for practicing empathy:

  • Don’t be selfish. It may seem simple but always think of others too when you’re making decisions. Even if the decision you take does not change, thinking about others will allow you to better understand your own decision.
  • Engineering is not a solo job. You will have to work with a cast of different people. So, learn to manage your emotions and be observant.

So, do you have what it takes to be a good Senior engineer?


Feeling inspired? Read more from Prasen Shakya in his blog: prasenshakya.com.np

要查看或添加评论,请登录

Leapfrog Technology, Inc.的更多文章

社区洞察

其他会员也浏览了