If you're browsing the internet you've probably already heard the news.

Kids, designers and probably every other human being should learn to code.

While I don't know and can't give you the answer to the question "should everyone know how to program?" I'm quite sure about what one individual would gain from it.

But let's take a closer look into the past. My past.

In 2008, the 4th of August to be exactly, I started my apprenticeship as an computer scientist at the Canton of Basel-Landschaft in Liestal, Switzerland.

If you had ask me 1 year in advance, in summer of 2007, I would never have told you that I'm going to do something with computers. Because I had absolutely no plan what I should do. My 11th school year was just beginning and I knew after this year I was either going to be jobless or working in an industry I don't ever wanted to work in.

Everything changed with one decision. I took an optional subject class. The topic taught was HTML.

Since then my life changed completely:

  • I've won Gold at the SwissSkills championships in Trade 17, Webdesign in 2011 and 2012
  • Succeeded my 4 year long computer scientist apprenticeship with the mark 5.7 (6 is the best in Switzerland) in 2012
  • Succeeded my professional baccalaureate within the 4 years I've worked as an computer scientist apprentice in 2012
  • Started and cofounded my own business as a freelance developer/designer in 2012 and can cover 100% of my living costs from it
  • Organized a TED like event called Bridge in 2012
  • Organized Rails Girls Basel with 40 participants and 15 coaches in 2013
  • And solved many problems (my own and the ones of others) in technical and non technical fields from 2007 to present day

"Nice for you", you might think, "but why are you telling me this?"

Because those are a few of my achievements I earned during my still ongoing journey of mastering programming. And all of those things above would not have happened if I hadn't learned how to program.

Programming taught me how to solve problems. It taught me how to push myself forward again and again while thinking I'll never get the hang out of this skill. And not only in technical areas like developing, but in general. It teaches you how to analyse a problem and then find a solution for it. Instead of relying on someone else, you will be the one others rely on.

The truth is, learning to program is hard and intimidating. Especially in the early days. But what you get back from it is about a million times more worth it then what you had to or will put into it.

And of course you will also learn tons of technical skills. Which path you will follow is up to you. You can become a web developer (like me), a digital developer, a game developer, a mobile developer and much more. And don't even get me started on what you could become if you combine those programming fields with non programming fields. Your possibilities are huge. But whatsoever way you are going to choose. You will always be a magician.

Because most of the people you will have to deal with during your life will never have the knowledge and skills you have gained during your journey of learning how to program.

And to them you will be their last resort, their magician, their problem solver.