As technology becomes increasingly integrated into our lives many are wondering the same thing: “wouldn’t it be great if I knew how to code?” Learning how to program is a great quality to have and whether you are thinking from a career standpoint, or personal growth, coding can be rewarding in many different ways.
The advantages of learning a programming language are vast. The ability to be able to build an application or a website using the limits of your own creativity is hugely satisfying. Coding in a language of your choosing is almost a guaranteed paycheck. There is a huge demand for people that have this particular skill set and it doesn’t hurt that the job you might eventually land based on your ability to code will probably pay you a decent amount of money.
There’s only one problem.
Coding is hard.
It can be frustrating and at times incredibly demotivating when something that should work just doesn’t. And that comes much later. When you first pick a language and start to get into the basics you understand just what a nightmare coding can be. There are multiple points where you feel like giving up. You may start believing that you just aren’t cut out for this sort of thing. The advantages of being able to work from home, a job in a field that is growing daily, even the more than decent amount of money that you could potentially make outweigh the unpleasantness of feeling around in the dark and looking for a single misplaced semi-colon in lines upon lines of what seems like gibberish.
In this article I’ll try to give you a bunch of resources that I think will make the process simpler and tips that other people wished they knew when they were at point zero like you. The most important piece of advice I’ll get out of the way before we go on. Be patient. With time programming will most definitely get easier and things that took an entire day to accomplish will become second nature. So, with the motivational speech out of the way let’s get started
What lies ahead
Programming is at its core a technical craft. Taking shortcuts just won’t do. When learning the fundamentals of whatever language you end up choosing there needs to be a focus on accuracy and being exact in the commands you write. In the beginning you will discover that there are components that you will need to just slog out. You will definitely need to learn a bit of math and other things that look like math and feel like math but are math in disguise. Like procedural logic.
Don’t end up defining people into two categories: techies and non-techies and deciding that you’re simply not ‘techie’ enough to code. There’s no such thing. Programming is quite simply a skill-set with a very steep initial learning curve. There are a vast number of basics that will have to be like second nature. Coding is a language so it has its own linguistic elements like classes, loops, variables and expressions, detaching yourself from the language you speak and talk to another that has its own laws and complexities will be strange at first. You will have to understand the machine you’re working on and apply techniques to optimize your system’s resources that your code will use up. You’ll write entire pages of code that will refuse to work the first time. That will undoubtedly lead you to the process of abject misery that is de-bugging.
However, if you just give it time and hold on for a bit longer you’ll get a feel of the basics leading you to write more robust code. Code that’s easy to comprehend. Code that’s easy to build on. What you are writing will start challenging you and force you to seek other avenues of innovation. You will start to evolve from a person that’s trying to learn how to code to a “software architect”. The process is slow and it takes a while for the financial returns to come knocking. But you’ll get there.
Where to start? Picking a language.
It doesn’t really matter which language you pick. If you actually build up that resolve and decide that you are going to pick a language up then do some rudimentary research and start straight away. A reason for that is that most of the programming languages that you come across will share the same fundamentals anyway. So when you get good and comfortable with one then learning another will be much simpler the second time around.
Unless you can see with a certainty where you are headed there are about five languages that make sense to pick up. These 5 languages will solve 3 areas of concern: the language will be easy as a starting point, the knowledge you gain from learning this particular language can be applied to other languages and in the long-term the jon prospects for mastering even one of the following 5 will be quite sweet. These 5 languages are:
- Ruby on Rails
In the next blog:
We’ll go into depth about the languages mentioned above and also talk a bit more about what to expect in those first few months of learning how to code. We’ll also go through a few advanced tips that I promise will make this challenging endeavor just a bit more simpler.