Even if you are not particularly sure about becoming an engineering manager yet, the more you progress in seniority in your individual contributor (IC) career, the more interesting it is to focus on your leadership skills.
While “leadership skills” can be an umbrella term meaning many things, at this point in your career it can be related to your ability to foster psychological safety within our team, mentor your more junior peers, or your ability to communicate clearly with both technical and non-technical teammates.
In the end, both as a senior+ software engineer or as a tech lead, you will be expected to influence others around you. So it’s never too early to start building those skills.
Understanding your organization
Similarly to coding, leadership is a skill that can be trained, but it needs time and planning. So if you wouldn’t use a new API without checking documentation first, my advice to you in this path is: Take some time to understand the organization you work at.
In this article, I will propose some initiatives you can find in your day-to-day to hone your leadership skills, but you are likely to find even more good examples if you understand the opportunities your organization and your team can offer you.
In general, most tech startups put their leadership focus on three main areas: Tech, projects, and people.
But the weight of your influence on each of them is going to vastly depend on how your team works: Does your department currently have a big focus on tackling tech debt? Does your product manager (PM) often seek feedback from the tech team? What is the culture like in your team? Does one single person take care of all the Agile ceremonies or is there room to decentralize this role?
I strongly recommend having a look around you to try to answer these questions. Also, having a chat about it with your manager can hopefully help you find some opportunities you hadn’t thought of.
Leading everyday
While understanding your organization is key in the process of becoming a leader, I believe you don’t need to have everything figured out before getting there. You can (and should) start leading in your day-to-day as an engineer, for which I would like to share some examples putting the focus on the three main usual leadership pillars I already mentioned above: Tech, projects, and people.
Tech
As a software engineer, you have the most knowledge about what’s going on in your codebase and in your stack.
Having a robust codebase that is easy to maintain is not only important for you as an engineer. It’s also important for the business as it will help reduce the number of bugs that may impact the customers, and it will eventually save money by reducing the time spent by new engineers having to try to figure out the code.
If you work in an Agile team, typically hierarchies (at least in your team) should be relatively flat. This means you have the power to identify that piece of tech debt that is slowing you all down and pitch it to your PM to make room for it in the roadmap.
As an example of this, in my previous team, the most senior engineer pointed out that our release process was unnecessarily manual and could be improved. He drafted an epic illustrating how we could automate it through Github actions, and we started working on it right after. It demonstrated to be a great call that had a great impact on our ability to deliver even when the team was understaffed.
Projects
Something that all companies have in common is that they work on projects, no matter if Agile or waterfall. And something that most companies have in common is their need to optimize some steps in their project management processes.
In my team we use Scrum, and something I always tell them is that we all need to own the sprint. For more senior engineers (and those aspiring to become leads) this means: You need to shift your focus from an individual perspective to a more holistic (or team focused) one. This also means answering the question “How can my contributions to the team improve this project’s health?”
You can help here by supporting your peers when they are stuck, making sure code reviews happen smoothly and quickly enough, and of course, challenging your engineering and product managers if you think the amount of work is not reasonable to happen within a sprint.
People
This area unfortunately sometimes gets overlooked by people in the tech industry. However, in my opinion, a fundamental quality in a leader is the ability to create a trusting environment around them, in which everybody feels safe, listened to, and respected.
But being able to create psychological safety is not something that magically happens to you when you become a lead. It’s something that you need to foster with your everyday actions, being willing to educate yourself and listen to others’ points of view.
These are all things that you can and should start being mindful of from the earliest stage of your career. Think of a code review: Are you usually respectful in your comments, and you are able to address any issue without making it personal (like a human)?
When a more junior colleague doesn’t understand something, do you usually pay attention to them and encourage them to voice their concerns? When you write a ticket or post something in a Slack channel, is your language inclusive of all genders?
Creating psychological safety starts by being mindful of the diversity around you and making sure you contribute to letting everyone share a space with you being able to manifest their true self.
Conclusion
Whether you want to grow in your career as an IC or you are interested in becoming a manager, it’s worth developing your leadership skills early on. As an engineer, it can help you become more influential in your organization and maximize the potential of your team, and there are many actions you can start doing in your day-to-day.
While getting to better understand your organization can be crucial, you can start putting your focus on these three areas:
Tech: Focus on finding those gaps in technology that can have an impact on the overall organization. Trying to convince your team leads to implement your ideas can help you improve your communication skills.
Projects: Shift your focus from “me” to “us”. What are the common pain points in your team’s delivery? Don’t hesitate to speak up so your team’s projects run more smoothly.
People: A good leader is someone who creates psychological safety around them. Be open to grow and learn from others, and make sure everybody in your team is respected and listened to in your daily interactions.
I published this article originally on LeadDev (edited by Scott Carey) on the 16th of May of 2024.