Educational Myths Related to Coding

By Nikhil Abraham

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.
  • Three to six months: Learn front-end and back-end development skills to take a concept, build a working prototype that can store data in a database, and then code a version that can handle hundreds of thousands of users. In addition, learn how to use a programming language’s external libraries to add additional functionality, user management, and version control systems such as Git so multiple people can work on a project at the same time. For data science, you’ll be able to build an interactive visualization using a JavaScript library such as d3.js. Whether learning web development or data science, it will take approximately 800 hours of effort to be proficient enough to be hired for a job.

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:

  • 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.
  • 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.
  • Sworkit: Ryan Hanna liked to work out but often became bored at the gym. While learning JavaScript and Ruby, he built an app that guided users through military-style workouts in five minutes or less. The app had over one million downloads, and Ryan eventually sold it to Nexercise, an exercise company. sells products from successful crowdfunded projects.

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

You might wonder what language to learn first, especially given all the choices out there. You could start with Ruby, Python, JavaScript, PHP, Swift, Objective-C — the list goes on. To resolve this debate, you might search for which language is the best, or which language to learn first. You’ll find articles and posts advocating one language or another. Unlike comparing TVs or toasters, a clear winner is unlikely to emerge. Sometimes you can spend more time deciding which language to learn first than getting down to learning the language.

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.

Usually, beginners start with HTML, CSS, and JavaScript. These languages are the most forgiving of syntax mistakes and the easiest to learn. Then, after you learn these basics, choose Python or Ruby if you’re interested in web development. You’ll find many online tutorials and help for both.

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.