Level Up

Can anyone learn to code?

Yes. Anyone can learn to code. 🙆

Computers are machines. We can give them instructions and they will carry them out. These instructions need to be structured in a very particular way for computers to properly carry out all the intended steps. 🤖

Programmers act as translators that take the requests and desires in humanspeak and convert those into computerspeak.

In that sense, learning to code is like learning a new language. There's an alphabet, syntax, pronunciations, and vocabulary.

If you can invest the time and effort on learning a new language, you can learn to code. 🎓

Please note that we are being very careful to avoid saying that "anyone can learn to code" is the same as "learning to code is easy."

There will be some headaches and heartaches, but this is normal for learning anything new. 😤

…but what about?

Programming does tend to have a looming stereotype of a profession that only brainiac nerds are qualified for. 🤓

If you don't think of yourself as a braniac nerd, this may make the notion of learning to code unattractive, overwhelming, or not even a blip on your radar for potential career choices.

What separates experienced developers from beginners are just years of learning from mistakes. Problems start to look similar. Solutions can be arrived at sooner by knowing what worked and did not work. This is something that a beginner can accomplish through a similar investment of time.

Whenever you feel out of place while learning to code, you should listen to some of the diverse journeys that other coders have had. Not everyone set out to be a programmer from the start. We had different interests, majors, and careers. We are solving problems in a variety of fields and industries.

Does everyone need to learn to code?

No. 🙅

As technology and computers become more of a part of our everyday lives, computer literacy helps to better understand its role and purpose in the world.

Having the means to write code allows you to have greater agency in this world without relying on an intermediary.

There is nothing wrong with not wanting to learn to code.

Why should I learn to code?

People should learn to code because the computer is a work amplifier that is not confined by constraints like physical space or weight. It is a powerful tool that does not complain about repetitive or dull tasks that sap our time. And time is one of the most precious things we have.

If you find yourself repeating a chore frequently, perhaps it should be automated. If you find yourself encountering a poorly designed interface, perhaps it can be modified. If you are viewing incomplete or malformed data, perhaps it can be scraped and massaged into a format that better suits your needs.

As side effects of learning to code:

  • Learners should feel empowered to reshape the digital world as they see fit.
  • Learners should have tools they can leverage to solve problems they see that no one else is stepping in to address.
  • Learners should feel a kinship to other learners and share and help one another.

How long does it take to learn to code?

It really depends on the scope of what you are attempting to accomplish.

A little computer literacy can be established in a relatively short amount of time.

If you seek to pursue programming as a profession, it will take considerably more time and effort.

Is it too late for me to learn to code?

No. 🙅

The romanticized tales of how someone wrote their first program as a child can be intimidating. However, you should not feel intimidated. People are learning to code at all ages.

It is not too late to learn to code.

Do I need a college degree? Do I need a Computer Science degree?

No. 🙅

But it is true that there are some lingering archaic resume requirements in Human Resource departments that continue to assume that a degree is necessary for programming.

Fellow developers generally understand that as long as you can do the work, you are a potential candidate. Good teams come from a variety of educational backgrounds and solve problems by drawing upon their computational and non-computational areas of study.

Which code school or bootcamp should I attend?

This is a difficult question. 🤔

Code schools and bootcamps are a serious investment of time and money. You need to select one that accomodates your schedule and your budget.

Talk to past students and check their experiences. Watch where they end up in the following months. Determine what the curriculum is like, and what the support network is like during and after graduation.

What should I start with? What should I focus on?

This is another difficult question. 🤔

Java? JavaScript? PHP? Python? Ruby on Rails? C#?

Front End? Back End? Full Stack?

Arguably, you should choose a language and technology that you have the most access to.

The best advice I have seen is to work in the languages that your friends are working in so you have someone to ask questions about.

The case can be made that it isn't so much important which language you start with - just that you start.

Over time you will likely learn multiple languages and most of them have similar concepts that are transferrable.

However, if time and money is tight and relocation is unlikely, you will need to be a little more strategic about what you study. Take into consideration what skillsets companies in your area is looking for and what local and affordable resources are available to you.

What do I need to start?

Some programming requires wrestling with configuration and possibly investment in tools and devices.

One way to get started with reduced configuration and investment would be to look for free online courses and tutorials that can run code from directly in a web browser. Online sandboxes will require the least amount of set up.

This reduced barrier to entry allows us to dive right in and get a feel for programming.

When am I ready to get a job in tech?

With the multitude of books, tutorials, and bootcamps the "end" for learning to programming is not as clearly defined as receiving a certification or diploma.

One should feel "ready" once they have a body of work that shows their ability to apply what they have learned outside of the structure of a tutorial.

Learning to program will be a continuous process.