How Do You Actually Get Promoted to Senior Programmer?
The typical answer to the question of “How do I become ‘x’?” is more often than not a blank statement that sounds good on paper, but that doesn’t really give you any direct instructions. For example, you want to become a senior programmer? Well then, buckle down and show up daily and do the hard work and you will get there one day. None of that is wrong. You should do all of those things and more every single day. But more than likely you were already doing those things to some degree by default. So, while it sounds like useful advice, there is a good chance that it didn’t help you in any real way. So I won’t be reiterating those concepts here. I want to give real-world steps and processes that any developer can follow and that I myself followed as well in my 20 year career as a software engineer. I’ve been a junior developer and I’ve been a senior developer and the path from one to the other isn’t exactly clear, but there have been common patterns that I've noticed in climbing my way up. Stand Out More To start, if you want to climb that corporate ladder and eventually get that Sr. prefix attached to your title, then you need to stand out in some shape, way or form. People at the top need to know your name, somehow. When you are first starting out as a programmer, this can be very difficult. For one, you’re new to a company, so odds are you won’t be getting the top-tier high profile projects in your to do list just yet. I know I didn’t. At my very first programming job right out of college, the projects assigned to me were essentially the tasks that none of the other developers had time to get to. That involved documentation, preparing reports for meetings, testing and debugging and not much else. I pretty much was under the radar for the first 6 months. And my documenting skills weren’t sharp enough to make up for it. I needed to stand out. At some point during my stay there, a new project began to make its appearance around the office and since all of the other developers were busy with their own work, I was asked if I wanted to take it on. I’ll say now, this was a large project with the CEO’s direct involvement and I would be the only person working on it for the course of 1 month. But it felt like if I wanted to break free of the tedious work assigned to me, that I needed to accept this request. And so I did. You can read about that challenging experience over on my blog here. This wasn’t without risk of course. If you can finish the work in the allotted time and everything goes as planned, then for sure your name will circulate around the office and you might be able to consider yourself an office hero for some time. But if you fall short and the project is late for any reason, or even worse, if you fail to complete it, then your name might still circulate around the office, just not for the right reasons. I personally did manage to finish this project and the company thanked me with extra paid time off and several congratulations from various managers and developers. From that moment on whenever a high profile project appeared on the managers desk, my name was on the list to work on it. I wasn't quite "senior" yet, but the foundation was being laid. But if you think that one month of hard work will propel you to the VIP meetings at your company, then you might still be missing the mark. Not every project will go smoothly and get your name placed on the leader board. At some point, you will miss deadlines or delete a database or bring the company website down. I’ve done all those things, to some extent. So there’s still more work that needs to be done. Be a Team Player Besides taking on more and more complex assignments and tasks in the hopes that managers begin to remember your name, you also need to get your team to know that they can rely on you when things get tough. Like with any partnership, that takes time and work. The best way to show that you are a team player is to actively be a part of your group. That may sound obvious, because it is. But I’ve worked with plenty of developers in my day that would show up at 9am and that would be out the door by 4:59pm without hesitation. They wouldn’t stay to socialize and working any extra time was not in the cards. There is nothing wrong with that of course. We are all free to do as we wish. But when the servers go down at 4pm on a Friday evening, I can assure you that senior developers and lead developers are probably sitting back down to find the issue without hesitation. In my career, I’ve found it incredibly fruitful to be one of those that stays behind to help out (even if you can't). Not only because you might be helping the other senior developers in some small way, but because you also get more exposure to parts of an application that you wouldn’t otherwise get. And it’s that extra supplemental knowledge that really turns someone from a junior into a more experienced senior developer at the end of

The typical answer to the question of “How do I become ‘x’?” is more often than not a blank statement that sounds good on paper, but that doesn’t really give you any direct instructions.
For example, you want to become a senior programmer? Well then, buckle down and show up daily and do the hard work and you will get there one day.
None of that is wrong. You should do all of those things and more every single day. But more than likely you were already doing those things to some degree by default. So, while it sounds like useful advice, there is a good chance that it didn’t help you in any real way.
So I won’t be reiterating those concepts here. I want to give real-world steps and processes that any developer can follow and that I myself followed as well in my 20 year career as a software engineer.
I’ve been a junior developer and I’ve been a senior developer and the path from one to the other isn’t exactly clear, but there have been common patterns that I've noticed in climbing my way up.
Stand Out More
To start, if you want to climb that corporate ladder and eventually get that Sr. prefix attached to your title, then you need to stand out in some shape, way or form. People at the top need to know your name, somehow.
When you are first starting out as a programmer, this can be very difficult. For one, you’re new to a company, so odds are you won’t be getting the top-tier high profile projects in your to do list just yet.
I know I didn’t. At my very first programming job right out of college, the projects assigned to me were essentially the tasks that none of the other developers had time to get to.
That involved documentation, preparing reports for meetings, testing and debugging and not much else. I pretty much was under the radar for the first 6 months. And my documenting skills weren’t sharp enough to make up for it.
I needed to stand out. At some point during my stay there, a new project began to make its appearance around the office and since all of the other developers were busy with their own work, I was asked if I wanted to take it on.
I’ll say now, this was a large project with the CEO’s direct involvement and I would be the only person working on it for the course of 1 month. But it felt like if I wanted to break free of the tedious work assigned to me, that I needed to accept this request. And so I did.
You can read about that challenging experience over on my blog here.
This wasn’t without risk of course. If you can finish the work in the allotted time and everything goes as planned, then for sure your name will circulate around the office and you might be able to consider yourself an office hero for some time.
But if you fall short and the project is late for any reason, or even worse, if you fail to complete it, then your name might still circulate around the office, just not for the right reasons.
I personally did manage to finish this project and the company thanked me with extra paid time off and several congratulations from various managers and developers. From that moment on whenever a high profile project appeared on the managers desk, my name was on the list to work on it.
I wasn't quite "senior" yet, but the foundation was being laid.
But if you think that one month of hard work will propel you to the VIP meetings at your company, then you might still be missing the mark. Not every project will go smoothly and get your name placed on the leader board.
At some point, you will miss deadlines or delete a database or bring the company website down. I’ve done all those things, to some extent. So there’s still more work that needs to be done.
Be a Team Player
Besides taking on more and more complex assignments and tasks in the hopes that managers begin to remember your name, you also need to get your team to know that they can rely on you when things get tough. Like with any partnership, that takes time and work.
The best way to show that you are a team player is to actively be a part of your group. That may sound obvious, because it is. But I’ve worked with plenty of developers in my day that would show up at 9am and that would be out the door by 4:59pm without hesitation. They wouldn’t stay to socialize and working any extra time was not in the cards.
There is nothing wrong with that of course. We are all free to do as we wish. But when the servers go down at 4pm on a Friday evening, I can assure you that senior developers and lead developers are probably sitting back down to find the issue without hesitation.
In my career, I’ve found it incredibly fruitful to be one of those that stays behind to help out (even if you can't). Not only because you might be helping the other senior developers in some small way, but because you also get more exposure to parts of an application that you wouldn’t otherwise get.
And it’s that extra supplemental knowledge that really turns someone from a junior into a more experienced senior developer at the end of the day. I still remember the first time that I volunteered to stay late with my team during a late night deployment. I didn’t do much in terms of the actual work, as I was still relatively new. But I helped where I could with testing and debugging and people remembered me more for that reason.
This ties in to what I mentioned earlier as well. The more your name circulates around the office, the more opportunities that you will have when it comes to taking on projects.
Jack of all Trades
And lastly, a senior developer has to have a substantial amount of knowledge in a wide range of areas, not just programming in a specific language. This includes database management, server management, fundamental networking concepts and even project management skills. And that right there, takes time.
I personally did not get any real server management experience until my second job as a web developer. During my first job, a dedicated system admin handled most of those requests and I wasn't allowed near any server.
I did however spend a fair amount of time working with databases during my first job. And because of my experience with database management and reporting, I was frequently brought in to different departments at my second job to help fill in the knowledge gaps where I could.
I was also fairly skilled at ASP.NET Deployments, due to my first job being .NET heavy. And this knowledge made me a fan favorite at my second job, where most developers were working with PHP and Apache.
All to say, that the more experience you have in different facets of software development, the more visibility you will have in a company setting.
I started off this article by stating that buckling down, showing up daily and doing the work is essentially a must for any kind of career growth, but that few people actually explain what those words mean.
I hope that I was able to convey a bit more meaning behind those often spoken phrases that we hear so often.
In this particular case, it means taking on more complex projects whenever possible, risking looking bad if things go south and helping out your team as often as you can in order to help both them and yourself. And more importantly to learn as much as you can during those critical early years.
If you follow those steps, inevitably the senior prefix will get associated with your name and once that happens it’s yours to keep for as long as you work in this field.