At the moment internationally Information Technology and Software Development specifically is one of the industries that seems to be surviving the curse of the recent recession with major skills shortages being reported in this sector. This is primarily a result of what happened after the "Dot com bubble" burst in the early 2000s and as investors lost confidence on the economies of IT, so too did its potential students, who opted instead for more concrete and proven industries like construction amongst others. However the IT Industry is undertaking somewhat of a boom during the last decade with the proliferation of the Internet and terms like apps, Facebook and Twitter emerging almost on a daily basis. These companies are on the look-out for people with programming and related skills, but fulfilling those roles is not always a straightforward task and with so much unemployment is it difficult to co-relate the two situations.

Not rocket science?

Necessary Skills

There are a myriad of skills that make up what a developer should be and yet there are no hard and fast rules that put someone into the box of being one. The following are some skills that are very important however

  • Interest and familiarity with Computers – Obvious one, but this is here for a reason. If you have a passion for the Internet, have been using your PC for years, have your computer setup just for you and are confident to find anything you need or try to find solutions to issues on your PC, then this is a good start to beginning the programming mind-set.
  • Analytical Mind – The role can range from creating new applications/systems or managing/modifying current ones, nonetheless you need to have a very careful approach as a developer to create solutions that work and that are exactly as your clients might have worked for. This process will involve analysis of client requirements, analysis of available technologies and analysis of the best systems architecture to solve that particular requirement, so analysis is at the heart of every step of the Development Lifecycle.
  • Determination – Bit of a cliché but you need a determined mind-set and some patience to manage a day in the life of a programmer, sometimes there will be problems that you can’t figure out yet, a computer screen that keeps saying no when you want it to be a little more co-operative but you have to persevere. The reward is the satisfaction of having overcome that problem as well as getting one over on the computer of obviously lesser intellect.
  • Quick Learner – Technology is rapidly changing, and you have to be able to move with it, this needs a self-motivated approach to self-learning, something a software developer needs to do on a constant basis. This should not be a frightening thought though, principles for the most part stay the same and if you have a good grasp of them then you will be able to fit the new technologies around them and pick them up quickly.

Steps to becoming a Programmer

  • Introductory Course and Research – It really depends on where you are starting from, but introductory courses are always a good help, whether it is a locally held class or an online resource.
  • Identify what you like and specialise. There are many different areas within the role such as Web Development, Desktop and Mobile Phone Applications Development and Distributed Application (Cloud Computing) Development. It is important after your research to begin to figure out what area you could potentially like to work in. This would also depend upon in which the demand for such jobs are and associated salaries.
  • Program, program, program – begin to create some small applications and learn by trial and error. There are loads of online lessons and samples of where to begin from.
  • Certification – The more comfortable you get with programming and the more you have an idea about what area you might want to go down, you should consider getting certified to make you more and more employable. This does not mean having to do a 4 year degree, the opposite in fact there are a lot of companies out there looking for employees with very specific skills, which there are specific certifications for, such as becoming a Microsoft Certified Developer or Certified Database Administrator.

The industry as a whole can be somewhat daunting to approach, but with some analysis (there is that word again!) that is easily done, you can get a job, the question is, are you up for the challenge?