Going back to many years ago, when I first became a Software Manager, I was surprised (shocked) in the steps I went through in going from Developer to Manager.
Many times I asked myself questions such as;
- Why’d they pick me?
- Am I doing this right?
- Should I have started earlier?
- Is everyone laughing at me?
None of which I could answer then because I didn’t know the answers to them and for the most part they didn’t exist. Software Leaders are an interesting breed because we are essentially promoted into the position because we excel at being great coders – we DELIVER – we get things done and we make things happen. The next logical step is to see if you have the – DRIVE – to get yourself and another group of people to the same location but delivering an even bigger piece of software that can only be done by a team.
We’ve all had the conversations that go like – “You have a $500K budget for this project, why don’t you give me half and I’ll go into a cave and do it myself, burn myself to a crisp doing it and hope it lines up with your requirements and you’ll save all that money and not need to deal with more people as a result.” – and sure this is a valid question, but it’s not a question that will have an answer that will generate long-term GROWTH for you (forget the company, we’re talking about you). It will burn you out or give you a bad name in the process.
In thinking of all the challenges that go into Software Development, I started to write them down, identifying the behaviours that go into being a successful leader, where they begin and how.
To be a leader, whether you’re leading a team, a project, a customer fix, a performance test in QA, a trial delivery, etc, etc you don’t need to be overtly charismatic, an extrovert, the first person who puts their hand up for everything. You need to show the INITIATIVE in that this is something you want to do. LEADERSHIP isn’t an overnight deliverable, it’s not something that happens all at once and it’s definitely not something you are going to get right on your first time.
But where do you start?
You start with your code, you start when you are cranking oodles of goodness to production, when you’re the key to it all, when you’re comfortable in what you are doing. You start by executing all the behaviours highlighted above so that when you do get there, you’re ready for it and it’s not so much of a grand announcement, but a natural progression for which you have prepared for your entire career.