Strategies for Software Mastery

Jul 07, 2023

There is a belief by many that you are either good at coding or you’re not. Many of my friends and family tell me they could never learn code or do what I do. The only problem? They’ve never tried!

While certainly some people are better than others at picking up software engineering, coding is more of a skill than a talent.

This means when I find myself saying “I can’t learn to code” it more realistically means:

  1. I don’t have the desire to code
  2. I have the wrong strategy or approach to learning code
  3. I give up too easily when coding

I’ll find the doubt in myself creep in when there are times of uncertainty. Maybe my videos aren’t performing as well, I’m not picking up some technology as fast as I would like, or I’m facing some life change like a layoff.

This write up is designed to utterly vanquish these thoughts of doubt by instilling confidence in your skills and your plan to learning code.

I Don’t Have the Desire to Code

 If this is not the case for you and you love coding, but need some guidance for your learning strategy, jump to the next section!

When faced with the problem of not having interest in code, you should ask yourself a few questions. Is this a dislike of coding at my core? Or have I lost interest due to various challenges and barriers?

There have been times in my life where I want to take a break from coding and just do something else. This is normal. Even with these periods of time of general distaste towards coding, I still love computer science at my core.

This comes down to two scenarios, the first being that coding is truly not for you, and the second is that coding is your thing but something is off making it no longer desirable.

Coding is Just Not For Me

I do believe that some people are not fit for coding based purely on their lack of interest. For the same reason I’m not a historian or a brain surgeon, some people are not software developers.

You have to ask yourself which case is relevant for you? If you have absolutely zero drive to learn code and don’t see yourself in software, it’s probably not for you. Unless you are super motivated by some related thing (such as automating problems or building a start up) you probably won’t have enough desire to push through the challenges when learning.

Coding is for Me, I’m Just not Enjoying it

On the other hand, if you get excited about building projects and learning new language principles, you’re probably meant for software engineering or tech. The problem is more superficial.

Enjoyment is a complex subject, and I doubt I can adequately solve why you are not enjoying code in a simple blog post. It could be a number of reasons outside of my expertise. That being said, there are some basic principles I believe can help.

  1. Enjoyment comes through discipline. Like working out, coding is not always fun. But, working on code consistently builds a higher level of joy in the long term. It may be the case that you need to buckle down and focus to start seeing some results worth getting excited about.
  2. Lack of enjoyment stems from lack of direction. To me, nothing feels worse than having a million things I feel I need to get done but no main goal, plan, or strategy to accomplishing everything. I end up getting nowhere and feeling even farther behind.
  3. Doing too much often means accomplishing less. When I focus and do less, I am able to progress on my goals. When I try to do too much, I do everything poorly. This is because too many priorities fragments your focus. This is the exact thing that lead me to burning out before, I was trying to do too much,
  4. Enjoyment is easier with a balanced life. Enjoyment for challenging things like coding is drained by stress, too much work, bad diet, or lack of sleep and exercise. I am totally open to discussing these things with you in the community!
  5. Enjoying the process is easier when you see the path and the destination. For this, you’ll want to make sure you have the right strategy and approach for learning.

You’ll want to renew your desire to code and desire to learn new things. Think through your life and figure out what is stopping you, and ponder your own true potential. What would you be if you get amped up and give it your all.

The next section will help you take this ambition and discipline and put it towards a plan.

I have the wrong strategy or approach to learning code

I have always been a goal oriented person, but I have often lost track of my goals because I didn’t have a clear path or obvious check points along the way. Adherence is the secret when it comes to achieving what you want. As much as I hate the saying, find a system and then trust the process. This means that in the moment, things may suck or you feel like you’re not progressing, but when you zoom out or look back you’ll see how much progress you’ve made.

What kind of systems, plans, or goals do you need? Let’s start with the basics.

Study at least an hour a day

I’ve said it many times before, the secret sauce to success in anything is to do it consistently every day. By devoting your highest focus on a task for an hour, you get the highest return for your time, making you get results without a major commitment. Your energy to get 100% for an hour typically restores overnight, so you can do this every day.

This may seem like a slow way to get to your goal, but if you focused on a single goal every day for the last year, you’d have 365 hours of insanely focused work towards a goal. Plus, you can always do more.

What do I work on?

Focusing an hour a day is a challenge if you don’t know what to focus on. Especially when there are too many programs, curriculums, courses, and blogs out there.

You start by figuring out the goal. My latest course is all built around the goal of becoming a professional C or C++ developer. This means building the skills to be better than the competition in a competitive market, or to have enough skills to start your own project or company.

Now that you have a goal, such as becoming a professional C / C++ developer, you figure out the general path to get there. This can be a career path, or what you need to learn to have those skills.

This is why my personal preferred method of study is systematic. There is a lot of value to purchasing a larger course that has the entire outline laid out… You don’t waste time figuring out what to learn, and you have the step by step path to achieving your goal. How much is your time worth? Wouldn’t it make sense to accelerate your path to building skills and earning a larger income?

Now, it’s just a matter of putting in the work to make it happen!

Community

While studying alone is possible, growing in isolation is much more difficult. Because of this, I really suggest getting involved with other people trying to achieve the same goal. We have had nearly 100 students enroll in the C and C++ Mastery course this week, which means you’ll have a lot of peers learning the same thing as you. There is a community discord for discussion where you can find anyone else in the course who signs up for the Discord. Here you’ll be able to find other developers in all stages of their career open to questions. This is a great way to share your progress and have an avenue of accountability.

With a renewed energy to learn code, a clear goal, a structured outline to learning, and a supportive community, there is a much higher chance of success! Let’s be honest, If you had all of these things with previous failed goals, would you have reached your full potential?

I give up too easily when coding

If you’re brand new to code, you’ve haven’t yet experienced giving up on a challenging bug. If you’ve been developing for some time, it’s just a matter of time before you hit a brick wall and can’t make any progress.

This can be discouraging, but it’s important to go in to code expecting challenges to happen. There will be a point when you feel stuck. You may not get the bug fixed. That’s OK. Often times, if you continue studying and then circle back to the problem, you come with a stronger skill set and better understanding.

This reminds me of my very first software which I rewrote from 1,000 lines to like 100 lines of code. That’s because the first iteration was complete garbage, and all the issues I faced before were easily solvable after I had stronger skills. Once I learned how to structure my application in a generic, object oriented way, the amount of code required was significantly less.

As mentioned earlier, the community here will help you win. Also, you can try things like asking a question on stack overflow (we all read it, but how many of us ask for help?). Often times, writing out the problem to be seen by the entire world helps us find the fix ourselves.

You can also find a technical mentor. This is someone skilled in a specialty you’re trying to become better at. There are even sites where you can hire individuals for a period of time to mentor you on a project or help with coding problems.

The final tip comes down to perspective, which initially doesn’t sound helpful, but if you view your journey of learning code and the projects you build as tasks you manage, your job is to find blockers and unblock them. Be creative, go out of your comfort zone, and see that most problems can be solved with a little creativity, ambition, and skill.

This tip might be obvious, but nothing beats a break or a good nights rest when it comes to solving problems and fixing bugs. You’ll often find things don’t click until the next day or two. So start working on expanding your discipline and patience, and take a lot of breaks!

What’s Next?

We’ve laid out the plan. First, renew your desire to code. This will give you the initial fuel to get the ball rolling. Measurable progress and discipline with keep it going.

Next, find a goal and a plan. The plan is an overview of the path to take you from where you are to your goal destination. Remember to enjoy the journey!

Finally, view your skills and your projects as tasks you are responsible for pushing to completion. Come back to problems later if you can’t get them figured out. Get creative and get things done!

I truly believe the course I am providing here can give you the tools to unlock a better understanding of code and a more fulfilling career with higher pay. We have nearly 100 students committing to this goal this week. And for the next 20 weeks they will have access to content helping them reach their goals.

C and C++ Mastery gives you hands-on lessons that keep you engaged. It gives you a goal and a plan to get there. And, it gives you the community for support to get through any problems. I really hope to see you give this course a shot. It could be just the thing you need to make that big change in your life.

If you have any questions at all, do not hesitate to contact me. [email protected].