Programming can seem scary and intimidating before you get into it and oftentimes that is the first obstacle that people interested in programming have to overcome. For some reason, there are these ideas that are quite spread that are not really true but often come to one’s mind when programming is mentioned. I have heard them myself and have had some of them myself, so I figured that writing about it and trying to dismantle a couple of these beliefs could be helpful for someone out there wondering if they should give programming a chance.
- Unless you work with something very specific you will rarely use math and no specific foreknowledge is required for you to master a programming language. I hear this one a lot and have even had to persuade a couple of people that you don’t need to be a math genius to code. I would guess that this idea comes from the old days when computers were just starting to change the world. At that time there was way more ‘manual labor’ involved, and also mathematicians and people in similar fields were often recruited to work with computers. (before we got proper university programs for software engineers) While their jobs might have involved calculations and math and all the tricky things, I don’t know a single developer who works with math or needed to get extra good at it to get their job.
- It’s all about patterns. It takes some time to train yourself, but after a while, you start realizing that programming is all about patterns. Start noticing them and implementing them as you grow your skills.
- The language syntax is easy, but you must understand the concepts. Like with a regular language, learning words can be easy, but the grammar rules can be harder. The concepts are going to take your time and all the patience you have to master them will pay off later. No matter how tempting it might be to skip certain steps, they will come for you later. Just keep in mind that the foundations are always the most important, and without a solid foundation, you can’t build anything.
- Practice is everything, and you just have to keep on practicing and using your gained skills to build things. I’d say that patience and curiosity are two qualities that you need in this area as you’ll need to learn new things and you’ll sometimes run into challenges that will test your nerves (poorly written code, annoying bugs, and similar).