5 Fears of Coding... DEBUNKED!
People are afraid to code. I know; I was one of them. This whole new world of words and colours is very daunting at first sight. The technologies are vast and seemingly never-ending and it's confusing to figure out where to begin. As I peeled off the hard shell of ignorance layer by layer, I realised things aren't as freaky as they seem. These are the five main obstacles to your changing the world.
1 - I NEED TO BE REALLY GOOD AT MATHEMATICS TO CODE
Mathematics is about problem-solving and creative thinking. Coincidentally, coding is also about problem-solving and creative thinking. But that's where the similarity ends. Sure, there are some fields of coding like Machine Learning that uses intensive algorithms based off complex mathematics, but not all code is like that, and the overwhelming majority of web development is more a creative journey of solving simple problems with awesome tools at your disposal.
Coding is more logical than purely mathematical. the building blocks of any coding language follow simple logic.
A coder goes to the shops. His mother asks him to get six eggs. "If there are any apples," she adds, "get a dozen." Our hero returned with 12 eggs.
While mildly amusing, it demonstrates the logical flow of code in a very basic way. Code is structured in an intuitive way, where conditional logic can result in execution of certain blocks of code. If I was a doctor and had a list of patients, I'd want to store that list in a suitable container so I could retrieve any patient at any time, and within each patient, store all his or her credentials in an easy-to-fetch format as well. Code is more an extension of innate human logic, a realisation of the abstract thought processes we encounter many times a day. If you can think, you can code!
2 - I NEED A DEGREE IN COMPUTER SCIENCE FIRST!
Um, no you don't.
Think about it. Technology is increasing at a rapid, exponential rate. Open-source projects that have become the backbone of development such as Nodejs, Docker and React, have hundreds upon thousands of contributors around the world who advance one another, far outstripping the knowledge that can be amassed within the walls of a university. The playground has gotten a lot bigger.
What would impress a potential employer more: A degree, or a rich github or similar portfolio that showcases you actually know how to code, how to build things that work, and how to solve problems with code?
The best part is that you can learn rapidly and build that portfolio easily for a fraction of the price of university. On Codementor you can get great ideas from Projects to get you started. Online courses from Udemy were what I began with essentially, and a few months of investment helped me skyrocket to mastery. 98% of the time their cheap courses go 98% off, and learning how to code and boost your career has been reduced to the price of a night out at a semi-fancy restaurant. Hold the steak on this one; I've just gotta build that app!
3 - I HAVE TO REMEMBER MASSIVE TEXTBOOKS' AMOUNT OF STUFF!
If you go onto any coding language's website, it's true you'll see reams and reams of documentation. See Nodejs for example. And it can be initially overwhelming, and the intricacies and subtleties seem to go on and on and on.
There IS light at the end of the tunnel, though. You won't need even a fraction of that knowledge to be a successful developer!
The method I employ with development is, "Okay, so I need my app or site to perform this specific function; I wonder what will help me get there..." and then it's off to Google! Here are a few examples:
- I need a good module so a user can select a date, a time, a date range... Oh, let me google "react date picker"... and what do I get? react-datepicker!
- I need to generate a pdf and give the user download ability... react-pdf!
- What's a nice way to show dropdown and multi-select options... react-select!
Okay, I admit all the above are React examples, but I'm proving the point that any problem I wish to solve has so many solutions catered for it already, regardless of programming language. All you need to do is ask the right question. And then the creative task of putting all the puzzle pieces together.
Expecting a developer to know all the documentation for something would be the equivalent of expecting an artist to manufacture his own paints and brushes. To make a polished, professional product, sure you need to know stuff, but definitely not tons of stuff, and definitely not at the outset. As you mature in a desired language, there is always room to learn the more quirky stuff of the subject that can score efficiencies and optimisations here and there.
Eventually, the documentation of an API won't be scary because you'll know how to navigate it to find the answers you seek (without memorising the 600-page textbook)! And that'll be another thing you can tick off your mastery list.
4 - IT COSTS A LOT OF MONEY TO LEARN AND TO DO CODING!
I will give you a breakdown of the money I have personally invested up to this point:
- Courses in Nodejs, Graphql, React and Mobile Development on Udemy: R$15 a pop adding up to around $50. I bought courses in Machine Learning and Video Game Creation for a rainy day, too, but you don't have to be as extravagant as I,
- A domain name from GoDaddy: Around $8 per annum,
- Coding tools: Visual Studio Code, Android Studio, Unity: FREE,
- Coding language setup: Nodejs, Java, Graphql: FREE,
- Deploying a React application using AWS Amplify: FREE,
- Setting up a blog database and environment using sanity.io: FREE,
- Relational Database Management Service using Amazon RDS: From around $2 a month.
So you see, to learn coding, become professional and have a sweet portfolio of the-sky-is-the-limit apps, you will be spending LESS THAN $100. Compare that to a university degree that begins at around $1 600 per year, and the myth of having to break the bank to begin your coding journey may just as well float away.
The costs will increase obviously as more resources are being used, such as more users signing up and your need to store more data in your databases, but more activity could mean more revenue anyway, and the revenue would far outweigh the small incremental costs of infrastructure. And as your skills begin to snowball, the passive income opportunities could be massive.
5 - IT'S TOO HARD... I'M GONNA FAIL ANYWAY....
It's as cliche as you can get, but it speaks meaning. Failing is the only way to know things properly. It's important to get out of the school-system thinking, where a pass is necessary and a fail is the end. Life doesn't work that way.
Your code will break, and break, and break again. But the thrill of your code's finally compiling, of figuring out the last missing piece of the puzzle, of that "AHA!" moment at 2 in the morning when a sudden wave of inspiration floods over you, that thrill can seldom be beat. And when you see your code, your vision, actualised, then you will realise it is worth all the failure in the world.
There you have it, folks.
Do not let your fears overwhelm you. Coding is easy and accessible to all. The barriers of entry are non-existent. All it takes is smarts. I bid you much joy and excitement as you unravel the mysteries of the machines.
Until next time!
~ Sean
All Images Provided by Unsplash
static website forms