A True Story
Years ago I was working on a large, complex Java application for a medium-sized software company. In the middle of the project's chaos, one of our engineers shone out like a beacon. She estimated tasks accurately, she always made her deadlines, her design was imaginative and efficient, her code was elegant, and her testing was impossible. If they offered MVP awards for software, she would have won it unanimously. After the project was released, our director rewarded her with a large bonus, a corner office, and a hefty promotion to project manager. Within six weeks she had found a new job and turned in her notice of resignation. When I asked her because she was leaving she told me, "They rewarded me for doing my job well by taking me away from everything I love doing."
Sometimes Sideways is Upward
Engineers do not think of "career paths" in the same way managers do. If you ask an engineer about her career path she will look confused and give you a vague, ambiguous answer. But if you ask her, "What would you like to do at the end of this project?" she will probably have a definite, well-though-out plan of exactly what she needs to do next. She may ask to work on the next "green fields" project, or to work with a group of engineers that she respects, or to work on a project that uses the latest technology. These are the elements of an engineer's career path: getting larger challenges, working with smarter people, and staying current with the next technologies. In comparison with these, titles, bonuses, and perks do not mean that much.
How to Promote a Programmer
So what do you do when an engineer has clearly outgrown her current job and describes a position that gives her more scope to excel? Rule number one is, Do not surprise her. You should be having frequent conversations with her about her plans and goals, and the promotion should come naturally out of your discussions. Rule number two is, Ask her what she wants to do next, and pay attention to her answer. Do not assume that you know what is best for her career, or what challenge she needs next: at most you might give her some coaching to help her think through her next steps. Rule number three is, When she tells you what she needs to do next, find a way to make it happen. You may have to get creative with assignments, and you may have to bend some of the rules, but you need to start a process for putting her into the position she has chosen.
How Tall is Your Technical Ladder?
Most engineering companies now claim to have "dual career ladders," meaning that employees can either either as technical contributors or as managers; and from time to time you really do need to promote engineers, in order to give them the salary they deserve. But what do you do with a very senior engineer who is already in a Director-level position, and describes another promotion? Do you have another rung on your technical ladder, or must she switch to management in order to be promoted to VP level to claim those rewards? If it's the latter, go back and re-read my true story, because that may be the reason she decides to take her career elsewhere.