Imagine having a job that will always be in demand.
There's a growing shortage of programmers: projections show that by 2020 the industry will be missing a million programmers in the US alone - and many tens of thousands in Switzerland.
So why not jump in?
But you have to do it right. Here are the seven golden rules of becoming a programmer, courtesy of the folks at cutting-edge Propulsion Academy.
Rule 1: Set the stereotypes aside
While not everyone can be a successful programmer, many of the stereotypes are wrong…
“It's for boys.”
No! Women have been successful programmers ever since the beginnings of information processing during WWII, which crucially relied on women “computers” (yes, this term denoted people then). And today they are making their mark everywhere – including as many of the top recruits at Propulsion Academy.
“It's for nerds only.”
No, you don't really have to be in the arrested mental state of solitary-teenage-boy-stuck-to-his-keyboard-and-subsisting-on-Rivella-and-stale-delivery-pizza. The myth of the programmer as the social-misfit loner dies hard. In reality, programmers are as normal, or not, as people in other professions. In fact (are you ready for the revelation?) some of us even have relationships!
“It's for science majors.”
It does help to have studied math or physics, but you'll be surprised at how many successful programmers came from completely different backgrounds, such as music or philosophy. You need a few key characteristics, such as intellectual curiosity and the ability to reason logically; science majors often have them, but many other people do too! Don't let anyone tell you that you don't fit the mold.
Whatever your background, you might have what it takes to be a good programmer. Find out for yourself by applying to one of Propulsion's programmes. With full and part-time options, there's something in it for everyone.
Half of Propulsion Academy's Full-Stack Development class is composed of women, a number significantly higher than traditional IT education programmes.
Rule 2: Program, program, program
Some people grasp the concepts of programming right away, others take more time, but in all cases that's only the first step. To become a programmer you have to actually program. Only by trying to solve programming problems, often getting burned at first and trying again until you get the results right, will you master the craft.
In this process, pursue variety. Do not confine yourself to one application area but try your hand at -- for example -- web site programming, numerical computation, text processing, system-level programming such as device drivers, and so on. Throw in a game, maybe a mobile app. Try different programming languages. Diversity breeds mastery.
Rule 3: Get out of your den
Programming requires concentration, but is also a social activity. Staying at home reading manuals or Stack Overflow is not enough. Get out and talk to people. Talk to fellow programmers, some more advanced, some at your level, some more novice. You will learn from all.
One of the most important features of the curriculum at Propulsion is the emphasis on group work. At every step you practice together what you just learned, and students voice their concerns, misunderstandings and questions, and help each other overcome hurdles.
Rule 4: Strive for quality
Lots of people can put a simple program together. It won't be great, but after some trial and error it will work. Almost. More or less. Pretty much. Most of the time.
That is not what companies expect from professional programmers. The software must be correct: it must produce the right results for all cases. It must be efficient, secure, extendible, reusable, and of course easy to use.
Reaching quality means testing your program extensively -- but that is only part of the answer. Garbage that has been tested and fixed is still garbage. The secret of producing good software is to think of quality throughout the development process, not just at the end.
Rule 5: Read code
Besides writing lots of your own code (rule 2), you need to see how others tackle programming problems. Read code from your fellow students, and don't stop there: there's endless code available online, coming for example from open-source projects such as Linux or Eclipse.
Other people's code can be an endless source of inspiration, but keep your critical mindset: explore what the authors wanted to do, why they wanted to do it, how they did it, what they did right, what they did wrong, and whether you could do better.
Rule 6: Read the top software authors
You should also read great articles and particularly books which have shaped the evolution of modern programming. Sure, you can learn the basics of object-oriented principles, design patterns, analysis of algorithms, computer graphics and other seminal concepts from Wikipedia articles, but the deeper insights are in books by the luminaries in the field.
Rule 7: Talk to users
Great programs are great not just because they produce the right results quickly, but because they fulfill users' needs in a way that feels natural to them. A great programmer comes up with a brilliant software design and then hides that design under user-oriented engineering that will make it usable by its target audience.
So you should get out of your den not just to talk to other programmers (rule 3) but to interview your future users, be they reservation agents, dentists or belly dancers.
What feels natural to you as an aspiring programmer may not feel natural to them.
As you can see, there are many challenges facing potential programmers – but the way to overcome said challenges might be easier than you think.
One way is a traditional five-year curriculum – but that's not the only way. Find out more about Propulsion Academy, where you can become a programmer after just 12 weeks.
Unleash your programming potential - find out more about Propulsion Academy