How to Become a #Programmer: The Timeless Guide

(With No Degrees or Experience)

PART 1: Learn the #Trade
In two years I went from unemployed sociology graduate to well-paid programmer at a unicorn startup. I started from zero. I didn't have to get a degree, do an internship or pay for expensive certifications. Here’s how you can do it too 👇
Don't chase the latest tools. Focus on the fundamentals.

Tools, frameworks and jobs change all the time. Automation swallows everything. To succeed, focus on timeless principles.
These skills will be automated last:

Spotting interesting problems
Applying good judgement
Earning people's trust

Practice them, and you will never be out of work.
Make sure you don't confuse learning a trade with schoolwork. It's the number one mistake I see in beginners.

This thread highlights the difference:

No, you don't need a degree in #computer #science. Schools tell you that you need badges and certificates to get hired. None of that matters when you're practicing a trade.

How to learn a trade:

1. Find a set of problems that you enjoy solving.
2. Learn to solve those problems reliably.
3. Get paid to solve those problems.

That's all.
It won't happen overnight. If you're starting from scratch, it will take 6-24 months before you get paid. Over this time you must commit consistently (pun intended). Half-assed attempts are not going to work.
Consistency is key. Some days you’ll do a lot and others next to nothing. That’s okay. You're playing the long game.
SOLUTION #1. Find somebody who will pay you to code. This is your absolute priority. Aim to do this within 6 months.
Yes, you need to study and build personal projects. But for learning a trade, doing the actual work is 10x more effective.

Most skills can only be learned on the job. Therefore your main objective is to minimise the time spent learning and jump into the trenches ASAP.
If you're getting paid, it means you're accountable. You've left the safe harbor of learning and entered the real world, where grown-ups code for #money. You're taking responsibility and solving real problems. You're not a schooler anymore. You're a tradesperson.
Getting paid for programming establishes a precedent for others to pay you in the future. It will also motivate you to keep learning.
"But I barely know what I'm doing. Who's going to pay me?"

#Software is eating the world. There are countless tasks and processes out there that are patiently waiting to be eaten.

Start small. Often, a bit of shitty code is still better than no code.
Your first gig can be anything: a website for a friend, a €5 gig on Fiverr, a small task at your company.

Anything works. As long as you’re getting paid.
Example #1. There was a research project at my university that involved network data. Nobody knew how to analyse it.
I wrote some Python code that did the job. They gave me a scholarship. Then I was hired to do science with Python. That was my entry level programming job. I was 90% noob and 10% problem solver. A bit of shitty code can take you a long way!
Example #2: If you do a coding #bootcamp, you can get hired as teaching assistant. Be active and focused during your course. They will need somebody who knows the material to assist with the next batch. Voilà! You're being paid to code.
Example 3: Do you work in an office where people use spreadsheets? I guarantee there is a lot there that can be optimized with basic #Python. Figure out what it is. Then agree with your boss that you'll work on it for a few hours a week. Now you're being paid to code.
SOLUTION #2. Focus on specific problems. Don’t spread yourself thin.
Programming exists to solve problems. Your objective is to become an effective problem-solver. Don't worry about understanding everything. Programmers are often clueless, but we cultivate an instinct for tackling problems.
Choose your problems. At the time of writing, most entry level programming jobs are split in two continents: #data and #web #development.
Once you’ve chosen, take an entry level course to explore the different regions. In data you have #analytics, #engineering and #data #science. In webdev you have #frontend and #backend. Pick a region. Then choose a problem and solve it.
Once you've solved it, find another problem which is closely related, with a small additional challenge. Solve that one too. Do this until you've solved enough problems that you can talk about it for 30 minutes. Now you have enough material for a programming interview!
When I started out, my code was terrible. But I was able to solve specific problems. Because of this, people were willing to pay me. I was able to kickstart my #career.
Focus on solving specific problems, and before you know it someone will want to pay you.

SOLUTION #3. Reward the monkey.
It's hard to study programming for 6-24 months consistently. Especially if you're not getting paid. If you're committed, you will do whatever it takes to hack your monkey brain into staying on track.
Sign up for gamified courses that give you fake points, badges and certifications
Use coding to show off for potential partners (I'm being told this does not work)
Get into competitions
Join a group of learners and exploit social proof
Install habits
Ask for likes on LinkedIn
Your monkey brain does the heavy lifting when it comes to being consistent. Don't be ashamed to give it what it wants, no matter how silly.
If joining a €10,000 #bootcamp is what it takes for you to stay on track, so be it. Do a cost-benefit analysis and don't hesitate to act.
I often lost my motivation to code. But I discovered that I liked to win certifications and display them online. When I heard that almost nobody had completed the @freeCodeCamp course, I grinded at it for 5 months until I got the badge.
I also joined a coding bootcamp to boost morale. There, I realised that looking smart in front of others was a primary motivation to excel. Cringey... But I used it to my advantage.
That's all you need to get started. Get paid early, focus on specific problems, reward the monkey. These principles will take you from zero to paid #professional in 6-24 months.
But learning to code is only half the battle. The other half is winning the trust of the people who are going to pay you.

I will address this in:

PART 2: Playing the Hiring Game.

Stay tuned!

• • •

Missing some Tweet in this thread? You can try to force a refresh

Keep Current with Vlad's Notebook

Vlad's Notebook Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!


Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!