Pinterest Stumbleupon Whatsapp
Advertisement

learning how to codeSkilled programmers have been in high demand for years now, and it doesn’t look like that demand is about to go down anytime soon. But even if you don’t intend to make a living as a professional programmer, learn how to code proficiently is going to come in handy in any computer-related job – even as a manager. But if you’re reading this, I probably shouldn’t have to tell you why becoming a coder is a good idea. You already know, and I guess you know something else, too – it isn’t easy.

Mastering the art of programming takes thousands (yes, thousands) of hours. Still, if you spend those hours well, you’ll get there sooner (and have more fun along the way). Here are a few ideas for you to consider and maybe try out on your path to becoming a coder.

Solve a Real Problem

Theory is boring. So are theoretical problems, usually. If you’re only learn how to code to make some money, well, I’m not sure how well that’s going to work out. But if you have an actual passion for building things, go build them. So the first question you should probably ask yourself is “why do I want to learn this?” If that answer is “to make something“, well, go make that thing. The good news are that the first step doesn’t require you to know how to code anything: You just have to write down (and preferably, sketch in) what would that thing look like. What’s the application that you’re missing? What tool doesn’t exist, but you really need?

What’s nice about this approach (also known as “scratching your own itch”) is that your project doesn’t have to be grandiose. You can start out with something really small, just create a simple utility. But no matter what it is, you should care about it. The first thing I ever wrote in Ruby was a personal project I’ve kept on using for years, and have never released to the world. Still, I’m very proud of how it came out, and much of what I know about Ruby (not Rails) came from that project.

Start With High-Level Information

learning how to code

Yes, I’ve singled out a specific book here. No, O’Reilly didn’t pay me (or MakeUseOf) anything. It’s just that good. I almost never make it through a book about programming, but Code Simplicity kept me fascinated all the way through. It’s a book about the art of programming, with almost no code in it. You don’t have to know a programming language to understand it. It covers things like the basic reason to even program anything (to help people!),  when should you introduce new features into your application, when to optimize your code (and what’s premature optimization), and a lot of other good stuff.

Advertisement

Once you finish this book (or another book like it, if you find one), you’ll be at a much better spot to judge your future studies.

Carefully Pick Your Technology

Should you go code your first project in straight-up ANSI C? Unless you have a very specific reason, the answer to that is “probably not”.  Good coders know how to code, rather than a specific language – they can learn any language they need for a given project in a short amount of time. But doing this for the first time isn’t so easy, because it’s not the language you have to master, but the general programming concepts (program logic and flow control, variable types and scoping, objects, and all of that good stuff). So, you should definitely spend some time thinking about what language or technology you want to code in.

This comes after picking your project, because once you know what you’re trying to make, you will be limited to a narrower subset of possible technologies. You’re not going to code a native iPhone app in Ruby on Rails, for example. But if you’re coding for the Web, there are about a zillion different languages you could use, each with many different frameworks. PHP, Python, Ruby, Go, and the list goes on.

Spend time researching each of the alternatives – what sort of community does it have? How easy is it to get support? Are there good free development tools for it? James covered this topic in another article, called Which Programming Language Should You Learn For Software Development? Which Programming Language Should You Learn For Software Development? Which Programming Language Should You Learn For Software Development? When starting on the path of programming, it’s important you invest your time wisely in choosing to learn something that will both benefit you in the immediate future with visible results on your platform of... Read More .

Don’t Spend Lots of Time Learning Big  Chunks of Data

learn how to code

I once spent a few weeks watching a video course about PHP. I think it was 30 hours of video or something crazy like that. Do I know PHP now? Heck, no. I mean, I can read some of the code, but I’d say those hours were a sheer waste of time. Trying to cram so much knowledge sequentially without coding just doesn’t work. For me, carefully coding a pre-made example project is nearly as bad, because it misses a huge part of learning. I do my best learning when I’m trying to make something I care about (see above) and randomly run into problems. Solve a problem you feel something about, and you’ve learned something new. Stare at the screen for 30 hours and….well.

Do Spend Time Setting Up Your Environment

learn how to code

Just like there are many programming languages, there’s a lot of development environments out there for every language. Some people use a text editor like Vim (which I recommended in The Top 7 Reasons To Give The Vim Text Editor A Chance The Top 7 Reasons To Give The Vim Text Editor A Chance The Top 7 Reasons To Give The Vim Text Editor A Chance For years, I've tried one text editor after another. You name it, I tried it. I used each and every one of these editors for over two months as my primary day-to-day editor. Somehow, I... Read More ) or Notepad++ (which we’ve shown you how to “soup up” here Soup Up The Notepad++ Text Editor With Plugins From The Notepad Plus Repository [Windows] Soup Up The Notepad++ Text Editor With Plugins From The Notepad Plus Repository [Windows] Notepad++ is a worthy replacement for Windows’ in-built and much loved text editor, and comes highly recommended if you’re a programmer, web designer or simply someone who finds themselves in need of a powerful plain... Read More ). Picking an editor that’s right for you is a very personal process, and it’s just the start. You’re next going to have to customize it with keyboard shortcuts, color schemes, plugins, and more.

And that’s just a small part of the work – setting up a development environment requires installing the language you want to work with, many code libraries, a versioning system (like Git, which James explained here What Is Git & Why You Should Use Version Control If You’re a Developer What Is Git & Why You Should Use Version Control If You’re a Developer As web developers, a lot of the time we tend to work on local development sites then just upload everything when we’re done. This is fine when it’s just you and the changes are small,... Read More ), and more. In other words, you’ve got hours of work ahead of you setting up the environment. And you know what? That’s okay.

Just make yourself a cup of coffee or ten, and go through it. Have fun. Learn to know your tool, just like any craftsman knows his tools. Learn the keyboard shortcuts. Get that highlighting just right. The more comfortable you feel with your tools, the better you’d be able to pay attention to your code. So, this is one area I wouldn’t skimp on.

Don’t Rush Yourself – Deadlines Are Your Enemy

Whatever you do, remember – you’re here to learn. You’re not under a deadline. When the temptation arises to use a dirty hack in your code just to get it to work, don’t! Take the time and invest the care to find out how to do it the right way. A sloppy first project is better than no project, but you’ll learn much more from a project you’ve designed and built with great care every step of the way.

Have patience, and sweat the details (when it comes to coding techniques and ways to get stuff done in code).

Ask Questions

learn how to code

We have MakeUseOf Answers for your questions, and there’s also the fantastic Stack Overflow which you can see in the screenshot above. There are many other language-specific forums online, but no matter the venue you pick, don’t be afraid to ask questions.  If people aren’t nice, figure out what you did wrong and learn to ask better questions (a subject for an article in itself, really).

Failing that, go find another community. But no matter what, ask your questions, and listen to the answers. Thanking people for the time they took to help you is also a good idea.

Use Spaced Repetition To Retain Information

learning how to code

This final tip is a short one – go read all about the Janki Method. It’s an absolutely brilliant way to built an arsenal of always-current programming knowledge and retain it indefinitely, not in your computer, but in your brain where you need it. Seriously, go read that post.

Final Thoughts

Learning is a very personal thing, so maybe not all of these tips are going to work out for you. Then again, maybe you have a few other tried and true ones you’d like to share.

Most important (for me), I’d like to know if you’re going to be using any of these tips in your quest to become a programmer. Will you? Let me know below.

Image credit: Old big books via ShutterStock

Leave a Reply

Your email address will not be published. Required fields are marked *