Educational Myths Related to Coding
It’s common to think that coding careers are reserved for the few technical wizards in the world. In fact, it’s a regular job for regular folks. If you’re persistent, conscientious, and curious, I’ll bet you can do it. Don’t sell yourself short by buying into ideas that just aren’t true.
You must be good at math to be a coder
Developers who are building cutting-edge games, data scientists trying to create the next big machine-learning algorithm, or engineers working in the financial services industry likely need some proficiency in physics, statistics, or financial math. However, many developers, such as those building e-commerce applications or typical web pages, do not need much more math than basic addition and subtraction and high school algebra.
A good deal of math operates and powers applications, but there often isn’t a need to understand everything that is happening. Computer languages and programs are designed to manage complexity by requiring that you understand the inputs and outputs — but not what happens in between, a concept called abstraction.
For example, when driving a car, you don’t need to understand how the internal combustion engine works or the physics behind converting the energy from the piston to the wheels. To drive a car, you need to understand how to operate the accelerator, the brake, and the clutch for stick-shift cars. Similarly, programs have functions that perform operations, but you need to understand only the inputs you send a function and the output it returns.
In other words, you need to be able to understand math and have some basic math skills, but you do not need to be the next Einstein to be able to program.
You must have studied engineering to get a job in coding
Many people who study engineering learn how to program, but you do not need to be an engineer to learn how to code. Engineering teaches skills that are useful to programmers, such as how to solve a problem step-by-step as well as working within and then designing around real-world constraints. These are useful skills, but you can learn them outside the engineering curriculum.
Many topics that are part of an engineering curriculum vary in usefulness for learning how to code. Topics such as algorithms can be directly applicable, especially if you’re working on cutting-edge problems. Other topics, such as assembly language and computational theory, provide a good background but are rarely used by most coders.
If your goal is to push the cutting edge of computer programs, a degree in computer engineering might be useful. However, if you want to create a website to solve a problem, learning to code in three to six months is probably sufficient to start.
Many colleges offer scholarships that can subsidize or completely cover the cost of attendance for women and minorities pursuing science and engineering degrees.
You can learn coding in a few weeks
Like any passion or profession, coding is an art, and coders hone their skills over decades. Although you don’t need decades of study to start coding, the amount of time needed to learn depends on your goals. For example:
- One week: Learn enough HTML to put text, images, and other basic content on the page. You’ll be able to operate site builders to create and customize informational websites.
- One month: Develop your front-end CSS skills so you can position and style elements on the page. You’ll also be able to edit sites built with website builders such as Wix, Weebly, and SquareSpace. For data science, you can learn to import and handle large data sets and use Python or R to find insights about the data.
You need a great idea to start coding
Learning to code is a lengthy process, filled with ups and downs. You might get stuck for days and not see much progress. During periods of inevitable frustration, having a bigger idea or a concrete reason to motivate you to keep learning can be helpful. Instead of trying to build the next Facebook, YouTube, or Google, try to build something that solves a problem you’ve personally faced. Here are people who learned to code and remained motivated with a project:
- Coffitivity.com: Four college students wanted to fight writer’s block by listening to ambient sound. While learning to code, Tommy Nicholas built a site that streams coffee shop sounds to add background noise to otherwise silent offices and workspaces.
- Outgrow.me: Sam Fellig is a Kickstarter enthusiast who wanted a simple way to browse and purchase items from successful crowdfunded projects. He took the leap and learned to code so he could build his website, which turned into one of Time magazine’s Top 50 websites of 2013.
Each of these sites enjoyed a degree of popularity and was noticed by a huge number of users. If something similar happens with a site you design, it serves as a nice bonus. But even if it doesn’t, you’ll feel satisfied having solved your own problem.
Ruby is better than Python
The most important thing is to learn a few easy scripting languages first and then choose one all-purpose beginner programming language to learn thoroughly.
If you plan on doing work with a content management system such as WordPress or Drupal, consider learning PHP.
Don’t spend too much time deciding which language to learn first, and don’t try to learn all of them at the same time. Sometimes people hit a roadblock with one language, give up, and start learning another language. However, the end result is learning a little bit about many languages, instead of mastering a single language and being able to build a complete and functioning website.