Dear programmers, developers, software engineers, are you feeling stuck in your career?
Are you a coder (programmer, developer, software engineer, and so on) who feels like you are trapped on a hamster wheel, running out of inspiration and motivation to write beautiful code? The one job that you used to enjoy so much feels boring, or worse, painful? Are you wondering if there is more to your career than this?
I am an Engineering Manager who was once a coder like you. And trust me, I have been stuck many times in my career as a developer, regardless of whether I was working in a fancy top-tier tech company or a small and exciting startup.
Each time, I managed to get out of my coding rut by following the exact steps that I will be sharing with you in this article.
This guide covers seven steps to get unstuck as a coder and move your career forward. Follow these steps and you will be on your way to finding your groove again.
Step 1: Assess your current situation
Step 2: Identify your options
Step 3: Set S.M.A.R.T goals
Step 4: Get out of your comfort zone
Step 5: Be at the service of others
Step 6: Take a good break
Step 7: Review your progress
Now, let’s get started.
Step 1: Assess your current situation
Why are you feeling stuck in your career as a coder? Start by asking yourself a few questions. I have outlined some of the common scenarios that may make coders feel stuck in their careers. Some are driven internally, such as wanting to create more impact, while others are driven externally, such as as wanting to be recognized.
Scenario 1: Not feeling challenged
Are you not feeling challenged in your current role? Do you feel like all you do every day is fix bugs? You and I both know that fixing bugs is important to ensure quality of your software or product, but surely there must be more to your job than just fixing bugs, right?
Scenario 2: Not being recognized
Do you feel like you are not recognized for what you do? Do you feel like your hard work is overlooked because not everyone understands or appreciates the technical complexity of the feature that you have just shipped? And every developer’s pet peeve, did the designer or product manager get more credit because it looks nice?
Scenario 3: Not creating impact
Do you feel like you are not making an impact through your role? How does your code contribute to business goals? How can you possibly increase your value for the company that you work for?
Scenario 4: Not keeping up with the latest
Technology is always changing and advancing. Do you feel like your skills and expertise are going to be obsolete soon? Do you fear that you will become unemployable in the near future? Do you want to be learning a different framework or a programming language?
Scenario 5: Not feeling excited
On the surface, not feeling excited might look similar to not feeling challenged. But not feeling excited here means you have lost your love for coding altogether. You are ready to do something different, a completely different role, one that doesn’t involve IDEs and pushing code to your company’s repo.
Once you have identified your needs and wants and understand your current situation, the next step is to come up with options and take action.
Action: Write down your current situation on a piece of paper or in your worksheet (which you can download at the end of this article). If you belong to one of the scenarios I identified, write down the name of the scenario instead of the number.
Step 2: Identify your options
Now that you know what you want, the next step is to look at the your options. You want to know what is available out there and what you need to create for yourself.
This is how the process is going to be.
Look for a problem to solve -> Come up with various solutions and incorporate what you are looking for in your solutions -> Share it with your manager -> Take actions
Just a note here: If you have a good manager, she will appreciate the fact that you are proactive and self-starting. You don’t go to her with a problem or a complaint, but you come with a solution. She might give you feedback or just words of encouragement. And you’re all set.
However, we all know that this is not always the case. Not all managers or companies are supportive but it’s your job to ask first instead of assume. If you feel like you are not going anywhere after you have asked and have given your best, it might be time to start looking elsewhere.
Back to the process: to help you get started, I am going to list a few options for each scenario.
Scenario 1: Not feeling challenged
Create an internal tool
Automate a manual process
Improve parts or all of an existing tool
Scenario 2: Not being recognized
Educate stakeholders and non-technical staff through brown-bag sessions
Invite other people in the industry to come in to speak at your company
Take pride in your work and find opportunities to talk about the ins and outs of what you do to non-technical staff, perhaps at your company’s internal events
Scenario 3: Not creating impact
Get access to data that shows business performance such as a Value Driver Tree (VDT)
Request training from someone in strategy or analytics to teach you how drivers such as increase in feature adoption impact revenue and other outcomes
Improve something that adds value to the business directly, such as making time to market faster by improving release process through continuous deployment, or introducing tools and processes to increase productivity of your fellow technical staff
Scenario 4: Not keeping up with the latest
Dedicate time for learning
Contribute to an open-source project
Create a pet project
Scenario 5: Not feeling excited
Speak to people from different roles or different departments to understand their jobs
Attend industry events and meetups to see what’s out there
Volunteer for unpaid work to get experience in a different role
Action: On a piece of paper or in your worksheet, write down all the options that you have. You may find that some of the options that I listed appeal to you even though you don’t exactly belong to that scenario. None of these are set in stone, so feel free to take whatever option you like.
Step 3: Set S.M.A.R.T goals
Let’s say you have shared ideas with your manager and she is very supportive. You are ready to jump right into it. But before you start taking actions, I’d like you to set S.M.A.R.T goals for each option that you plan to execute.
S.M.A.R.T stands for Specific, Measurable, Achievable, Realistic, and Timely. Without S.M.A.R.T goals, you won’t be able to track or measure how you are going.
Let’s say you have picked the option, “Create an internal tool.”
Imagine that your company does not have a tool to manage leave, and it makes your manager’s job very hard when it comes to resource allocation for various projects.
You can create an internal tool for that: let’s call it Leave Management App. Whether you write it in a programming language that you are familiar with or a new one you’d like to learn is up to you. If you are a pure back-end developer, this might a good chance for you to pick up front-end development too. Or you might want to pair up with someone in your company with a different skill set to work together on this project.
Remember that you will likely be doing this project on top of your normal work duties, so take it into consideration when putting the date of completion. You S.M.A.R.T goal will include the following information.
Action: Write down your S.M.A.R.T goals for all the options. This is also a good exercise to ensure you have given them enough thought and you don’t take more than you can chew. You can use the S.M.A.R.T goal template I have provided in the worksheet.
Step 4: Get out of your comfort zone
There is a very famous saying that goes, “magic happens outside your comfort zone.” There is also an illustration to describes the saying.
I want you to to take a few minutes to look at this illustration and let it sink into your brain.
Now, you want to get unstuck and move your career forward so you feel good again about your career. Most of us spend about 33% of our time at work, so take a little risk with your goals, step out of your comfort zone, challenge yourself and witness the magic happening.
To give you an example, your goal might be to contribute to an open-source project. So you find a small project to contribute to, one you already know quite a bit about and have used it before. You picked that project because you want to have a small learning curve.
But how about if you were to pick a different project which you are not familiar with, one that is written in a different framework or a programming language? I encourage you to challenge yourself, because when you achieve your goal, you will feel incredible.
Another way to challenge yourself is by introducing a stretch goal to your original goal. Business Dictionary defines stretch goal as
That cannot be achieved by incremental or small improvements but require extending oneself to the limit to be actualized.
For example, instead of completing your project in ten weeks, your stretch goal is to complete it in seven weeks, with same quality and features.
Action: Review your goals from Step 3 and either revise them to make them more challenging or add a stretch goal.
Step 5: Be at the service of others
Do you know the number one secret to happiness? It is not money or status or material possessions. So if you think you can get out of the rut and feel happier by getting paid more, getting a promotion, or buying yourself a shiny new gadget, then you are in for a disappointment.
The secret to happiness is giving back and being at the services of others. I once spoke to a developer who has big dreams to live a purpose life through her work and she confided to me, “I am just a developer and all I can do is write code, what possibly can I do to help others?”
Well, she, and you, can do so many things to give back. You can be at the service of others in more ways than you thought possible. Here are some of the ways:
Mentor juniors, whether they are on your team or in the community
Collaborate with others on a non-profit project
Pick up important but sometimes mundane tasks
Invest in your team members’ career development
Improve something that is inefficient, for example, a process, a template, a script
Be generous with your time and knowledge
Volunteer at community events
Be a listening ear to a colleague who is having a hard time
Teach non-technical folks how to do basic technical stuff like checking emails, using Google, and so on.
Help out with important issues at your workplace, such as diversity and inclusion
You might not change the world by doing any or all of the above, but you will certainly have an impact in a few people’s lives.
Action: Make a list of things that you already do to be at the service of others on a piece of paper or in your worksheet. Add a few more things to the list and start doing them as soon as possible.
Step 6: Take a good break
Have you ever been in a situation where you had been trying to solve a defeat for the past three days and you were not getting anywhere close to the bottom of the issue? You had been working really hard at it, even having lunches at your desk and putting your headphones on all day so you were free from distraction.
And then a colleague came over to your desk and asked you to walk to a cafe with her for a coffee break. You’d feel bad saying no, so you stepped out of the office and walked to a cafe with your colleague. When you came back to your desk and looked at your code again, a light bulb went off your head and you pinpointed the root cause, and fixed that defeat in less than an hour.
Do you know why you suddenly uncovered the issue? It was because you took a break. Your brain got a chance to recharge and became active again.
Likewise, if you feel stuck in your career and you are not enjoying what you used to enjoy anymore, it is time for you to take a good break. And it doesn’t have to be a long break. Perhaps a few days to a few weeks would suffice.
Once you have had a bit of time off, you will suddenly have clarity and understand what it is that you want for your next step. It could be the same role, with a few differences, or it could be a completely different role. Once you have clarity, you will be able to move forward with confidence.
Action: Look at your calendar and see when — I don’t say if but when, because trust me, you can definitely do it — you can take a few days or a few weeks off work within the next three months. And then write it down on a piece of paper or your worksheet to make a commitment to take that time off.
Step 7: Review your progress
Review your progress every two weeks or at least every month and ask yourself whether you think you are heading in the right direction. For example, are you still feeling unchallenged? Are you still not being recognized? Has anything improved?
Depending on your situation and the options that you’re exploring, the feedback loop can take longer for certain things, for example, getting recognition, making impact, and so on.
The important thing is that you have to be honest with yourself and answer the question of whether you think you are heading in the right direction.
If your answer is yes, then we are all good. Keep up your good work.
If your answer is no, then ask yourself why. There is an old but useful technique of asking five whys, and I encourage you to do that. It might also be a good idea to reach out to someone that you trust so they can be your sounding board and help you look at your situation from a different perspective.
Action: Set up a reminder in your calendar to review your progress at a regular interval. Also write down the questions that you would like to ask yourself and names of a few people that you might want to reach out to.
You can download the printable worksheet from Career Hub.