Tyler Cinnamon's Blog

How to Learn to Code

2023-09-20

What Makes You Happy?

What excites you when you think about becoming a programmer? Let's say there are three kinds of programmers.

  1. Professionals are organized and responsible. They code when someone pays them. A professional is like a carpenter who shows up early with her own tools. Are you excited by supporting your family through a safe career in software? You might be a professional.

  2. Hobbyists are relaxed and creative. They code to show what's in their minds. A hobbyist is like an artist who stays up late making his special sculptures. Are you excited by creating all sorts of things with code? You might be a hobbyist.

  3. Hackers work fast and break some rules. They code to fix problems. A hacker is like a handy person fixing an old house without spending much. Are you excited by writing code to solve a problem? You might be a hacker.

Learning The Normal Way

In the past, people were taught computer science theory before they worked with real-life code. That's dumb, because it's backwards. First, you need to practice the basics and learn the tools. You can go very far without the complicated stuff.

Most professionals go to school for four years or join a boot camp for six months. After that, they learn to code on the job. As a professional, I recently earned half a year's income by creating a web app for someone. Most professionals get paid to write code they don't like, but people depend on.

Some hobbyists were professionals first, and started enjoying to code later. Some hobbyists learned the basics when they were kids. Hobbyists learn naturally. As a hobbyist, I spent a relaxing weekend looking at how my favorite libraries changed last month (I have hundreds of favorite libraries). Most hobbyists work on fun projects that nobody uses.

Most hackers learn only what they need to, when they need it. Skilled hackers are normally professionals or hobbyists first. But there are beginners who have never been professionals or hobbyists. As a hacker, I recently gathered 20,000 sales leads from a government web site. Most hackers fix problems with code, and they don't make any money from it.

How I Learned to Code

I learned to code the hard way. I dropped out of school and slept on couches while I studied Linux.

Don't do this! My situation was special: I had friends and family who supported me, and I was okay not having money. I could teach myself, and I had my own computer.

When I decided to learn programming, I had two main goals. First, I wanted to use code to fix big problems. Second, I needed a backup plan. Jobs in software pay well, and you don't need a college degree.

So I left school and lived on a few dollars per day. Not working for money allowed me to focus on learning. Every day, I wiped my computer's operating system and re-installed Linux (the professional's tool belt). Once I had my Linux tools working, I studied web programming.

After a few years, I got my first coding job. I had my own tools and I could do basic tasks. On the job, I learned about computer science, design patterns, and how to manage projects. A few months into the job, I became really good at programming.

What It Takes To Be Skilled

Becoming a good programmer usually happens after working full-time as a professional. This is because it takes a few things to become skilled:

  1. You need to spend thousands of hours reading and writing code.
  2. You need to write lots of code that many people depend on.
  3. At the same time, you need to eat, sleep, and pay your bills.

Tough luck if you are an adult who needs to work to make a living. That's when you need to replace your regular job with a coding job. It may sound backwards to get a coding job before you are skilled at programming, but it's not. Companies hire programmers to work together in teams. You don't need to know everything to be helpful in a team of programmers.

Helpful Advice

First, think about why you want to do this. Then, be realistic about what you want to do. You can move mountains (at a cost).