There have been many articles written about why everyone should learn how to code, why people should consider doing a career change into computer science and also, why programming isn't for everyone....
Here are my main reasons for wanting to do it:
- Computers are the future! The cheesiest, but most important reason....although the tech revolution might feel like it started a while ago, I don't think it's too late to jump on the bandwagon and the way companies and individuals are using technology is still evolving rapidly. I feel really lucky to be living through the Digital Age, and as a late 20-something, I can still remember a time when hardly anyone had home internet, or a mobile phone, (and if they did have one, it looked a bit like this ->).
Computer science education in the UK has really been quite deficient relative to how fast the industry has expanded, which hopefully means that the supply-demand balance is favourable in terms of finding a job!
- Programming is relevant to any industry...I think this is an especially good reason to try out computer science, if like me, you are not sure what your true calling in life is! Being able to program will help you in virtually any job, and it means you can use your skills in a wide variety of industries. One job that I would absolutely love to do, but for various practical reasons is not a viable long term career choice is to be a scuba diving instructor...last year on holiday, I discovered that even they use computer programming to help protect one of the most beautiful creatures in the ocean; manta rays. Population numbers of these graceful animals have depleted rapidly over the past few years, leading scientists and diving enthusiasts to collaborate in order to build a database of manta rays using photos taken by scuba divers. Manta rays have unique patterns of colouring on their undersides, and using a computer program, photos submitted after a sighting can be compared to track individual rays, see http://www.mantamatcher.org/ for more details.
- I like puzzles.
- Programming leads to results (unless you have written an infinite loop). There must be millions of jobs out there that don't result in a product that will actually be of use or used by anyone. Dilbert cartoons are genius.
- Programmers work collaboratively! Almost every job requires team work at some point, but I guess that doesn't mean that everyone you come across is a team player. In finance and other industries, often the working environment is set up so that employees are actively competing against each other, which probably does yield better results in some cases for the employer, but at times can also be destructive. From what I gather, it is extremely rare for a programming project to involve just one person, and working together as a team and sharing information for the benefit of the overall project seem to be key tenets of the workplace at most tech companies. Indeed, the prevalence of open-source projects really reflects how generous programmers can be with regard to helping each other out!
- You can learn to code pretty quickly....in order to get a taste of programming, there are many easily accessible and short online courses you can take. Many people rely solely on self-study using the wealth of knowledge on the the web to retrain themselves. After looking at a few job adverts, it seemed that many employers wanted some sort of Computer Science qualification or degree on your CV. I am lucky that there are 3 universities in London offering a 1 year full time (or 2 years part time) Masters conversion course for people who didn't do study Computer Science for their undergraduate degree. Although these come with a high price tag, both in terms of tuition fees and opportunity cost of not earning a salary for a year, in the grand scheme of things, being able to retrain for a new vocation within a year is not too bad compared to some other professional qualifications!