Is Programming Hard?

by Andrew on 2019-09-20

If you've tried to learn programming before and failed, or you're just starting out and you feel like you have a mountain to climb to get started, it's probably because you're thinking about programming the wrong way.

Yes, programming in Python or any other language is a struggle. It's like a foreign language (without so many !@#$ words!) that has to be spoken with exact correctness to be understood. The language also comes with foreign concepts that make more sense to computers than to people.

But, honestly, these can be learned quickly (within weeks or a few months). The thing is, they require the right frame of mind. Once you can explore the topics with curiosity and the drive to build, it becomes easier, and downright fun!

The problem is, people often come to programming with a mind clouded with anxiety and fear. If you're new to it or have failed to learn in the past, you might be thinking some of these things:

  • Am I even good enough and smart enough to learn programming?
  • Can I ever go from simple concepts I learn to real world tools?
  • Is it too complex for me? There are so many pieces to this puzzle!
  • Will people think poorly of me if I ask a dumb question?

And to all of these, I say: screw them! The sooner you learn to ignore these questions, the more you'll accomplish!

1. Yes, you're smart enough.

Programming is hard in the beginning. But it's not because of the complexity. It's actually because computers are dumb at a lot of things, so you have to learn to say exactly what you want. It's not because programming takes a PhD to be good at - it's more like learning to speak with a toddler to get your message across to them.

If a toddler doesn't understand what you mean, they might cry or they might ignore you. That's what computers do. They say "Sorry, I didn't understand you. Explain it again in a way I can understand" or they might just do something different from what you wanted.

2. Yes, real world problems are quickly solvable.

After you learn to speak to your dumb machine to do simple things, then you get to speak human to get things done. You'll have a goal in mind, and now the only task is to convert your human ideas to the machine. Software problems are usually of the sort where you take an annoying or repetitive task, that you know how to do well manually, and then find creative ways make a machine do it instead.

Once you get the basics down, there are tools to make everything easier. Whether you want something on a command line, a website, interacting with social media or other apps, or make a game, there are crazy simple tools to do them all.

3. No, it is complex, but you get to focus on what you want to do!

In science, there's a common phrase: "Standing on the shoulders of giants." Our current discoveries are building on thousands of years of previous work. Many of the things we're building now were impossible without the work of others with fewer tools available to them.

Programming is the same. Whether you need to easily store and look up information, scale to handle millions of visitors, bill customers, or provide a nicer interface to do something, you don't need to know the intricate details of how this happens because others have already done the work for you!

The biggest hurdle to programming is still just learning to talk to our child-like machines. Once you know that, you can interact with tools built by humans so you can focus on the task you want to accomplish.

4. No, you will find supportive people to help on your journey.

Okay, to be honest, yes, there are jerks in programming communities. But these people are overwhelmingly inconsequential. You can find supportive, friendly, interested people who want to help you.

Every programmer was once in the same situation you are - confused about how to make the computer do what we want. There are large communities dedicated to helping people, from StackOverflow to Reddit to IRC/Slack, you can find help when you need it!

And if you do encounter a jerk, don't worry. They're hiding behind anonymity on the Internet, and there's no need to let them ruin your mood. Find the good, constructive information in there, and discard the rest.

Want to give programming a try?

The Brisa Python Course is currently free. We're looking for the brave beginners who want to dig in and start doing things.

No account signup, no annoying ads, no tracking to advertise to you, just a simple online tool to help you get started!

There is one catch, though: Your feedback is desperately needed :). At the bottom of each lesson, there is a 'Lesson Feedback' button so you can help us find out what's confusing or boring, and even ask for help - just make sure to fill in the contact info so there's a way to get back to you!