YAWYSCA or Yet Another Why You Should Code Article
AndrewDuckworth$tl;dr I fall within the “yes you should learn to code” camp. I do so because it has both immediate and related benefits to everyone and computer science itself.
Reasons to think everyone should learn to code…
Great developers can come from everywhere
There are countless good and great developers and computer scientists who’ve come from a variety of backgrounds, not just a comp-sci background, that it is possible that anyone could pick it up and be good at it. Stepping outside of computer science, think of art as a discipline. Not every great artist was classically trained. Not every classically trained artist was great. Henri Matisse came to painting after getting a job at a bank (I’m sure there are better examples, an accomplished art historian, I am not!).
So, for you all you know, you could be a great developer. Or your friend or relative or whoever.
And for the good of computer science, it is worth encouraging everyone to get involved. If a great developer etc. can come from anywhere, the more we encourage people to dip their toe, the greater the chance we have on finding that Matisse.
Learning to code, like other crafts, can teach you something about yourself
I’m a big fan of the notion that learning/doing things provides the room to improve as a person as well as space to learn about yourself. Coding is hard. Coding brings up problems. Hitting adversity and how to deal with that, teaches you things. I think this has made me a better person and better at creating and sourcing solutions (never mind improving my google-fu).
It has also exposed some things I don’t like about myself. I pride myself on being a problem solver, but sometimes I can be a problem avoider. This is sometimes a virtue (like NOT saying something when someone isn’t ready to hear it) but it can also be a vice (not saying anything at all, even when those thoughts could help the person in the long run). Learning to code exposed this to me. This has/will no doubt make me a better person. More aware.
This isn’t necessarily a benefit of learning to code that is integral to it, but like many crafts it constantly provides roadblocks (and unlike gardening, starting from scratch is just a remove directory command not four days back-breaking work!) and roadblocks have the chance of offering the chance to develop as a person.
Learning to code is a tangible benefit
In terms of more direct benefits of learning to code, it can provide you with concrete problem solving skills. A person I used to work with used to say “learning computer science changed how I solved problems”. They meant that since learning to code, they approached issues in a more systematic and structured methodology.
Similarly, if you learn to code and want to create something interesting (like an app that latches onto a moment in time) then you are able to do so. You have the ability to talk and tell a computer how exactly how to do something you want.
But more than the ability to think in more logical ways or to express yourself and your imagination, you can make a damn fine stab at a career with coding. You can earn serious money even without being in the top 1% of your industry.
From prototyping designs, creating scripts for spreadsheets, designing simple plugins for CMSes, to building highly available, distributed systems, coding can give you an extraordinary career. It pays really well, offers a massive range of roles that fit skill and personality types as well as work from home and start-up/entrepreneur possibilities. Coding/programming may have many issues and sins as an industry (which industry doesn’t?), but it does offer amazing opportunities.
But not EVERYONE is going to be good at it!
And that is fine. Not everyone is good at gardening, painting or pottery but I doubt we’d discuss whether anyone should give those activities a try.
Everyone should give coding a try. It has many tangible and intangible benefits. Many people can make a living from it. Some people will be quite good at it. A few may even be great and make great things!
If you fail, try again or try something else.