July 27, 2015 Five Time-Tested Tips for Beginning Developers
It’s always hard to learn something new, and programming is no exception. It’s unlike anything you’ve ever done in school. You might’ve learned a foreign language or two, but none are constructed or used like programming is. For example, if you learn Spanish, you might have to write a short recipe for making peanut butter and jelly sandwiches. All you’d have to do is find the right words for the ingredients, as well as the correct verbs for the recipe, and you’d be fine.
However, if you were to emulate that same process in a programming language, it would be much harder. You can’t just tell the computer to put the peanut butter on the bread, because you’re not defining what you use to scoop the peanut butter up with. If you tell the computer to use the knife, that’s also not enough – what if you pick the knife up by the blade, and not the handle?
Computers are completely literal; they only do what you tell them to, and nothing more. This is part of the reason why many beginning programmers are turned off. The experience can be so alien and difficult that it becomes overwhelming, making people unlikely to pursue it. However, if you take the right precautions, you can end up learning a lot, enjoying yourself, and even pursuing programming as a hobby or career:
1. Pick a language that suits your pursuits
If you’re itching to not only learn programming, but also understand the minute technical details of it, pick C. It’s very powerful and reasonably close to the computer, which means that you will learn about system-level concepts such as memory management and threading. It’s also arguably the grandfather of all the prominent programming languages used today, and has survived the test of time, still going strong after it was released 43 years ago. For an industry that moves at the speed of light, with new advancements in tech being made every day, that’s immortally impressive. C is a little bit like learning stick shift when driving – it might seem like a relic compared to what’s most popular today, but trying to imagine the mechanism behind shifting gears, much like trying to imagine how the computer’s most basic architecture works, is a very important process.
If you don’t want to worry about confusing syntax and just want to focus on the logic, pick Python. Python doesn’t require you to end things with semicolons, fuss about manually allocating memory, or spend time deciphering the way things are written; rather, it’s very close to plain English, with the simplest programs probably understandable to programming neophytes. It also, by virtue of its simplicity, promotes clean code, a skill which translates to every other programming language you could ever learn. Python eliminates a lot of the technicality behind programming, leaving you free to focus on the language and how to construct programs with minimal hassle. Thanks, Guido van Rossum!
2. Read the documentation
Remember this before asking any questions: RTFM. It’s an initialism that stands for “Read the Following Manual,” except “Following” is usually replaced by our most favorite explicit word. Basically, read the documentation. It’s there for a reason. No one wrote it just for fun; it stands as a reference guide, one that is objectively the most accurate around. Learning to reference the documentation will not only answer basic questions you have, but also reinforce the core foundations of the language for you. It will also make you a more resourceful and patient programmer. Rather than bugging other people for the answer immediately, you’ll learn to look for it yourself, in the one place you should always look towards: the FOLLOWING manual.
3. Page Larry and Sergey
Another great thing to remember when you’re programming: the internet. The internet is your friend when it comes to coding. There are so many free resources online to help you in your programming pursuits. Arguably the most popular resource out there, stackoverflow has helped innumerable programmers get their work done. You can also reference reddit’s numerous programming subreddits (r/learnprogramming is a good place to start), which are filled not only with people who can help answer some of your questions, but also people who were just like you, people who taught themselves how to program and now have a complete list of helpful resources and tools they used to become better programmers. Or, like the subheading of this section suggests, you can use the greatest tool of all time, the modern wheel for our technological pursuits: Google.
4. Take it one step at a time
Many beginner programmers have big dreams about what they want to accomplish after they learn their language. Whether it’s a game, a social media app, or even just a stopwatch, people always yearn to create something significant with their new tools. However, it’s important to never lose track of your own progress. Trying to invent something huge with a language you’re just learning is a surefire way to get frustrated and sick of programming. In my personal experience, it’s better to build little things first before transitioning to the bigger fish. No one ever skipped “Hello world” and went straight to the next Facebook. Developing smaller programs first will help you solidify the knowledge you already have, as well as reinforce good coding habits.
5. Never stop learning
The reality is, you’re probably never going to master a language and truly know all of its ins and outs like the back of your hand. Developers with years and years of experience are still discovering new things about their language of choice every day. However, you can choose to get better and better all the time. Language skills diminish if you don’t put them to use or build upon them. They’re not drilled in like basic arithmetic or riding a bicycle; they require maintenance and upkeep, practice and persistence. The point is, keep your skills as sharp as possible. Make something new every day. Read a little bit of documentation every week. Whatever you do, make sure it’s consistent and productive over a long period of time. If you don’t do this, you’re going to lose your skills, get discouraged, and you won’t want to come back to them.