In today’s article I’m going to answer the question, why is programming so difficult. The reason for this is because I get a lot of people reaching out to me. Often they’re like, help I’m struggling with this, I don’t know what to do.
They are just watching tutorials or reading books but they don’t know exactly what to do. If you’re frustrated and you feel like you want to quit I totally get it. I’ve been there and most people who are programmers have been there at some point.
Honestly the struggle stays with you during your entire career. There are moments in your career even once you get your first job you will be stuck in a problem you really want to solve but after doing some research you find the solution was so easy than you imagined.
Back to the question, why is programming so hard.
I have had the opportunity to coach and mentor people to help them along in this process. And during my interaction with all these people who are trying to become software developers one biggest reason why programming is so difficult is because of their mindset.
It’s your beliefs that you bring to the table that make programming so difficult. By looking programming from a technical perspective or from a skill perspective, it’s simply one of those skills that requires you to put in the time and effort for an extended period of time.
You have to be consistent, you have to essentially immerse yourself like you would in learning a language. After all, no one is born with knowledge of how the internet works, how HTTP traffic works or how databases work.
All of this technology, we’re not inherently born with unless you went to school in a related field where you may have been exposed to some of that information or maybe as a kid you tinkered around or hacked computers.
And by that maybe you know a good grasp of those principles. By that you can say you have a little bit of a head start. But at the same time it takes again consistent effort and focus applied in the right way over an extended period of time to the point where you are exposed to it so much that you just get it.
You just sort of understand things, “you see the matrix” as they like to say. So if it just requires you to follow the process then for most people I can say their biggest enemy is themselves.
I’m taking about feeling bad for yourself, self-loathing, emotional problems like anger and frustration. These are the types of things that really make the process harder.
By having these issues like getting frustrated easily, getting angry with things, feeling sorry for yourself and self-loathing like hating yourself, feeling like you’ll never do things right, you’re just putting so much pressure on yourself. Which doesn’t help.
Telling yourself you shouldn’t even try this or that. That’s one of the biggest problems.
To me it’s like running a marathon and then putting the sandbags on your back. This process is a marathon and if you are making this any harder than it needs to be then you’re going to really struggle to accomplish your goal.
You can definitely do it with all of those issues but it’s like why even put yourself through that. Here’s the thing, if you do have issues there’s no reason to personalize it.
What’s beautiful about programming and what I love so much about it is that every time you sit down to work or study is you essentially have a mirror placed in front of you that shows you who you truly are.
So when you sit down to study and you start getting frustrated that’s who you are, that’s your limitation, that’s your current weakness. Programming in a lot of ways is going to show that back to you and it’s going to say, here’s a problem that you can solve.
Now it’s up to you how you’re going to react. If you start crumbling under pressure or having this mental self-talk that is really negative then that is your weakness at this point in your life.
Go somewhere else but guess what, when you reach a certain threshold in your skills in other areas of interests, you will come to realize that the same weakness you had is following you around.
You have an opportunity with software development to essentially see who you really are. A lot of people don’t like that, they don’t want to be shown that maybe they’re not that in control of their emotions.
Maybe they’re not that good at handling frustration and anxiety. No one is born like that but at least you get that feedback where it’s telling you what you need to work on.
I think that’s the biggest blessing I ever got. Is like here’s this thing that can give you instant feedback about what you are having a weakness in. And if you don’t personalize it you can read a book about something you didn’t know about.
Read a book about how to be more emotionally strong or how to handle your anxiety and frustration. It can lead you to things like meditation, breathing exercises. To me this has been like life-saving in terms of anxiety. I do breathing exercises and meditation on a regular basis.
These are all things that I would never have had to learn or discovered them if I had just been staying at the same level.
But the way to look at it is software development is going to give you that opportunity to improve yourself. Trust me it will do it for you if you recognize it for what it is. Use it to your advantage but don’t quit because you think that your problems will just go away.
Look if you’ve been working on becoming a programmer for an extended period of time for a few months. A period where you enjoyed it but you were facing problems on a regular basis and didn’t feel like this was for you.
My advice to you is to keep pushing through. If you’ve enjoyed it or loved any aspect of it then this is the career you should absolutely get into. You don’t want to live with regret about, what if you could have done it.
I hope this article has been helpful in that it gives you a better frame of why programming is so difficult and why people focus so much on the technical aspect and learning aspect that they forget that anything challenging like this is really about mindset.
It’s always about you and figuring out how to get through issues that you’re having.