Equip Yourself for Programming

by Eric

I was once inspired by the post It’s Not Too Late to Learn How to Code, which helped me build up the confidence that I can actually start coding, even if I was studying for a degree of Economics rather than Computer Science. Make sure you like programming, then be convinced that it’s all doable and that’s the very first step you equip yourself for programming.

Before we move to Step 2, may I stay for a while on how people can actually fall in love with programming, as to someone this is totally nonsense.

  • Well fair enough, programming can be cool. Hackers, Geeks and all the fancy stuff, SNS, E-commerce, Venture Capital, Startups, these concepts are flourishing in today’s IT world and guess what? They can’t live without programming!
  • If the glory part doesn’t appeal to you that much, then what about programming itself is well developed based on computing science? The modeling derived from abstraction, the optimization through algorithms, they are at the forefront of human understanding, challenging your view of the world. Can anything be any more stimulating?
  • Of course there are more reasons. For creators, programming is one way to make amazing things happen. Self-drived cars, artificial intelligent robots, fancy designs, and small things that make life easier, how about it, then?
  • If things mentioned above doesn’t interest you at all, why are you still reading this post?

Then we come to Step 2. How we actually start programming.

  • At least you have to understand that programs are created for solving problems.
    If you are not good at finding and defining problems in your real life, then you may spend most of your time solving someone else’s problems, which is neither better nor worse, just a piece of fact, though a fact that may make you feel uneasy. Come on, how can you be a good programmer if you are not familiar with problems? Applying a wrong solution to a problem is nothing better than not solving it at all.
  • Then you try your best to solve the problem. There is always more than one way to Rome, so pick up the quickest way to start programming to solve your problem. Latest programming languages are easier to get you start. It’s only after you program that you actually feel about what programming is. (I assume that you already know how to make use of online resources to get you start.) Introduction CS courses in universities usually introduce students in this way, as you can see in Harvard, Stanford, etc.
  • When you actually feel what programming is, rethink about your feeling towards it, as quite often you might feel it in a wrong way. Programming is not about figuring out what you type in (I know people might focus intensively on syntax and all the statements in the editor the very first time they started to code), but instead all the things come after your typing. How the piece of code is actually carried out by the machine, what may go wrong, what’s the better way to write it, and so on.

Step 3 is about practicing and studying, once you get started, don’t stop. Keep your mind open to others. You’ve got a long way to go to learn from others and to master it. There are two good posts related to this topic, one from CoolShell and another from Akash Manohar. Both of them contain more detailed guidelines for those who want to better their skills and understanding of programming, highly recommended.

It’s after you are getting better at programming that either you are closer to your goals or you might forget about what got you started. What do I mean? Well some people just tend to get lost in technical details and optimizing process so that they end up programming for programming instead of solving their problems. That’s not we are supposed to do. Always keep a big picture in mind for what you are doing is going to affect other people’s life. Do harmonize the world, by contributing and not producing rubbish. That’s why the latest definition of Software Excellence from ThoughtWorks put business value and everything related to a bigger eco-system into consideration. Do good stuff for good reason, or it can be a waste of effort. That’s Step 4.

I’ve shared my experience with my friends who came to me with the motivation to start programming and with the question “How do you actually managed to start programming in such a short time?”. I gave the same idea as this post, which sums up to proper motivation, interaction with programming, serious study and practice, and goal oriented mindset. Hope this post can answer you something.