The “how to land a position as a technical manager at another company” question doesn’t seem to provide any obvious, nor practical answer, at least to me. Thinking of technical managers who I personally know I realise that there are about a gazillion ways of becoming one, some of which seem to do more with luck rather than a fail-safe method. One thing for sure developers don’t seem to morph into managers automatically as they grow older. Notoriously there is also chicken and egg problem with the management experience needed to get the job.
Instead let’s approach the problem from the other end by asking “why do companies hire technical managers externally”? Is there anything in you currently that you could use to substitute for much needed chicken or egg (depending on the side you take in the debate)? Here the answers are a tad more obvious:
- The company ran out of capable people they can promote internally to do the job.
- No one internal wants to do the job.
- There are both capable and willing people within the company, but they need someone above all loyal to the hiring manager and can be trusted (for reasons possibly involving unpopular things such as lay-offs, off-shoring and re-structuring).
Hence from the point of view of whoever makes the hiring decision you need to appear as capable, willing, loyal and trustworthy to land the job.
Loyalty and trust are the easy ones. New hires as a rule are loyal to whoever has hired them. Who you know or who you have worked with in the past can help here a lot as well.
The qualities of willingness and ability to do the job however are not quite clear and best answered with yet another question: what do technical managers do?
Managerial job boils down to the same things developers do: creation, maintenance, support, fixing, monitoring and troubleshooting of complex systems. Just when programmers deal with the systems primarily made of software, hardware and data, managers work in the domain of systems concerned with people, money and ways of doing things.
The practical implications of this difference as far as willingness concerned is that manager needs to be comfortable dealing with people, large sums of money and processes. Companies are not interested in managers who’re simply willing to do the job because it pays well, but rather these who know and understand difficulties of the job and then still genuinely want to be doing it.
What abilities are necessary, apart from the basic politeness and charisma which are fundamental to dealing with people? It’s evident that in case company doesn’t have any more internal people capable to do the job it’s because they either exhausted their pool of potential managers, or they want things to be run significantly differently from the way they are now. If the former is the reason all you’ll need is to be skilled as a manager, i.e. know how to handle different aspects of managerial job. One straightforward way to obtain the initial skill is to get some training.
However when a company is looking for someone to come and change the way things are done that’s where it gets interesting. The development might be done using COBOL and Waterfall but they would really want someone to help make a transition into C# and Scrum, or just migrate onto a new version of COBOL. Or their support cannot cope with the flow of bugs and requests and they need someone to organise the operation and up the quality without increasing the head count and spending too much extra money. Or the company plans to go into the mobile software market or car insurance industry and not sure how. In other words something that you consider to be common knowledge might be exactly what they are looking for as long as you’re able to establish and run a new system of doing thing for them.
Granted this kind of experience might be not valuable enough to land a technical manager job with a well-known name or company large enough to offer a compensation package that will put Steve Ballmer to shame. But sure somewhere on the market there is a company that will be happy to accept hard work in exchange for the ability to get the initial experience.