If you’re a software developer? You’ve picked an awesome profession.
There’s so much growth to be had as a programmer. You can make great money either just coding or being a software engineer. Your options are limitless.
But… that wealth of options can also be overwhelming.
Where do you even start?
Problem #1: You don’t know which goals to set in the first place as a developer
There’s different directions you can go in with your goals.
And there’s different types of goals.
- Language goals
- Career goals
- Personality goals
- Money goals…
Which goals make most sense for you to set?
Which can you realistically achieve?
Which should you attack right now – and which should you leave for later?
Which goal will get you the most money and success when you achieve it?
Problem #2: ‘Programmer Goal Overload' has you confused and unfocused
Are you suffering from too many goals at once – a.k.a. Goal Overload?
My goal here is to give you some structure. So you can pick the right goals.
So you’ll actually achieve them.
It’s fun to think about all the possible goals and fantasize how great it would be to achieve them.
But if you can never give enough focus to any one of those goals – because Goal Overload has you stuck – how does it help you to keep thinking about every potential goal out there?
Goals are great, though. I’ve successfully used goal-setting to achieve a bunch of stuff:
Your success as a programmer – whether it be becoming a software engineer in the first place, moving up the career ladder, writing the best code, making lots of money – I want to help make all of that simple for you.
You start by mastering setting goals the right way.
Let’s dive in.
The 4 Pillars of Powerful Programmer Goals: The Fulfilling Future Exercise, Infinite Improvement, The Non-Stop Value Formula, Powerful Habits
How do you advance your career most effectively? You do that by first setting goals that make sense for where you’re at and where you want to go.
Here are the 4 types of goals you need to have for maximum impact, money, and happiness as a programmer:
1. The Fulfilling Future Exercise
The key to success in life is to be fulfilled with the work you’re doing each and every day.
Do you get excited about writing gaming code for 8-10 hours on a Monday and then repeating it for the next four days? Or are you passionate about the thought of working on machine learning systems at Amazon?
What type of work (that you’ve had a taste of, or KNOW it would be perfect for you) excites you the most?
Visualize your ideal life as a programmer.
You’re spending most of your working day doing your favorite activities. Of course even those aren’t 100% enjoyable. They might be quite tough actually. But they allow you to express your gift, have maximum impact, and give you long-term fulfillment.
After you’ve created the idea of your optimal developer lifestyle, strive to get closer to it every day. Set intermediate goals on the way there. Pick tasks that’ll move you towards your vision. Reject those that pull you away from it.
[thrive_text_block color=”orange” headline=”Tip:”]Use the 80-20 rule.
“Am I doing the 20% of tasks that are getting me closer to my goal?”
Focus on those and you’ll get 80% of the results – by only doing what matters. You’ll also make sure you’re 100% on the right track. So you’re not climbing a ladder, only to find out it was leaning against the wrong wall all along.
Instead, your actions will be perfectly aligned with fulfillment and success. [/thrive_text_block]
Finally, live each day as much as you can as if your goal had already come true.
That’s how you’ll speak into existence your vision of your most fulfilling life as a software developer.
2. Infinite Improvement
When doing your goal-setting, don’t just focus on the outcome: As in, ‘I want to create an amazing tool that helps thousands of people and makes me millions of dollars.’
Also set goals for leveling up your skills. Because that’s when one leads to the other.
If you’re so competent and complete as a programmer that you can:
- tackle tough coding problems without flinching
- strategize masterfully
- present yourself, communicate & negotiate like a pro
that’s when you’ll be able to actually achieve those awesome high-level goals.
Because you’ve turned yourself into the kind of person who does.
Work towards improving your skills, and with each passing day you’ll be inching closer to your goals.
By the way: I have a whole course on becoming that elite-level programmer. It’s called “5 learning mistakes programmers make”. You can grab it here for free:
3. The Non-Stop Value Formula
The vision, the skills… those are important to focus on when setting your goals as a programmer.
What else is? Having a positive impact on others.
Setting goals that impact others is not altruistic. It’s selfish – because it’ll accelerate your own success as a developer. You’ll get better skills, more exposure and higher status, faster. The money will soon follow.
So how do you set goals that impact others?
You do it by staying connected to the real world while you’re building yourself up.
- Build stuff in public.
- Have people actually use it.
- Help others with any new programming skill you’re learning.
- Apply your new soft skills to give valuable presentations.
- Put your coding skills to the test by working with others on their projects.
Impactful goals are those that have you connect and contribute – as opposed to goals about making you better in isolation.
The latter are much easier to quit on as well.
4. Powerful Habits
Break your programming goals down into weekly & daily goals – because habits are more powerful than goals.
Once you’ve created those productive habits, achieving your long-term goals is as simple as executing those habits day after day.
Luckily, while it’s hard work to first establish a new habit, it gets easier over time to keep them going. That’s the power of habits – use it to turn achieving your goals into a simple, repeatable process.
You’ll finally feel that your goals are within your reach.
5 SMART Programmer Goals Examples – Specific, Measurable, Achievable, Relevant & Time-Bound
For any new goal it’s best if you follow the SMART goal setting formula.
And to write them down. By writing down your goals, you have a 42% better chance of achieving them.
SMART stands for Specific, Measurable, Attainable, Relevant, and Time-Bound.
A SMART goal is a really specific way of writing down your goal, a key component of improving your chances of achieving any goal.
Which one is a SMART goal?
- I want to work out more.
- I will go to the gym three times per week for the next six months.
It’s the second one.
This goal gives a clear breakdown of what you’ll do, how you’ll do it, and over what time period.
Just saying you want to work out more doesn’t give you any idea about how you intend to do it. And most importantly it doesn’t hold you accountable.
You could work out for five minutes, one day of the week, and if that’s more than what you are currently doing, it’s technically achieving your goal.
However, it’s probably not going to get you the desired outcome of why you want to work out more.
Now that we know what a SMART goal is, let’s look at 5 SMART goals you can set to become a better programmer this year:
SMART Goal #1: Spend Three Nights per Week Creating Your Own Website if You Want To Make a Career Change
If you’re currently employed but looking to branch out on your own and build your own programming business, it’s great to have your own programming blog showcasing your skills.
You’ll need to dedicate some time after work to specifically work on the site and commit to a time-frame where you will have it done.
S—The goal is to build a website
M—Three nights per week
A—A challenge, but easily doable
R—Relevant if you want to start your own business
T—Three months
SMART Goal #2: Take an Online Course for a Specific Programming Language Twice per Year
If you’re a competent Java programmer, you could look to broaden out your skillset by learning a new programming language. A great way to do this is to commit to doing some online courses to improve your knowledge.
Online courses are something that we think about doing but never really commit to.
Set a goal to do two per year. And a top tip is to find one that you need to pay for, as you’re much more likely to commit to it.
You can decide on any programming language in which you think you need to improve your skillset.
S—The goal is to learn a new programming language
M—Two courses that I pay for
A—Challenging but attainable
R—Relevant if you to build your programming skills
T—One year
SMART Goal #3: Spend Five Hours a Week Learning How To Develop a New App Over the Next Six Months
Building a new app takes time, and if it’s not your full-time job, it can be hard to find the time needed to work on it.
However, taking the time to learn how to build a new app broadens your programming skillset and will make you more valuable to employers and clients.
Set yourself a goal that over the next six months you will spend five hours every week working on your new app.
This is a SMART goal where you can adjust parts to make them more relevant to you.
For example, if you know you can easily work for five hours a week, increase it to 10. Or if you think it will only take you three months to develop, shorten the time frame.
S—The goal is to develop an app
M—Five hours per week
A—Hard but doable
R—Relevant if you want to build a new app
T—Six months
Smart Goal #4: Dedicate Two One-Hour Blocks of Time To Increase Productivity Every Day for Three Months
Programming requires intense concentration. If there are lots of distractions going on, properly focusing on the work you need to do can be really hard, and productivity can drop.
In Cal Newport’s bestseller, Deep Work, he suggests one of the best ways to concentrate on your work is to block out times to do specific intense work. This is a time where you just work on a specific task you have set yourself. For example, if you need to write code for a specific part of a website you’re developing, you do that, and only that, for the one-hour time block.
Turn off your phone, close down your emails, and avoid the internet if you can. Schedule an hour in the morning and an hour in the afternoon for periods of intense focus. The reason for choosing an hour is it’s long enough to really focus and get plenty done, but short enough to not be intimidating from the start.
Again, this part of the SMART goal can be reframed to suit you better. If you know you concentrate better for shorter periods of time, reduce the time period. Twenty-five minutes can be a good place to start; that’s the time frame used in the Pomodoro productivity technique.
You’ll be surprised at how much you get done.
S—The goal is to do intense work
M—Two one-hour blocks every day
A—Challenging but doable
R—Relevant if wanting to increase your productivity
T—Three months
SMART Goal #5: Spend One Hour at the End of the Month To Plan Your Time for the Following Month
As the saying goes: “Fail to prepare, prepare to fail.” Plan out your month and you’ll get dramatically more done each month.
Most successful people in the world will plan out their months ahead of time so they know exactly what they need to do to achieve their goals.
Give yourself an hour at the end of each month to plan what you intend to do for the upcoming month.
This can involve looking at what key tasks you need to complete, blocking out time to get them done, and making a to-do list of the less urgent tasks.
Also, use this time to refer back to your goals to make sure you are making progress toward them every month.
S—The goal is to plan for the month ahead
M—Once a month
A—Easily attainable
R—Relevant if wanting to be more organized
T—One month
Let’s now get into 21 developer goals for you to go after – so you can become the highly paid, fulfilled programmer you want to be:
21 AWESOME & EFFECTIVE Career Goals for Coders and Software Engineers
Short Term Programmer Goals
1. You’ll make your own learning curriculum
This is where you make sure you’ll progress towards your goals. If you fail to do this, it’s too easy to get lost and abandon one, multiple or even all of your goals.
You can’t just set goals by themselves. You need to outline exactly how you’ll get there.
So, set aside a number of hours per week that you’ll dedicate to learning. Pick a number of hours you know you’ll be able to hit. Don’t go overboard!
Now, decide which resources you’ll use during those hours, and how you’re going to study them – for example by thinking about a problem, sketching it out, writing and debugging the code, documenting your results in a written report, etc.
2. You’ll create a weekly & daily schedule
For every activity that’s important to your programming career, outline it in a similar way.
Figure out what needs to happen each week to keep you chipping away at your goals.
Then, break it down even further: Into little chunks of work you can put into a daily list of tasks. Now you just need to focus on completing your daily schedule.
And you’ll automatically get closer to your goals as a developer.
3. You’ll start your portfolio website
Never underestimate the power of your portfolio.
Build stuff you can be proud of. Doesn't matter what. A blog website, photo slider, Web Scrapper. To-Do app, Resume portfolio, etc.
Once a client sees your portfolio and the amount of stuff you’ve built, is when he knows what you're capable of. Your work speaks for itself.
In the free course How to start a blog, you’ll get guidance on how to start building your portfolio site so you can start attracting more clients by showing off the quality of your work to the world.
4. You’ll take on a freelance coding project to develop yourself and make extra income
Now you’re getting paid to learn!
And after you’re done, you can add the completed project to your portfolio.
You can even get a testimonial from your client, building trust with your audience, so you’ll more easily get the next, better-paid freelance project.
5. You’ll give a talk on a technical topic you’re passionate about
You can do this at any meetup, conference or event. You’ll gain communication skills, get your name out among potential collaborators or employers, and gain that momentum to keep taking your programming career to the next level.
6. You’ll write a valuable article or report that people love to share
For some, this can launch them into a completely new career outlet: Writing for a living.
If your article was a hit, why not expand on it and make it into a whole book? Today, with how easy it is to self-publish a book, the world could be your oyster.
7. You’ll study one new coding book
You don’t need to read all the books. But studying just one book deeply can take your programming skills to a whole new level.
Again, you’ll set aside an amount of hours to dive into the knowledge and solve the problems presented in the book. If you do this, you’ll get a hundred times more value out of it than if you were to simply read through dozens of books.
In the article on top programming books, you’ll find a good selection of books. Pick one that sounds like an exciting challenge for you to tackle.
Commit to that and see how your coding skills benefit.
8. You’ll upgrade your debugging skills
Set a goal to get better at debugging this year.
Vow to approach every bug with a formula:
- Hypothesize: Where do you think the problem could lie?
- Experiment to prove or disprove your hypothesis
- Repeat until you’ve found the bug
Optimizing your debugging process could be a worthy goal for you as a programmer – it’ll make you more effective at churning out functional code, in a repeatable manner, more quickly.
9. You’ll get better at project-based interviewing
If you’re looking to find work as a software developer, get ready to crush those project-based interviews.
Make a goal to thoroughly research the interview process and topics, to tackle a number of new programming interview questions each day, and to frequently hold mock interviews with your friends.
You want to get to a point where you can easily solve most of those Leetcode-style questions thrown at you.
That’s when it becomes only a matter of time until you’ll be getting a highly paid programming job.
10. You’ll start doing soft skills challenges
Programmers with good soft skills are invited for more projects, rise up higher in their company, get more recognition, and overall become more successful, wealthy and happy.
So install the worthy goal of improving those skills.
Turn it into a challenge:
- How many new people can I reach out to this week?
- When can I practice and deliver an impactful speech in front of people?
- How will I start negotiating like a pro to get what I want during my next meeting?
11. You’ll gather at least one new piece of feedback each week
Most programmers fail to achieve their goals because they don’t even know what they’re doing wrong.
When it comes to our work, we all have blind spots. It’s just human.
Those who can rise above their ego, ask their peers or higher-ups for honest feedback, and accept and implement it, are the ones who’ll become successful.
12. You’ll improve your problem-solving skills
“The biggest mistake I see new programmers make is focusing on learning syntax instead of learning how to solve problems.” – V. Anton Spraul
Set a goal to solve one new problem each week. It’ll help if you pick different platforms to solve problems on.
Create and improve on your problem-solving framework: The system you use to assess, structure, and ultimately overcome every problem.
Soon enough you’ll be able to use this system with every challenge you face, be it related to programming or not.
Long Term Programmer Goals
13. You’ll create a personal brand
Want to rise up the ranks as a programmer – make better connections, get better jobs, multiply your income?
Start building your personal programmer brand ASAP.
- Let people know which area you’re specializing in as a developer
- Write your biographical elevator pitch: Who are you and how are you helping me?
- Create your portfolio website
- Build your LinkedIn profile
- Start sharing content around your area of expertise
- Join a community – or start your own!
Once people know you as an expert on their topic, they’ll start coming to you with offers.
Building a personal brand is a proven way to rise above the masses as a programmer and snatch the best opportunities.
14. You’ll learn a new language (one at a time!)
A classic goal for any developer is to learn a new programming language. And the best way to do it is strategically.
Pick ONE language at a time. Conservatively estimate how long it’ll take you to learn it. Create a weekly schedule. Purchase any resources if necessary.
Follow through with your daily learning habit, and soon you’ll have achieved your goal.
Professional Goals for Software Engineers & Developers
15. You’ll complete a new certification
Courses, bootcamps and certifications can be a quick way to level up your programming skills and increase your professional status at the same time.
You could set a goal to complete one or two new of these per year.
Over time, this will put you in the upper echelon of developers in terms of coding knowledge, skills and accolades.
If you’re at a job, put that professional development budget to good use and have them pay for any cert or course you take.
16. You’ll prepare for & apply to your dream job
Two things separating you from your dream job as a programmer: You need to set a smart goal to actually go for that job, and then do the work to make that goal come to fruition.
If you have a strategic plan for getting there, and you’re executing on that plan – it’s only a matter of time until you’ll get that job.
17. You’ll take responsibility for one new project at work
If you want to increase your influence at work and climb the ladder – set a ‘leadership goal’ specifying how you’ll start a new project, and collaborate with others to make it succeed, creating a positive impact in your company.
18. You’ll start mentoring someone once or twice per week
It’s unclear who learns more when you work on this goal of mentorship – the mentee, or you as the mentor.
To teach successfully, you need to know the topic by heart.
Apart from giving back and helping someone in their programming career, you’ll deepen your own understanding.
In short, this goal helps you become both a better coder and a better human.
Financial Goals for Programmers
Want to earn more as a programmer? Get the free course ‘7 Reasons You’re Underpaid As A Software Developer’. You’ll get my best strategies for moving up the ranks and making more money.
19. You’ll start investing your money into assets
Once you make good money as a programmer, a worthwhile goal is to start putting any extra money to work for you.
A great way to do that is to invest into assets.
I’ve made great money investing in real estate, but you could choose other assets to invest in as well, like businesses or websites.
Make a goal to set X amount aside each month to put into new assets. Once these assets start paying you back without much upkeep, you’ll be glad you did!
20. You’ll apply for a raise each year, citing your accomplishments
If you’re someone who sets and achieves new goals every year? Then you keep increasing your value for the company you’re working for:
- Those difficult jobs you finished.
- How you improved team collaboration by managing projects and mentoring new hires.
- Your better productivity because you leveled up your skills.
So you have every reason to ask for a raise at each opportunity.
21. You’ll start commanding an elite hourly rate
Whether you’re at a job or you’re working as a freelance developer: Make upping your hourly rate one of your major goals.
This is most simple when you’re freelancing: Simply set your rate higher after each bout of successful projects.
Don’t accept less. Because your results are speaking for you, you will get hired even as you become more expensive.
Start planning your week around your goals
Want to know how I plan my week to get as much done as possible? Here it is.
I use a tool called Kanbanflow to plan out my week based on Pomodoros.
Using this technique I am able to be extremely productive, avoid distractions and know exactly what I'll be able to get done each week.
Now go Crush your Goals – Become a Finisher!
If you want to accomplish your goals, you need to learn to finish what you start.
It really is as simple as that. Become the kind of person who always finishes what you start.
Getting 50% done is worthless and 90% done is worthless and a big waste of time. You only get benefits from doing something when you reach 100%. Getting to 100% is all that matters.
- Not all the work you put into it leading up to that point.
- Not your initial enthusiasm.
- Not even the time you spent. As soon as you spend it that time is gone.
The only way any of those things have any chance of showing a return on your investment is by reaching 100%–taking the big rubber stamp that says “done” on it and stamping it right across your work in dark red ink.
Ultimately it comes down to this:
You have to decide that you are tired of having a closet full of half-completed projects. You have to decide that finishing is important to you and that despite how you feel, despite how bleak the outcome may seem to be, once you start something you will finish it–barring some extreme circumstance.
It's not an easy journey, but once you decide to embark upon it, you'll start to see rewards you never imagined possible.
My life completely changed once I became a finisher. Yours will too.
To start leveling up smarter and faster, get the free guide: 5 Learning Mistakes Software Developers Make