Learning How to Solve Problems

Learning How to Solve Problems

You've always wanted to learn how to build software yourself—or just whip up an occasional script—but never knew where to start. Luckily, the web is full of free resources that can turn you into a programmer in no time.

Since the invention of the internet, programmers have been using it to discuss software development techniques, publish tutorials, and share code samples for others to learn from and use online. If you're curious about how to become a programmer, you can get off to a running start using tons of great free web-based tutorials and resources.
- Programming 101 at Lifehacker

Now I'm jumping from a very mushy poem post to a technical one. Found this post at Lifehacker back in November and I didn't get to share it right away. If you're interested in learning programming, this Lifehacker article might get you started.

Bottom line is you can totally teach yourself how to code. Most of what I know now is from self study (most especially everything I know about Drupal) and through lots of Googling. Although there is only little programming in setting up Drupal, knowing PHP helps you understand how to make a few customizations here and there.

On top of other Math and computer nerd traits, I think the following traits are also important to succeed as a programmer:

  • You must be a problem solver. At a high level glance, we are creating programs or software to ease problems, automate workflows and create solutions. At the low level, nitty-gritty details of the software, you will need to solve how to make a certain part of code do what it is supposed to do using what you know just like playing a game of connect the dots. You don't have to be good at reading binary digits (although it will help), you just have to be systematic in approaching a problem.
  • You must be good at connecting the dots. If you don't have this trait, you will get stuck more often than not. Investigate, search, ask, investigate, search, ask. Like the article said, there are tons of resources all over the web. If you can't find it, ask someone you know. Sometimes, there will be no dots to connect. You just have to make them yourself.
  • You must always consider other options. This is where I'm not so good at. Being impulsive, I usually propose the idea that first comes into my head. I believe that as a problem solving programmer, you must find options, different angles, different approaches to the task at hand. This will usually help you find better solutions than what you initially thought of. A concrete example for you to do would be to read more "programming primer" articles and not just the one I shared above. Be a wide reader and see other approaches there are to learning the code of the nerd.

If you have these traits, I think you'll find learning programming fun and easy. What do you think makes a successful programmer? I'd love to hear what you think. Post them on the comments below.