Suppose computer programming were becoming obsolete. How would we, as an industry, reconcile the immediate demand, yet dubious long-term career prospects, for software engineers? Could we avoid the heartache seen in other industries?
💡For the record: Computer programming is absolutely not in any danger of being obsolete, though demand for particular technical skills continues to wax and wane.
Consider a similar issue already confronted by tens of thousands of small businesses called coffee shops: Demand for baristas long outstripped supply, because working at a coffee shop was not seen as a smart long-term career move. Hiring good baristas was tough. James Hoffmann addresses this brilliantly in his short talk Coffee is a Dead-End Job. Possibly the best way to retain solid technical staff—be their medium coffee or code—is to offer them skill sets that will remain relevant down the road. Those skills are often non-technical.
If you’re an executive responsible for engineering staff retention, make sure your techies understand how your business actually works. Have your C-level team give regular classes and briefings on your company’s finances, business and marketing canvases, compliance concerns, and whatever other exposure might help individual contributors see the big picture. Provide resources to help acquire evergreen skills. Ironically, the best way to retain engineers is to do all you can to turn each of them into a potential competitor.