Goal setting always seems to be the number one trending topic at the start of every year. Regardless if you are a coder or not, January is typically the trigger that makes most people sit down and consider what the next steps in their own personal evolution should be.
On paper, this all sounds great, however, when faced with unlimited options and potential career paths, simply thinking of some goals that you find motivating can be rough. If the only outcome of making a list of goals is simply to make you feel good for a few days, but, you never feel inspired enough to take action on them, why waste your time?
As a developer, when you look at yourself in the mirror are you a better developer now compared to a year ago? As you are searching Youtube for videos on how to help better yourself in the craft of development, I guess most of you will say yes... however.. let's make this a bit harder. how much better do you think you are? 5%, 10%, 20%?
What would happen if I challenged you to improve your dev skills by a higher percentage next year compared to this year? What would you do? What videos would you watch? What books would you read? What new language or frameworks would you learn? This premise is the basis for this article, so if you are up for the challenge to push yourself, read on 🔥🔥🔥
If you are up for this challenge, the next step is to put your future intentions into writing. There are countless videos on productivity systems out there and it will take you a mere few seconds to find hundreds of videos that will promise to explain the optimal way to write goals day. The harder information to find, is what are some good goals for developers?
Personally, I find that coming up with some ideas for my New Year coding resolutions, which I also find exciting and motivating is very hard. Once I commit to doing something, I tend to find that figuring out the steps to accomplish that goal is normally easy enough, however, being able to solve problems doesn't help answer the original question of what should I be aiming at in the first place.
When discussing goal setting for programmers, I find it helps to define a single overarching theme to focus on within the upcoming year. Trying to commit to improving in multiple areas, never seems to work out well for me. After you define your north star goal, you can then break that down into smaller tasks much more easily.
For programming, I think there are three main categories where you might want to focus your energies:
Level up your practical skills: If you are just starting out on your quest to learn how to code, this is probably the area where should double down in your effort for the first few years of your career.
Skill improvement will broaden your knowledge and experience in a certain technology. When you focus on improving your skills you need to ask questions like what new programming language or framework should I learn?
I personally find when setting these types of goals to try and be s specific as possible. For example, what does learning React mean? If I can build a single functional component is my job done? To help you reach a slightly deeper level when writing your goal down, it is better to express your goals like this:
- Learn x modules from x language or framework
- Become the recognized subject matter expert in your company about x
- Get officially certified in x
- Complete an online course in x
- Read 3 books in x
Define your career path: After you have been coding for a few years you may want to focus on other goals asides from skill improvement. At a certain stage throughout your career, you will want to consider the direction that your life is headed.
When you start focusing on goals within this category, the process might take weeks, months, and often years to find the correct answers. There are so many paths you can take in software, for example:
Do you want to code all your life? If so contracting or freelancing might be something to consider.
Do you want to manage teams and help influence younger developers? If so, management comes with its own set of skills.
Do you like talking with clients, if so software sales might be the right path for you.
Do you hate having a manager telling you what to do? If so, owning your own business might be the better route for you.
This is obviously not an exhaustive list of everything you could do in your career within the software industry. The takeaway is that each one of these paths comes with its own set of skills to master. After you define a clear trajectory, usually there will be some obvious next steps you can take.
Unless you are going from a more junior role to a more senior developer role, the tasks and skills you need to learn in this category will not just be technology related. Tasks might include communication skills, learning to set up a business, learning to give a killer sales presentation, etc...
In this category, common goals that you might write down include:
Manage a team: Managing a team of people generally means less time coding. Instead, you will be spending more time focusing on project and people problems. Management is not for everyone and that's OK. If you want to get into management, the best bet is to tell your current manager about your ambitions and then ask them how you think you can upskill to get there.
Earn a promotion. Being a bit broader, maybe you don't want to be a manager, maybe you just want some type of promotion. Maybe you feel undervalued and you think you deserve more money, or, you want greater recognition. Getting a promotion is often easier said than done. One issue with promotions as a goal is that no matter how hard you try, you might never get there in your current job. All companies are hierarchies, maybe the only way for you to progress is when someone else progresses or quits. If you really want a promotion, for some, finding a new job in a new company might be your only option.
Just because getting a promotion is outside your influence, that does not mean it is a good goal to have.
"shoot for the moon, and if you miss you will still be among the stars". Bleh... - Improve soft skills. Here you might want to learn how to feel more confident giving presentations, increasing your professional network, or learning how to market yourself more optimally.
- Work for a prestigious tech company: For some folks, a goal might be to work for a massive tech company like Facebook, or Google. If this is you, you could go on Youtube and research how to prep for a job interview and practice! Regardless of prestigious or not, getting good at job interviews and job interview projects and questions are good skills to focus on!
Level-up your happiness: This category is an often overlooked camp. The average developer will spend 19.6% of their total waking hours in life doing a job!
Yes, it can be great working towards a promotion, however, if you work in a toxic work culture, or, you do not like the people that you work with, it is not likely that you will magically have a more enjoyable life by simply progressing where you currently work.
If you want to focus your next year on simply becoming happier, tasks in this camp could include:
Getting a better work/life balance. Maybe you want to work remotely full-time? On the flip-side, maybe you feel isolated working from home and you want to find a job where you can work in an office 5 days a week?
Work on your bucket list project or a side hustle: Sometimes getting more enjoyment from coding can be doing something as simple as working on something that you feel passionate about. Maybe you have an idea to create a new open-source project, a blog,
Get out of programming altogether: In the majority of places where I have worked throughout my career, there always seems to be one or two developers that seem like they just turn up for a paycheck. These folks only do mediocre work and don't really care if the end code is any good or not. The love for the craft of code in these folks is weak or has been completely distinguished. If this resonates with you, maybe your next big motivating goal is to try something completely different
Start a business: Being your own boss comes with its own challenges and rewards. Maybe you hate being told what to do. For some putting your money where your mouth is and starting a business might be the cure to make you happier in life. One word of caution I would stress for 2023, there is a lot of talk about recessions and IT job cuts at record-breaking levels for next year.
There will be more risk in starting a business next year compared to a few years ago. I'm not saying this to put your off, it just means that if you want to go this route you need to plan it in more detail! The other way of looking at it is that if you can succeed next year, you will have a much better chance of becoming REALLY successful!
- Level-up your health: It's well known that if you are unhealthy your mood can suffer. One way of leveling up your happiness is to set some health goals. I don't want to give the cliche of simply joining a gym, as most people fail at this. My personal recommendation to get a bit healthier is to buy a Fitbit and commit to doing 10,000 steps a day, or, simply track your calorie intake every day. Monitoring what you eat and setting a target will likely surprise you at how powerfully it can change your eating habits!
After all these ideas, if you are still struggling with ideas, these are three good resolutions I have personally undertaken and found a lot of benefit from:
- Complete the 100 days of code challenge. In the 100 days of code challenge, you build something new every day for an hour for 100 days straight. Improving any skill is done by intentional practice.
This challenge will force you into pushing yourself to learn something new daily. I have no doubt that if you took on this challenge and did it every day, there is no way that you can not get better! You can see how I got on with my challenge here
Read at least 5 of the best-rated programming books of all time. You can find a list of the top ten here
Build a Stackoverflow rep of x (1000, 10000, etc....): I started this goal in 2021 and then gave up on it, although I did learn a lot. The great thing about committing to a Stackoverflow goal is that you will need to research answers based on questions that you will likely not come across in your day-to-day job. This is a perfect way to learn new things and get feedback on your understanding of topics as well!
Write a book on programming. Undertaking the research required to write a book will guarantee that you will learn stuff!
If these three ideas do not float your boat, I find that reading other people's goals can also help me find inspiration. To help you with your journey, here are my goals:
Grown this channel by at least 1k. I will do this by releasing a video once every week. Within the next year, I want to use 4K video and switch to using Final Cut Pro!
Read The productive programmer, Code metrics, writing solid cold, and practical VIM! I brought all 4 books online for 20 bucks and I'm committed to reading/skimming through all these books next year!
Finish the book I'm currently writing on Contentful book (find out more in the link below)
- Write a book on Optimiely CMS
I hope you have found some inspiration in this list. If you commit to getting 20% better, define a plan and implement it, just think where you could be this time next year. Happy Coding 🤘