Reframing Senior as Mature
I am new to the world of software engineering, I've been at it full time for the better part of a year but I still feel like I am a novice among all the people around me with decades of experience. This last week at Boulder Ruby I heard a talk by Very Normal(Jesse) that has me thinking about my career as a software engineer and how I can be a "senior engineer" even while I am still in almost every sense of the word a Junior.
The thing about "senior" when it comes to engineering is that there are so many definitions of what it means to be a senior engineer, You can be at one company for a couple years and be given a title of senior engineer and move to another company and be given a lower title even though your skills and responsibilities may not have changed. The way I think about it i wonder if it would be more helpful to use a different term when referring to becoming a senior engineer. Instead of finding my definition of being a senior engineer in my job title, I wonder if it would be more helpful to think of it as being a "mature" engineer.
One definition of mature can be seen here "mentally and emotionally well-developed, and therefore responsible." In the talk that Jesse gave this was my takeaway. While I think generally speaking this is what people think of when it comes to senior as well, senior carries some baggage that I don't think is helpful, at least with what my goal is. The nice thing about this is that I can make it my goal of becoming a mature engineer without relying on the status at my job of being a senior engineer and even then that will likely follow.
I want to be a mature engineer as soon as possible. Even if my time as an engineer doesn't warrant the status of senior I can work and support my team by working as a mature software developer.
How do I become a "Mature" Engineer?
Taking from Jesse's talk, we are going to want to focus on a couple of things,
- Ownership
- Mentorship
- Transparency
Ownership
For me and for others like me early on in our careers, the big one that I think we can focus on is Ownership. Ownership means that we take responsibility for our work, we get it done (the right things), on time, and with excellence. For me right now, this looks like being realistic with my timelines on what I am working on and not pretending that I am more competent than I am. This allows me to do the work I have well and doesn't put the responsibility on someone else or abandon my responsibilities; it pushes me to grow by forcing me to solve harder problems. When I am able to take ownership for my domain, my domain will have the chance to grow into that of a senior engineer.
Mentorship
Mentorship is interesting because as someone new in their career, it may feel strange to be mentoring someone, but at the same time, there is always going to be someone that knows less than you, and taking the time to help them out is going to help you grow. I think that being a mature engineer also means humility and that recognizing that I have things to learn means that I can be mentored as well and remain teachable even when down the road I am a mature, "senior" engineer. I think this prepares you as well for the days that you do have more to share. Being mentored will help you see how you can help people in your place later down the road.
Transparency
As I reflect on the qualities of a mature engineer, transparency stands out as a powerful tool for professional growth. It's not just about being open with your work; it's about creating an atmosphere of trust and mutual support within the team. So much of this work is about working effectively in a team, being transparent will only help in that process. As someone that is newer in my career I can see this in the sense that if I am open and transparent with how I am doing in the tasks that I am working on and where I am struggling, others around me can know what to expect from me and also help me when and where they are able to. It comes back to humility in many ways. This isn't exactly what Jesse was saying and I think what he had to say had a lot of value as well, but for my current context this is how I am thinking about it.
Conclusion
By focusing on becoming a mature engineer rather than fixating on the title of "senior," I believe I can develop the skills and mindset necessary for long-term success in software engineering. Through ownership, mentorship, and transparency, I can contribute meaningfully to my team and continue to grow professionally, regardless of my current job title or years of experience.