Simo Virokannas

Writings and ramblings

Learning to learn programming (part I)

Programming as a profession is no different from most professions – there’s no real trick to it, there’s no “learn this in 10 days”. But one skill does help you a lot: the ability to learn. That means the key is to learn to like the learning process and then never stop learning. Therefore, this series of posts will be titled “Learning to learn programming

Here’s some suggestions for anyone who wants to learn to learn programming.

  1. Try everything. When you’re starting to learn, trial and error is not a shortcut but will give you much more information than reading ever would. If a trial succeeds when you didn’t expect it to, spend a few moments going through it and trying to figure out why that happened. And if it doesn’t, don’t give up, but again figure out why. Remember that at the lowest levels they’re all just ones and zeroes and if you little by little work your way all the way there, you’ll eventually be able to understand and control all that happens within a system.
  2. Start with something simple, and finish it – don’t leave it halfway for a more exciting project. Whether it’s a small utility or a game or whatever, find out what is the MVP (minimum viable product) – the smallest subset of functionality that is required, and implement that. Once it’s finished and working, you can start adding – or changing – things. Changing parts of your own code is a natural part of the work.
  3. Read, but don’t read too much. Internet is full of other learners. If you’re looking for tutorials for beginners, prepare to encounter the online minefield of other beginners trying to help each other. When searching for answers to specific questions, you’ll probably gravitate eventually towards StackOverflow and that’s usually a good thing. Look at the answers, not the broken code in the question, and choose the answers that have high approval rates.

More to follow in part II.

(edit) Here’s a really good read: Teach yourself programming in ten years


Comments

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.