Last weekend I tweeted
As, Paul’s post highlights, CTOs come in many shapes and size. Curiously, most of them are non-technical. However, here I am talking about technical CTOs who can head up technology in a company with 50–200 employees. Someone who can manage several teams, stakeholders and contribute to the success of the company as a whole. These companies have usually raised several rounds of funding or have strong revenue and are now looking to grow.
So where is the problem? The answer lies in the bimodal compensation in the London developer market. So what exactly does that mean? Developer roles in London come in two types. Permanent and contract.
Permanent, that is the traditional employment model. You get paid once a month, get 30 days of holiday and maybe a small bonus for a job well done. Pay is typically in the £35k to £80k bracket and rarely goes higher. Here is the catch: there is nowhere near enough permie developers to go around for all these roles. Therefore, if you have money and software that desperately needs writing you’ll need to get yourself a contractor.
A contractor gets paid by the day. There is no holiday pay, no bonuses and legally a contractor is outside of the organisation. That means no obligation to perform duties outside of writing software. Even showing up on time is not required if you are following the IR35 rules the government uses to define contractors. The pay for contractors to some extent depends on skills and experience, but tends to be in the £400 to £700 per day range.
Let’s look at some charts now. I have pulled the data for permie and contract React developers in London from IT Jobs Watch. Let’s convert the day rate to annual salary and compare them.
Why the difference? Permie pay tends to be set by the company according to their internal politics. That is they cannot pay developers several times more than they pay other professionals. Companies need to maintain a balance and distribute scarce resources evenly. Otherwise accountants will get upset about developers with Ferraris, while they have to squeeze themselves onto overcrowded trains. However, we have established that there are simply not enough developers to around. Software still needs to get written and features shipped to keep investors and customers happy. This is where companies get forced to hire contractors to get things done. In the contract market rates are set by supply and demand. If you want quality you’ll need to pay the going rate.
Most developers have wised up to this discrepancy. Once you have a few years experience, you can simply hand in your notice and email a friendly contractor recruiter. That email will take your gross pay from £60k to £500 per day (£120k pa). That works out as a 2x increase. Not bad for a single email.
Let’s get back to our CTO drought. To become an effective technical CTO, you need to understand tech better than most. You will need to be able to manage stakeholders. You will need to keep your staff feeling happy and supported. You will also need to carry the responsibility for any mishaps. By the way, a serious mishap could lose you your job and hinder your ability to get another one. How much do these roles pay? Somewhere between £90k to £120k. Slightly less than an average contractor, but with much more pressure and higher requirements.
So how do we resolve this predicament? First of all companies need to start thinking about their developer pipeline as a whole. Step one: start hiring juniors.
What’s that I hear you say? You don’t have time to train juniors? You hired a junior once and they were terrible?
Realise that a junior developer is not a unit.
I run a school which trains junior developers. I have a room full of people with a huge diversity in backgrounds, interests and abilities. Some are still getting used to programming while others are blazing ahead. The one thing they have in common is their passion for learning and growing. The right support will turn them into solid developers.
So how is hiring juniors going to help your quest for CTO?
Your senior developers need time and practice to grow into that role.
To do that they should be exposed early to the kind of problems a CTO needs to be able to solve. Not just the technical skills, but also soft skills and organisational chops.
One of the best ways to learn is to teach. Nothing will expose gaps in your knowledge as fast as having to concisely explain something.
The function of leadership is to produce more leaders, not more followers
- Ralph Nader
Ten years ago I worked for a hedge fund. My boss there set his staff the same three tasks. Two were job specific, but one was to constantly improve the process and ensure other team members were learning from you. Simply put:
If you are not making others on the team as good as yourself, you are not doing your job.
If you are a whizz at React and others struggle to understand the difference between state and props, it is your job to fix that.
If you want to grow the next generation of technical talent you need to develop a mentorship culture. Not only will juniors learn faster, but seniors will grow as well. They will gain confidence and ability to rise to greater challenges. If you get this right than maybe your CTO will not be under enormous pressure, because they will have a capable team supporting them.
Here is the best bit about growing your talent: your seniors will feel greater ownership of their team and product. They would have developed their own talent and will be very reluctant to leave them behind. It will take much more persuasion to peel them away for more money. Not only that, but by they time you will be looking for a new CTO, you will have a pool of ready candidates in front of you.
A developer is not a machine which takes in coffee and outputs code. They have dreams and ambitions. You can play a role in fulfilling them or they can do it elsewhere. Just keep in mind that you need them more than they need you.
So next time someone at your company says “We don’t hire juniors”, think about what that says about your company. You are competing for the same scarce and expensive developers as everyone else. You can either try to pay your way to the top or you can start nurturing your own future leaders in house.