If You Want To Be A Programmer, Program!

If You Want To Be A Programmer, Program! Am I stating the obvious. You would think so. However, I am constantly talking to would-be programmers that have never written more than a 100 line program. Just to give you a perspective, now days, even the simplest of computer programs have tens of thousands if not millions of lines of code.

These days for less than $500 a person wanting to learn to be a programmer can get started and teach themselves. All they need is a computer and a connection to the internet. Everything they need, the tools, how to manuals, examples, libraries, etc. is available online for free, especially if you are a student or just learning on your own.

It astounds me how often I talk to supposed software engineering or IT graduates that have never written any code outside of class. This essentially shows me they have a lack of initiative. School is there to provide a foundation but it isn't there to give you everything you need.

It also isn't enough to just want to be a programmer. Wants never get you anything. It is action that gets you somewhere.

I recently talked to a college graduate about a job. It was apparent right away that they had not received the best education but more importantly that they had not worked on anything outside of school. There was no way I could offer them a job nor recommend them to someone else, but I did give them a bit of advice.

  • Look at the different types of programming you can do out there. There are a lot of of avenues. Do you want to program for the web? How about for video games? Maybe you like desktop applications or mobile apps. Regardless, there are many directions you can go and you need to decide which one appeals to you the most and focus your efforts, at least initially, there.
  • Search the web for tutorials, books, tools and discussion forums around your topic of interest. You should find tons of free help online. Paying for books may be good as the good books (check ratings and comments on Amazon) tend to be more organized and easier to use for those who are just looking to learn something new. You shouldn't need to spend much on books though. One or two books should be enough to bootstrap you so you can get more from the stuff you find free online.
  • Where possible, download and use the most common, industry standard tools. The more you focus on tools that the majority of users are using, the easier it will be to find help to your problems with a simple Google search. Also, those tools will be more mature and stable or full featured. Using tools that are ususual is typically best done once you have a bit of practice under your belt.
  • Be bold and make your mistakes now. We learn best by trying things, making mistakes and improving our techniques. They say practice makes perfect and the best practice is to push your boundaries and try new things. Push gently though. You don't want to overwhelm yourself. Always be trying about 20% new stuff and 80% what you have already done so you know where to focus if you encounter problems. If you do too many new things you won't know exactly is causing the problem and it will take longer to narrow in on what is causing the issue.
  • Practice, practice, practice. Write as many applications as you can. Start small and then expand upon them. If you want to be an expert in your field, you will need to accumulate about 10,000 hours of practice. This translates to 40 hours a week, 50 weeks a year for 5 years. It doesn't matter how talented you are, you will need to program to be a programmer.
  • Look over the 5 subjects every programmer should know but doesn't learn in school. I have provided these 5 subjects here.

No one gets there on sheer talent, we all have to get experience. There is no excuse not to have real world knowledge obtained from doing it yourself when you go out looking for a job. If you just keep looking for a job and don't work it on your own, don't expect to find anything. Lady luck is unlikely to smile upon you.

But if you spend all the time you can programming on your own, you will open all sorts of doors. And the more experience you get, the more valuable you become and the more in charge of your career you will be.