What is the real value of your career, and what is the best way to manage it? This question, which frequently arises when someone has left their teenage years behind them, is the central theme of many movies.
‘Trading Places’ (Landis, 1983) supports the idea that your current role is more the result of the culture of the business world than of your personal qualities and work ethic, meaning that any of us could easily be replaced by an inexperienced outsider.
‘Nosedive’ (Wright, 2016) suggests that our quality of life is generated entirely by social status (rather than by our qualities), which can easily be faked, to both positive and negative effect.
Both movies explore the same question: what happens if you are not relevant for what you (think you) can do?
Leaving behind these fictional metaphors, how do you ensure that you remain relevant at work after you reach a certain age? Age and experience are not the same, as we discussed in this articles about ageism in tech, but there is a common perception that a developer’s career is over after 40 – or possibly even before that.
If you love your job and don’t want to change stack, it’s possible to get a job as long as you know how to do it. Stay up to date with the latest advancements in tech and languages if you want to stay relevant.
It doesn’t matter if you are replaced by someone younger: what you have to work at is not to be replaced by someone more experienced. That’s truly how you can bridge your senior developer career to become a CTO.
Who is a senior developer?
A senior developer, sometimes referred to as a software engineer, is the leader of a part of a project, or the project as a whole. The tech lead of the development team, the senior developer normally reports to someone in a more senior role, such as a program manager or software architect.
A senior developer is usually chosen on the basis of having the necessary technical competence and being able to meet strict deadlines. The role also involves dealing with high-pressure situations within the team and mentoring junior developers.
A senior developer can code in more than one language and has accumulated extensive knowledge of the software development process, including the design and implementation phases.
The senior software developer participates in the design phase of software projects, and will subsequently implement the project, plan the development phase, write code, test it, and analyze the processed data to ensure everything is in the correct place.
A senior developer is a rewarding position that could be held throughout your working life. If you are considering a change, you need to ask yourself some important questions about your job.
Questions to ask while you’re still a senior developer or a tech lead
You are about to turn 40, or perhaps older, and are concerned that younger or better-qualified people may take over your role. At the same time, many people around you are likely worried that you will take their place! If you are thinking like this, you are probably considering a wider perspective, so ask yourself some simple questions:
- Do you need a change?
- Do you still love coding?
- Do you want to make a career jump?
If you are around 40, you may need a serious change. You need to be sure that you want to continue coding because ICT requires a degree of continuous learning that could become too great a burden after a certain point. Maybe you’re clever but coding is no longer your #1 goal when you become sick and tired of coding.
Do you still love coding? You need to maintain your standing as the team expert in two or more areas (one or two languages, frameworks, testing…), dealing with new issues every day.
If you don’t want to change the industry and are still confident of making a difference as a senior developer, but feel constrained by the situation, then you probably need to make a career jump. Consider this point carefully, because even in your forties you’re still very young and the next few years could involve not just one next step, but two or three.
A software developer career jump to CTO and beyond
So you want to change your job, but stay on your current career path. You are currently a senior developer or software engineer, and the junior developers are lurking behind you. Beware of job titles, but consider job descriptions carefully. The next step could be becoming lead developer or a tech architect.
At the upper levels there are directorships, and then Chief Technical Officers. The CTO role is often a stepping stone to becoming the CEO, but that is a completely different role from that of a senior developer: let’s assume – for now, at least – that you don’t want to be more than a CTO!
There are three levels above you. A new role elsewhere will demand improvements in one or more of the following skills:
- problem-solving (usually other people’s problems!);
- conflict avoidance/management;
- strategic movement.
You will already have demonstrated the capacity to fix somebody else’s problems, as well as to manage conflict inside a technical environment. However, the bigger your jump, the larger the problems and conflicts you will encounter.
Think of coping with the constraints imposed by complex personal issues between people who don’t work on the same team; that is a common scenario for a tech architect to encounter. This sort of conflict also occurs between team members from different departments (operations, human resources, administration) when you are a director or CTO.
Finally, consider the difference between being a tactical problem solver and a strategic manager. While a senior developer is a master of tactics, a CTO is a master of strategy: the role demands avoiding conflicts even before they occur, and thinking not just one, but three moves ahead.
Overestimating your tactical ability and trading it for a strategic perspective is a very frequent and sometimes dangerous mistake that will affect how successful you are in your career.
Which of your skills do you feel the most confidence in? You can now choose your next step, but it would be wise to first consider your final goal. Finally, don’t outrule the possibility to ask for career advice.
Who is a CTO?
There is a fatal attraction for a senior developer towards the CTO role. This is a much broader role that needs a very different skill set – less about technology and more about human and asset management.
A CTO is charged with leading a company’s focus on technological issues through strategic management: this is a broad deﬁnition, but also comes closest to the truth.
ICT is only one of several technologies: it is the primary focus for ICT-related companies but also an infrastructural necessity for companies working in all other tech industries (energy, space, materials…) and for many companies that have no direct relation to tech at all.
As CTO, you need to wear two hats – those of both the technical lead and the operational lead.
A small start-up or software-focused company in its earlier stages is the most likely place to encounter the Technical Lead-CTO. S/he is able to balance the right amount of lead architect, developer, solution architect, engineering lead, team lead, and business driver.
Their focus on these responsibilities is heavily biased towards the current technical output of the company and to make decisions on technical matters in the best interests of the company.
Coming from the senior developer role or from any strong technical background carries a software-driven approach, including discussions with the engineering teams and often, writing code. This can be a good thing if you want to be a tech lead, but it’s a serious mistake for a CTO.
A step forward along your career path is likely to produce deep changes in your view of software development and technology. A higher level of technology has to be kept under control when performing operational tasks: you are leading your company’s technological strategy and direction.
Responsibility for required improvements to operational activities, depending on the dimension of your company, lies with the CTO.
A long path leads a CTO far from ICT and other technologies.
On the other hand, Operational Lead-CTOs in large organizations and corporations may have a management background without a technical basis.
It’s time to make a choice
Your next move could keep you at your current company, or take you to a new company. If staying in your current company, you could ask to be a tech lead whilst looking around with a view to becoming the CTO.
You should definitely choose a move to a new company if you feel uncomfortable with the people who manage you, or with the planning model you have to comply with. You should probably consider remaining a senior developer if you are changing companies.
Nonetheless, you may be able to prepare yourself to qualify for a higher position such as tech lead, or even CTO.
This move could require preparation in the months before you start to look for a new job. Make sure you are visibly present inside the communities that may refer you, not only in technical areas but also on managerial or inspirational sites.
You should participate in more online and offline events, comment on work by others, and present and promote your own work to make yourself more visible outside your current company.
Staying within your current framework, or moving to conquer a new kingdom are the two best ways to cope with a jump when you are a senior developer of 40-plus. Alternatively, you could quit the professional side of the world of coding altogether.
Start your own business with a software developer company
There is one final way to manage the next step in your career – starting your own company. Now is a great era for start-up companies all around the world. Financial and economic crises all have something to contribute to “the digital transformation” of the world. This frequently means that new companies are created from scratch to take the place of large pre-existing companies and corporations.
Funding is becoming more effective and closer to the business, while inter-regional collaborations can improve your results significantly if your business idea is excellent. Be prepared to carry out a million different tasks a day, the opposite of the predetermined life you had as a software developer.
Do you want to start your own company? Think about the core business idea, not just a business plan. Choose your associates and staff wisely. Be prepared to compete with many young CxOs and play them for the win.
Whatever you choose, your next career step is unlikely to reach as far as your final destination. Even if you fail, you’ll have accumulated the experience you really need for your next, and perhaps final, big move.