It’s time for “business” to understand “tech”, or more importantly “technologists”, and what makes them tick, what makes them successful, and most importantly how to use them effectively to advance your business.
This is an HR (or growth) topic that has been one of my major pet peeves in the technology management arena since my days working for the New York State Division of the Budget (DOB). As a state agency, we were strictly governed with regard to positions, titles and salary ranges. At the time (I left civil service nearly 10 years ago), the only way for a skilled engineer, developer, system administrator (aka: technologist) to advance through the salary scale was to enter the management ranks. (that may have changed, I’m not privy)
This led to a lot of really good technologists being promoted to really bad managers.
So, the public sector is just crazy with regards to their advancement system. I think everyone knows this … but when it comes to technology, there are aspects of the system that permeate the private sector. (and yes, even the small, agile, fast growing start-ups. Especially them!)
A recent post from @katemats about why CTOs shouldn’t code at work raised my neck hairs. Not because she’s wrong, but because her overall concepts are in line with my thoughts. But I have thoughts from a slightly different angle, that is worth more (IMHO) than a comment on her blog.
When and why should you promote?
As I mentioned above, in civil service, and far too often in business, the only way for technologists to advance up the payscale is to enter into management. This happens when a development team is beginning to go through growth pains, or a startup has launched their product and are looking for funding or simply want to appear like a “real” company. “Someone” has to lead this rag-tag group of rebels, and more often than not, it’s the most skilled technologist.
In nearly every other aspect of business, this might make sense. When it comes to technology it is one of the worst thing you can do. If you want to reward your most productive developer, don’t do it by adding more to their plate that they really aren’t good at. Just pay them more for doing well what it is that they do well.
… but if you are writing code at work with a title like CTO or VP Engineering then you likely have the wrong priorities, or the wrong title (yes, I am talking to all the CTOs that are really just senior engineers with fancy titles). Kate Matsudaira
When you promote your best technologist into management roles you have doubly hurt your business. Your best developer is no longer 100% focused on development, and the person you’re expecting to lead or direct your technical department is more interested in developing than in strategy and vision.
Senior Developer is a critical role on any engineering/development team. This is the person who has the technical chops to get things done. Your Senior Developer is a leader; they lead by example, provide mentorship, run code reviews and teach the other developers. And they are doing it all with the sole focus of providing the most technically sound performant product. This person isn’t distracted with personnel reviews, or executive meetings, or how to grow the business. They are growing your business through their productivity, and that is very very valuable to your business.
Technical Executives are a unique animal
And what if your most technically sound developer does have an interest in strategy, business and vision? Then you have a technical leader for your upper-management structure, Director or Executive level. And is is where Kate’s article comes in. Once at that level, a technologist must be solely focused on how their technical prowess can drive the business forward, not on being the hero developer.
Nothing I’ve said here should be construed as ways to prevent advancement into management roles for technologist who are qualified and have a desire. As a company grows you need technically proficient leadership. Having someone who has those skills and has business sense is critical to your success, and they’re very hard to find. Never say “I can’t promote you, I need to you do the coding.” You can find another senior developer.
And for developers … know what it is you want. Don’t let titles (and the associated responsibility) or worse a title in lieu of a raise commensurate with your skills draw you out of your comfort zone. If want you want to do all day is be heads down writing code, testing code and exploring new APIs know damn well that you are a very valuable member of the team. If you want to set policy, define business practices and be a public face of the company, be ready to give up the development time at work, because you have to focus on building the business and most importantly the development team that will be heads down writing code, testing code and exploring new APIs.