DEV Community 👩‍💻👨‍💻

Cover image for Making Progress: How I've learned to move towards my goals
Chad R. Stewart
Chad R. Stewart

Posted on • Updated on

Making Progress: How I've learned to move towards my goals

Introduction

Sometimes you have plans that you want to move towards, long term career goals, short term career goals but you can’t seem to make progress on them. I was definitely in that position for years honestly. It really took a lot of understanding my pitfalls and setbacks then having a lot of revelation moments to get to a point where I can consistently make progress. I don’t want to say my system is a magic bullet, in fact, my system likely won’t completely work for you. What I want to do here is talk about the insights I came across as I finally came to something that worked for me. Hopefully those insights and examples of me leveraging them will help you start to make progress consistently.

So the key things I find useful are:

This is skipping a few steps forward but the most important insight I came across is that you don’t need to spend your entire day grinding. Want to know why or know more about how you structure your day so you don’t have to grind? Keep reading to find out!

Have a Long Term Vision

Having a long-term vision is very important to making progress towards something. How do you know if you’ve made progress if you don’t have a clear idea of what the end is? Cal Newport, author of ‘So good they can’t ignore you’, talks about the idea of envisioning a lifestyle that you want. What do you want your future to look like? Live in the city, go out and take in the city’s culture? Live out in the country-side? Be with nature? Figure that out and then work backwards to find the things that you need to do to achieve that.

This isn’t meant to say that the above is exactly how you should make your long-term goal, but stressing that you have one and the benefits is just like the above says. It gives you an idea of how to work towards them just by having them. This doesn’t mean they won’t change but having a North Star helps you make progress towards it. So when should you revisit your goals? There isn’t a set time frame but it shouldn’t be regularly. Maybe every few months or so as life happens. Things will come up or you’ll change and maybe your vision you made no longer serves you. That’s okay, make changes if you need to. It’s there to be a guide, rather than be an anchor so treat it as such.

My long-term plans:

This is my long-term plan which I keep in a document under career vision:

Primary Career Vision: To gain the freedom to work on whatever projects I want
Secondary Vision: Move to the US to build large software systems and join a strong dev community

If you’ve been to my Twitter profile, you’d likely have seen a tweet saying that I’ll move to the US this year. As of the time of this writing, that’s likely not gonna happen but it guides me to make decisions towards that goal. I honestly revise this plan more often than I should but it gives me a great idea of what I should be focusing on.

Have Short Term Goals that support your vision

A long-term plan is usually that, long-term. It could be years before you’re in the position to achieve that goal, even if it’s more modest. It’s easy to fantasize about our goal and think we’re working towards it but rarely make any real progress. We need something to keep us more accountable towards our long-term goals. This is where short-term goals come in.

Short-Term goals are what we want to achieve in a given time period. Where long-term goals tell us why we want to win the war, short-term goals are the strategy of how we will go about winning it. Let’s take some of my examples above and expand on them. Want to live in a big city? You’ll need a well paying job to live comfortably there. Software Engineering is a well-paying job. I guess that means you’ll need to learn to code. Well I think I can feel comfortable writing code in 3 months so let’s go with that. There might be some exaggeration or missing nuance here but that’s the basic idea. From your long-term goal, you can see where you are now and what you’ll need to make progress. You don’t need an entire road map, you just need something you can realistically achieve in a time period you’re comfortable with.

My Short-Term Goals (Quarterly):

I try to set a theme for my Quarterly Goals so that they’re easier to reason about:

Theme: Optimize for building lasting relationships: “It’s not who you know, it’s who knows you.”

I heard the saying from Brian Douglas (@bdougieyo) and have decided to structure my quarter around it. So the idea is to build stronger relationships in the tech community. I do have a fair amount of relationships currently but I feel they aren’t as strong as I’d like them to be. I’m not very good at managing relationships honestly and so I want to put more effort into that.

Have a Weekly Plan

Okay, so let’s continue leveraging our Software Engineer example. We decided we can get comfortable coding in 3 months but how do we plan to do that? I have no clue how to code now! Okay, I looked around and there are some pretty cheap courses on Udemy. I’ll buy the most popular and go with that. Okay, bought it! I’ll just try to go through these videos until I finish it!

So using the example above (as an example as I’m sure people will find flaws in learning coding this way), we’ve come to the conclusion that going through videos until we finish is a sound strategy. If this wasn’t a Udemy course that tracks your progress, you’ll need a way to know what you’re doing and what you’ve done. This is where a weekly plan comes in. Idea here is to capture everything you need to do for the week and keep it top of mind so that you can remember to accomplish it. In our above example, we can add the specific videos we want to go through to our weekly plan and check them off as we complete them. The weekly plan is also really flexible too so as the week goes on and things come up, you can add them there as well.

A key thing to do with your weekly plan is to make sure you’re checking things off as you complete them. This does two things: First, you’re getting a dopamine hit every time you check off a task and you’ll build the habit and the craving of that dopamine hit for checking tasks off your plan. This is critical to building up the habit of wanting to accomplish tasks. Second, if you miss any tasks, they can be easily tracked and transferred over to the next week. You can even over time see what type of tasks tend to get carried over and you can make adjustments there.

So in previous sections, I tried to keep the terms from being time-specific. I honestly don’t have a better name for this section because I personally use a weekly plan. The main idea here is to be able to take your short-term goals and split them into ACTIONABLE things you can do during the week. Where the short-term plans are your strategy for winning the war, your weekly plan (and the next section about your day to day) will make up your tactics and things you repeat to win the war. I’m sure there are other systems out there that accomplish the same thing but the spirit is that you just need a way to generate actionable things from your quarterly plan that you can complete, feel good about it and move to the next one.

My Weekly Plan (Nov 14 - Nov 18, 2022):

Plans for this week:

  1. Begin practicing DSA Interviews
  2. Update Twitter bot with v2 stream ✔
  3. Work on Accessibility issues on TechIsHiring ✔

Plans for next week:
Update Design System to show more interactions for components

The above isn’t my complete plan for this week but it’ll do great as an example. Also missing is I try to keep the theme for the quarter in my weekly plan doc so that I know if I’m working towards my goals or not. While there isn’t anything specific here that goes towards my quarterly goals, practicing DSA will help with long-term goals as I’ll likely be doing DSA interviews to get into companies that’ll offer H1-B support. Notice I have a section for next week as well just so I can capture things I need to do but I don’t need to think about working on them now. Also notice the ticks for completed tasks. Especially when you’re just starting, you’ll feel great adding those ticks to things so don’t neglect it!

Build a Day to Day Habit of Execution

So remember at the beginning of this article, I said the most important insight I came across is that you don’t need to grind every day? Well let me explain.

You only really need 1 - 2 hours of focused uninterrupted effort each day on the most important things to make significant progress on your goals.

I can only give you anecdotal evidence but I’ve been leveraging this mindset for the last few months and have made so much progress towards my goals! So the main idea for having a small amount of time of focused effort is to favor consistency over speed. 1 - 2 hours is much more doable long-term by a lot of people rather than potentially 5 - 6 hours daily. Finding 5 - 6 hours a day, even broken up is very difficult especially for those with responsibilities. Then there’s the actual mental strain of maintaining focus over such a long time, even broken up. It’s usually not sustainable. This isn’t to say “DO NOT DO THIS!” but letting people know that it’s okay to put in 1 - 2 hours on your most important tasks because over a long period of time, it’ll definitely compound!

I want to stress that the time should be UNINTERRUPTED. This is very important because the effort to context switch from one task to another will steal time away from what you’ve allocated and you’ll end up getting less work done overall. This means you’ll need to find some time during the day where you can sit down for long periods of time without an issue. For most people with obligations, this usually means early in the morning when you wake up or late at night right before going to bed. Also important is to reduce the amount of things that can also interrupt you. Working at 9 pm for 2 hours is no good if your phone is constantly ringing and interrupting you. Silence your phone and close whatever apps and windows that’ll buzz you while you work. You want to be closed off from the world virtually for this time period.

So say you can find 2 hours of uninterrupted time during your day, you now want to structure your tasks throughout the week to fit within this window. Using our Udemy example, we would want to go through videos for up to 2 hours per day. The reason for this is that you want to be able to add that check to your tasks at the end of each 2 hour period per day. Spend 2 hours working, add check, get dopamine reward. This cycle will drive you to getting work done and eventually taking on more and more ambitious tasks. Just remember though, you want to make progress so you can add that check. If a task is too large, break it down into smaller tasks that are accomplishable in the 2 hour period so you can add your check.

Quick note, if adding a check isn’t enough of a reward to motivate you to continue, feel free to do something else. Reward yourself with watching TV, playing video games, ice cream, whatever your fun activity of choice is. The most important thing is that you put in focus effort and your brain recognizes that it’ll be rewarded for doing that.

One other note. This does not mean you ONLY work during your 2 hour time period. That period is for focused work on your most important tasks. You’ll likely have a lot of administrative and small tasks you need to accomplish as well (hopefully captured in your weekly plan). The important thing here is that the things that add the most value for you should be worked on during your focused period because they are important. All the mundane things can be worked on throughout the rest of your day. Hopefully those things aren’t too extensive but you may have a fair amount of day left outside of your other obligations to complete these other things.

My Day to Day:

So I referenced 2 hours quite often in this section so it’s safe to assume that I spend 2 hours each day of focused effort and you’d be right. I prefer earlier in the morning to do my work so I tend to start my work at 8 am. I don’t have too many obligations so that’s a reasonable time for me but I’ve definitely found myself waking up at 4:30 am to start my personal work at 5 am.

This is a typical day on my calendar:

Calendar with two significant events: Deep Work Logical work and Deep Work Insight Work

I call my periods of focus ‘Deep Work’ from Cal Newport’s books and the idea is that I work on the most important things to me in that period. You’ll notice that I have two periods, one called ‘Logical Work’ and another called ‘Insight Work’. The idea is as a Software Engineer, I primarily do my coding during the ‘Logical period’. I’ll do my writing, such as this article, during my ‘Insight period’. Technically means I do 3 hours of focused work but I’m more lenient on skipping writing. I also have a tendency to go more than the time I allotted because I don’t have the restraint of other responsibilities to attend to. For instance, I have written most of this article in one sitting which took me about 2 and a half hours. Regardless, it’s the spirit of the system rather than the system itself. It’s there to make executing more consistently over a long period of time easier.

Conclusion

So let’s recap. You have a long-term vision that you want to strive towards. That long-term vision informs what you need to do in the short-term to move towards that vision. You then use your short-term goals to help determine what to accomplish for the week and you spend 2 hours of focused uninterrupted time each day trying to accomplish your major tasks and you fit in the other tasks where you can.

I might not have mentioned this but the most important part of this is the day to day and identifying your tasks each week. It’s the habit of getting up and making progress each day and having a consistent flow of relevant things to accomplish that’ll get you towards your goal.

One other thing, none of specific tips are set in stone. A lot of these came from my own reading and what worked for me. The most important takeaway from this is the general idea of the overall system, how they feed into each other and how you can build something similar yourself with the same ideas.

Adapt these ideas to what best fits you!

  • If you found this article interesting, please feel free to heart this article!
  • If you’re interested in learning more about Front-End Engineering, follow me here on Dev.to and Twitter.
  • If you’re looking for jobs, I’d highly recommend checking out @TechIsHiring on Twitter, LinkedIn or TechIsHiring's new website https://www.TechIsHiring.com/ for posted jobs and other resources!

Top comments (1)

Collapse
 
rajeevkumar profile image
Rajeev Kumar • Edited on

It was helpful for me because I am in the same situation right.So yea it was really insightful for me.I am going to follow some basic tips that you tell in this blog.

Why You Need to Study Javascript Fundamentals

The harsh reality for JS Developers: If you don't study the fundamentals, you'll be just another “Coder”. Top learnings on how to get to the mid/senior level faster as a JavaScript developer by Dragos Nedelcu.