I have the honour and luck to have taught so many people. From Code Club to CodeFirst:Girls, Rails Girls and 23 Code Street. I’ve taught most ages, and while their teaching needs change, their questions do not. Here is my advice to anyone who is looking to change into the world of tech, and those who want to get stuck in and learn more.
I’ve taught a lot of people, but I’ll be the first to say I mainly teach coding. The difference between the two is vital for anyone wanting to become a developer.
First of all, coding is the ability to hack together lines of code and get something working. It’s learning how to be a master at Googling or it’s being a copy/paste rock star on Stackoverflow. Coding is a different literacy and it should be treated as such. I know basic mathematics and just because I can do pythagoras theory, does not mean I can solve complex trigonometry.
Programming at its core is about problem solving. It’s being faced with an idea, like building a social network, and crafting a solution. It’s about architecture and ensuring your code is built correctly, using design patterns and best practice. Sometimes being a programmer doesn’t mean touching any piece of code. Many architects don’t code on a daily basis.
Programming languages are basically what it says on the tin. It’s a language. Just like spoken languages, each one has their strengths and weaknesses. Imagine you have the problem of writing a book and you could choose the language to write it in, which one would you choose?
There are the languages you know, maybe Spanish or Russian, so you know the ins and outs of them. You know their benefits and how to express yourself with confidence.
But if you could consider English, you have the advantage of a wider audience. Many people could read your book all over the world.
Then you take a look at French and realise they have so many more words specifically designed to paint the scenes you want your audience to see.
French is a high-context language and English is low-context.
Which one do you choose to solve your problem?
Just like Python was built with science in mind and Java for enterprises, each come with their own opinions of how to solve problems. They come with their own flaws and perfections.
Remember the language you pick will not be the last! It’s just a matter of picking the first one.
Absolutely not! You have many options to join the world of tech if programming is not your forte. It wasn’t mine and I recently made a career change into User Experience. Techies are great at problem solving, but we fall at the first hurdle of organisation. Teams need designers, business analysts, office managers, recruitment. Look out for other classes and groups which have nothing to do with coding. There are more than you probably expect or even manage to find when looking.
One thing I would advise to anyone though moving into tech, is where possible have a portfolio. Even researchers have portfolios carefully sharing the stories of their thought processes. Use Github to show off your commits and the solutions you’ve crafted.
Aim to do something meaningful and use your skills for good where possible!
Previous post: What you quickly learn first time moderating
Next post: Psychological Blindnesses in UX