Recently, I met a developer who was frustrated. This web developer had been programming and developing websites for nearly 10 years, but admitted he was having a very hard time keeping up with the younger faster developers that knew the new languages.
It’s not really about age, but about the ability to constantly learn new languages and skills in order to stay competitive in the environment. The last thing he wanted to do as a web developer is get stuck doing production work, or maintaining a system someone else had already built for him.
I suggested that he should probably look at expanding his business skills, to grow beyond being a ‘code monkey’ which would lead him beyond tech lead, into program management and eventually strategy.
What specific steps did I tell him to take?
Start reading books on web management and process management Understand how the software fits into the greater scheme of the business, department, or company Expand and learn more about user experience research Grow a network by adopting social media to learn, discuss, and market oneself Lead projects: develop needs, do research, develop plans, create feature function reports, and feasibility reports, learn cost/benefit analysis Lead programs: manage a business program (where software is the core) and manage it like a profit and loss, become an integrated part of the business. Practice presentation to business managers and stakeholders Engage business teams in meetings, training, and lunch
Ultimately, he should be able to move into a more business role, where business and customer needs are always present (and hopefully, with greater compensation and opportunities). Since strategy is always needed, and armed with a strong technology background, he should be able to move into a position that requires less time to re-invent a new language every other year.
Do you have suggestions for him? What should he do to avoid the developer recycle shuffle and move up the food chain?