2022 is around the corner, and you might have come across this post because you're looking for a beacon, that one resource that is going to help you finally become a software engineer. You're probably looking to improve your personal financial circumstances. Maybe you're wanting to try something new. Or maybe you're part of the Great Resignation and want to move towards a remote-oriented field. Whatever your story may be, it's likely that you've been searching for the perfect resource, the silver bullet that will take you from zero to engineer in a certain amount of time.
I talk to dozens of people in that same situation daily. I spend a significant amount of time helping folks learn to program and realign their journey when they realize they aren't where they want to be. My advice is tailored, and I spend a lot of energy giving comprehensive feedback or roadmapping. It takes a lot out of me! Despite that, I love to help people reorient themselves with their goals. It makes me happy to help. However, the most painful part is when people don't execute. And (not) surprisingly, most people don't.
Whether it's friends asking me what to learn and how to learn, strangers on the internet wondering what path they should take, I always provide a comprehensive answer and step by step what I did that worked, and what didn't work. Unfortunately, most people never make it past the "gathering information" stage, and simply never start. Maybe they realized programming isn't for them- which is completely valid! Maybe they were overwhelmed by just how much it took to be a successful engineer. Also valid! Either way, it's incredibly common that most folks I talk to who aspire to become developers never actually take the leap and start.
Tony Robbins says "success leaves clues". While he's talking about personal finance in this case, this piece of advice is evergreen. If you see someone in a position that you want to be in, take the time to ask for a coffee chat and see what they did. Ask them what worked, and ask them what didn't work for them. Then follow it. Keep in mind that there's a difference between what they personally did to reach their goals and what they're selling to you so you can reach your goals, depending on who you talk to. Be discerning.
As a completely green beginner, whatever curriculum you are going to try to piece together for yourself made up from a handful of different resources is likely being informed by a lack of experience. Find a well worn path instead of trying to forge your own. Now, this doesn't mean you can't be critical of the resources that you're about to commit to and weigh them against one another (remember, be discerning), but if a resource continues to pop up across the internet as a highly reviewed and frequently used resource, you can likely trust its quality. Do your due diligence, but don't let analysis paralysis stop you from actually starting, because at the end of the day, even if a resource isn't absolutely perfect, getting started is going to get you further faster than not starting at all.
A significant reason why many end up not executing is because they don't have a plan. You've chosen your course or resource(s) and... now what? Don't prevent yourself from executing. Make it a point to set aside X amount of time Y days a week- be sure to bake in some much needed breaks. Even 30 minutes a day is better than zero. While you cannot accurately predict the time it will take to understand the material, try to set some tangible goals such as: "I want to finish 3 lessons this week", or "I want to complete a project over the next two weeks". Hold yourself accountable to this plan.
Some people never start because they're overwhelmed with facing this journey alone. In some ways, a lot of people think programming is like track. A lot of people think track is an individual sport. I can see why- you run your own race all by yourself, jump by yourself, throw a discus by yourself. As a former track runner, this assessment always makes me chuckle because track is very much a team sport. Development is a team sport too. While ultimately reaching your goals comes down to your individual skill, similarly to one's ability to run a race, other people with this skillset on this journey are there to provide help and motivation.
The development community is rooted in helping one another achieve our goals, whether it's as a learner, or as a professional. That's why we have StackOverflow, or any number of subreddits about programming, and a significant amount of Discord and Slack servers focused on providing help and insight across various technologies and programming languages. Find a community to rely on and pay it forward when you know enough to begin helping out (this is also a great way to reinforce what you've learned!). You don't have to do it alone, and conversing with folks who are also in the process of learning provides a sense of community and belonging that makes it easier to walk this road and continue to push forward.
With all this in mind, if you're seeing this post before January 1st, 2022, start already! Don't wait for the new year to start changing your life. If you've seen this after the new year has commenced and you haven't started yet, this is your sign to get going on that course you've been eyeing. You can change your life if you simply execute.
If you're looking for a resource, The Odin Project is an excellent way to jumpstart your programming journey in 2022 for free. We host a comprehensive full stack curriculum with two learning tracks to choose from and offer a large and active Discord community where learners can help and be helped. I know, I know. Just above I said be discerning and be careful of what people are selling you. But hey, we’re totally free, and just one course in a sea of awesome content out there. Whatever you choose, get started NOW!
Let me know what your plan to learn programming is in the comments below!