How To Stand Out as a Software Engineer
If you are a software engineer, you probably know how important it is to build a solid reputation. If you want to rise up the organizational ladder in your job, it is absolutely critical. This guide focuses on how to stand out at work as a software engineer in order for you to gain more recognition from your team leaders and superiors.
In order to stand out, you will need to do more than write code and complete your tasks on time. You will have to provide the company with something valuable that is harder to replace, but how can you do that?
Take Initiative
In the context of software engineering, "taking initiative" can mean different things depending on your position within the team. It's important to understand your role and how you can best contribute to the team as an individual contributor.
I think that taking an initiative can show that you have the skills to think critically about your work and solve problems independently without your manager pointing you to the problem or task.
Some ideas for initiatives:
Eliminating duplicated code and generally refactoring if needed (more on that from Refactoring Guru)
Adding tests where they are lacking
Improving documentation
Reducing costs (for example, this is how uber reduced logging costs by two orders of magnitude)
Reduce the execution time of slow services by looking for low-hanging optimizations.
Improve the onboarding process, by documenting or recording important flows in the system.
Taking an initiative doesn’t mean having to do all the work yourself.
You identified a gap and got a few possible solutions - instead of implementing it yourself, another course of action would be to create a task for addressing it and getting it prioritized by your team lead or project manager.
In order for the task to be prioritized, it needs to have a business value so make sure that you express exactly what you think the gap is, and why solving it is important.
Just the fact that you raised your head above the trenches, which are your tasks, in order to try and improve the general state of the system will be appreciated.
Succeeding to make an impact and addressing the gaps will go a long way and definitely can help you stand out - but it won't necessarily happen naturally.
You'll have to promote yourself, which connects me to my second piece of advice.
Promote Yourself
You took initiative and did the hard work, but it doesn't really matter if nobody knows about it.
Standing out is about recognition.
Letting team members know about your initiative and how you improved the system will help you get more recognition from your peers.
In order to do so, post your success on your company's IM platform (slack, teams, etc...) and let other engineers & managers know about your initiative or how you improved the system.
Promoting your success is important because it shows that you are not just a technician, but a self-motivated individual who has made a difference in the company.
Another related piece of advice I can give you is to write those wins in a personal document.
Whenever a performance review or an interview comes, you will have references to answer the hard questions.
Review Relentlessly
Regardless of your title or years of experience, review PRs often and relentlessly.
Reviewing PRs is a great opportunity to learn from other engineers and make an impact without writing a single line of code, while holding your team accountable for best practices, writing good tests, correct design, etc.
Engineers who are good at communicating their ideas and offering thoughtful feedback are valuable commodities for any team.
Additionally, I think that even when you are a junior/mid you shouldn't be intimidated to review, ask questions, and offer new ideas to the seniors/principals on your team.
In any case, there are only two possibilities:
You propose a good idea that is appreciated and addressed - definitely a win.
You flop, which then gives you the opportunity to learn - still a win.
Realizing you are not too junior to review with the combination of giving good, thoughtful reviews would make you stand out.
For more advice on code reviews and doing them right, I personally enjoy reading Curtis Einsmann's content.
Before wrapping up, I think it is worth saying that you should go at your own pace, applying it can take time, and honestly it's a work in progress for me as well.
Don't overdo it and get burned out.
Work smart.
Work on whatever is making the most impact.
Conclusion
These three tips can help you get ahead as a software engineer.
Consider them the next time you evaluate your performance and work on implementing them into your engineering process.
The more proactive you are, the bigger the difference you can make in your team, company, and community.