As with anything in life, adjusting to a new role is not always easy. Making the leap to a Senior Engineer position can be challenging since it requires taking on more responsibilities, improving prioritization, and honing soft skills. Whether someone has been recently promoted to Senior Engineer or is trying to prove they are ready for the next level, here are the top lessons to keep in mind to ensure success in the role.
Prioritization over perfection
Perfectionists can be tempted to spend countless hours trying to improve the codebase, distributing the coding best practices, asking for more hours to refactor, and fixing every bug in the backlog that they can get their hands on. However, fixing the bugs customers don’t complain about in a feature that is not heavily used is not a good use of time.
Prioritization should be at the heart of a Senior Engineer’s approach to work. Software engineers need to fight the urge to pursue roads that do not provide value to the business and block their impact.
Crystal clear clarity
Senior Engineers are not just delivering code – they are delivering solutions. Avoid trying to fit design patterns where they are not needed and looking for ways to make the code “prettier” to fit a specific aesthetic. The reality is that no one cares about unique aesthetic preferences, but rather they care that the solution makes an impact and would survive year after year.
Engineers should pick clarity over complexity when writing code, designing architecture, communicating a piece of information, or advocating for a new piece of technology. By doing so, the solution has a better chance of making an impact and surviving over the years.
A lot of software engineers want to play around with shiny new technology, or a new programming language. Take a step back and look for opportunities to accomplish the same goals within the existing tech stack. While new tech is cool, keep in mind that even the overhead of learning and teaching a new piece of technology in an organization can be burdensome.
The piece of code no one wants to touch is the one that has a complex design and is not necessarily the most difficult.
As Martin Fowler said: “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”
Make it a priority to deliver solutions for humans.
It’s not just coding, it’s also talking about code
A common pitfall software engineers fall into is forgetting to focus on soft skills. An engineer that writes code the fastest and can produce complex solutions isn’t necessarily prepared for a senior title.
A Senior Engineer is expected to articulate every solution that belongs to them, from the past or in the present. If an engineer is unable to explain their reasoning behind a solution they have built, it signals that they are just following what they see from others and not putting thought behind every decision they make.
At this level, precision is key and execution at both the technical and communication level is indispensable. The bottom line is that a Senior Engineer does not have to be the one that can write the most code, but they must be the one that can clearly explain every solution they build.
Focus on ‘Get it Done’ and ‘Figure It Out’ Principles
As a Senior Engineer, you need to accept that the training wheels are off and you are mostly on your own. Your peers and leaders expect you to take care of business day in and day out without receiving any hand holding. Long gone are the glory days of asking questions without shame or taking a week or two to come up with a solution.
The reality is that being a Senior Engineer is not easy, and the road is definitely bumpier ahead. That is why the realization that “just work”’ is not enough, and you may need to put in extra effort to keep adding to your skillset.
At this level, you have a responsibility to keep pushing yourself every day to learn and grow and to challenge yourself to get faster and deliver value promptly.
What’s important to the business is now important to you
Ultimately, this is the most important principle to chase as a Senior Engineer and critical for the next generation of talent.
Do not think that you are just there to do what you are told or sulk when working on a project you are not fond of. We are all in this profession to provide solutions where they are expected, and we must continue to do that. Sometimes it’s a software engineer’s job to poke their nose into things and find out what is preventing their business from delivering more value and make the case to go build it.
It might not be possible to solve all the big problems an organization or users might have, but you can start from somewhere. The best approach you can take is to act as a good scout and leave the place better than you found it. Take the lead and inspire others to follow your steps.