The population of California exploded in the 1800s. Why? It was a lucrative frontier.
Turned out there were lots of gold deposits. This inspired people around the world to drop their lives and move to the golden state.
Lots of people made lots of money.
Today we have a new lucrative frontier.
It’s called Web3.
This will be the next phase of the Internet. Powered by cryptocurrency and blockchains.
But instead of gold miners, the folks on the ground floor are programmers. And there’s never been more demand than right now.
As Web3 continues to explode in adoption, that demand is only going up.
The best part?
You can teach yourself these skills for free.
And as someone that did just that, I’m going to share everything I wish I knew before.
This isn’t just an amazing career path for you. But it’s the best way you can help build the Crypto Creator Economy.
Table of Contents
It’s a Struggle
Principled Action
Tips & Tricks for success
Road map with Free Resources
It’s a Struggle
I’m going to be perfectly honest with you. This will not be easy. It’s the hardest thing I’ve ever done. And it might take longer than you expect.
I was one month away from graduating college with a communications degree. I was applying for jobs left and right. Hoping to work in my field. But I couldn’t find one.
I asked one of my professors for advice. And he told me to become a barista. This was coming from the same guy who had been telling me a communications degree can get you anywhere. It was all bullshit.
That was the moment I knew I had to learn to code. But mind you this was in 2019. It’s taken me over a year to get my first job. And you need to brace yourself for that.
There’s lots of fluff stories from tech. People claiming they learned how to code in 3 months. Got a job at Facebook. And everything was easy.
But that’s not the case for most of us. After all, you’re teaching yourself a highly technical skill by yourself. It won’t be easy. And it won’t be fast.
Lots of people start this journey. And they give up before they get their first job. But the first job is the hardest part.
Here’s how to do it.
Principled Action
There are lots of ways you can go about learning to code. And that’s part of the struggle.
I’ve identified 3 things you can do that will make it easy.
Follow your interests
There’s lots of different things you can do in programming. When you’re just starting out, explore everything. The worst thing you can do is narrow yourself down too early on.
I hit a big roadblock. Wasted countless hours trying to master every little aspect of CSS.
What’s worse, it crippled my motivation. It made the process of sitting down to work a nightmare.
If there is some aspect of programming that you don’t like, don’t do it. You don’t need to be a master at everything.
Find what you like. And double down on it.
Hit flow state
Flow state is known as being in the zone. This is when you get so wrapped up in an activity that you lose track of time.
We’re at our happiest in flow state. And we also perform at our best.
Not every job lets you hit flow state. But programming is one of them. And the sooner you can start hitting flow state when you work, the better off you’ll be.
In order to hit flow state you need 3 things.
A clear goal
Immediate feedback
Balance between your competence & the difficulty of the task
Flow state in programming looks something like this:
You have a specific feature you’re trying to add to your website. You’re reading documentation and open source code online. You’re taking notes on how they did it and recreating it in your project. If it doesn’t work, you try something else. And keep hustling till you solve your problem.
Flow state is the most important aspect of growing as a programmer. Or anything for that matter.
Flow state is a super power. It unlocks human potential like nothing else.
Use it wisely.
Fight resistance and go pro
Steven Pressfield talks about resistance in his book, The War of Art.
Resistance is an evil force that keeps you from sitting down and doing your work.
It’s the voice in your head that tells you to start tomorrow. Or next week. Resistance is an excuse machine. And it will always have more excuses to poison you with.
Resistance will kill your dreams if you let it.
The only way to beat resistance is to go pro. You start thinking of yourself as a professional.
This has nothing to do with money. It doesn’t matter if you get paid or not. The only thing that matters is you sitting down to work every day.
You become a professional with the mundane act of sitting down to do your work. Every. Single. Day.
Even if it’s just for 30 minutes. A little bit of progress is still progress.
If you can do these 3 things, you can become a Web3 developer. Or anything for that matter.
Tips & Tricks for success
Here are some other things to keep in mind as you start your journey. it’s not a bad idea to revisit this list every now and again.
You can download this article as a PDF for free on Gumroad.
Don’t get stuck in tutorial purgatory
This is when you start learning to code and you only follow along with tutorials. You never actually build something yourself.
Tutorial purgatory is hell on earth. Trust me, I’ve been there.
It feels productive. But it doesn’t actually get you closer to growing as a developer.
I spent a long time in tutorial purgatory. And I only broke out when I built my own projects.
Tutorial purgatory is a form of resistance. And it’s one of the most dangerous aspects of learning to code. Look at some of the free programming courses on YouTube. Some of them have millions of views.
Sadly, lots of those viewers are in tutorial purgatory.
Don’t be one of them.
Do not overwork yourself
When you’re a programmer, you want to hit flow state. But you can’t be in flow state 24/7. It’s not possible. And it’s not healthy to try.
Most programmers do their deep work/flow state for 2-4 hours a day.
That’s it.
Unsurprisingly, anyone who hits flow state works for roughly that long too. From writers to athletes.
Working beyond this point will cause burn out. Another problem I struggled with for a long time. And trust me, it fucking sucks.
Throwing more hours at the problem does not fix things.
A good idea is to set a timer for however long you’re going to code. When that timer goes off, you’re done. You don’t work anymore.
You save your changes. Push your code to GitHub. And you’re done for the day.
It’s a lot easier to prevent burnout than it is to fix it. Do yourself a favor and don’t force yourself to work beyond your limit.
If you ever start feeling like you’re running on empty, it’s a good time to stop for the day.
Start with documentation
Let’s say you want to create a feature for your app. You might be tempted to find code from stack overflow or somewhere else.
That’s not a good idea.
You want to start with the documentation.
Most tech & tools have great docs.
You’ll end up saving yourself a lot of time in the long run. I’ve posted questions to forums before. And got answers that didn’t work. In the end, I had to go to the documentation.
And I could’ve saved a lot of energy by just reading the documentation to begin with.
Find the feature you want
If the documentation doesn’t help you, you have another option. Find an open source project that has the feature you want.
This lets you see a working example. It’ll make it easy to figure things out.
Don’t be afraid to copy and paste. Just make sure you understand the code. That’s the important part.
Also, make sure the code is open source and legal to use. It’s never a good idea to steal someone else’s work.
Start from templates
Lots of beginner courses and tutorials start by creating a new project from scratch. This isn’t how the real world works.
There’s typically one large code base that gets a little better with every new feature.
I wasted a lot of time creating dozens of projects from scratch. The most painful part was installing dependencies.
Save yourself time and energy by starting from a template. You don’t need to write every line of code from scratch. It's unnecessary.
Join a community
The best way to make sure you stick with coding is to join a community. Thankfully, there’s lots of places you can find one.
Personally, I’ve enjoyed tech/crypto Twitter. But there are many communities online. Other places to find communities are Reddit, YouTube channels, discord, etc.
Becoming a developer is a hard path. But it’s much easier to walk that path with friends.
Get good at googling
Being able to Google a question and find an answer is an important skill.
You need to master the ability to find information and act on it quickly. The answer to your question is out there somewhere.
And what separates a great developer from a decent one is the ability to use Google effectively.
Teach what you learn
I’m sure you’ve heard of the Feynman method. Use it. It’s the best way to learn programming faster.
Pick your medium of choice. Whether it’s blogging or YouTube videos. Whatever it is, just do it.
This won’t just be good for your education. But it also helps get your name out there. Having the right connections is half the battle. And having an audience, however small, makes a huge difference.
Put yourself out there
The only way people can find you is if you can be found.
And the best way to do that is by having an active profile anywhere that matters.
If you want to become a developer, that includes Twitter, LinkedIn, a blogging platform, GitHub, etc.
Create content around what you’re interested in. I’ve had lots of people reach out to me and offer work. Simply because I’ve written articles about a specific topic.
Brand yourself. And the luck will find you.
Road Map
This roadmap is hands-on and practical. There’s not a lot of theory or reading.
Think of this as the minimum viable education.
If you follow this road map, you’ll be able to become a Web3 developer easily.
You’ll notice that there are specific points to go out and build your own projects. I strongly encourage you to actually do that.
That’s the most important part.
You can download this article as a PDF for free.
The road map
Responsive Web Design
Build 3-5 websites
Side hustle websites, charities, friends, small businesses, etc
Learn React
Build 3-5 React websites
Or 3-5 contributions to open source
Learn about crypto (lots of reading - take notes & write a blog posts)
Bitcoin white paper
Ethereum yellow paper
Explore crypto more generally
DAOs, NFTs, Web3, DeFi
Find your passion - for me, it’s tech as it relates to the creator economy
Learn Solidity
Full stack Ethereum development
Eth dev speed run
Build 3-5 full stack dapps
Solve real world problems (the bigger, the better)
Start freelancing
Showcase your projects in a portfolio site
Put yourself out there - clients will find you
Awesome read. Very informative. Thank you!