Learning how to Learn
If new to code, avoid biting off more than you can chew when picking a project. Persistence is key so choose something you're naturally excited to build.
This is the second installment of the Financial Freedom series. Be sure to read last week's here.
The mental framework for learning how to learn
I want you to build a mental framework for learning how to learn. By the end, you should feel more confident tackling projects that you previously considered impossible.
Start thinking about a quantifiable goal for you project today. If you want to start a business, a good goal might be to earn your first $1 from a paying customer within 100 days from today. If you’re interested in building something for a cause, your goal might be to get 1,000 page views or to receive your first donation.
As we move closer to finishing these projects, I’ll shift my focus towards the business side of things and cover topics like choosing a business entity, online marketing, etc.
There is no structured curriculum here
I’m making this up as I go and will tailor the content to your feedback as the course evolves. I want to help each of you achieve the goal you set above, so please reach out with feedback on topics and material covered. For those of you who asked, here’s a rough list of non code related topics we’ll cover in the next 4-6 weeks.
- Choosing your business entity (LLC, S Corp, C Corp)
- How to actually form your the business with government filings
- Driving traffic to your site with organic content and paid ads
- Measuring traffic, setting up a funnel, and getting paid
How to choose your first coding project
This week we’ll be starting your projects. If you recall from last week's post, I told you to choose something you’d be excited to work on. “Excited” is key here. You’re going to want a project that you’d naturally be motivated to work on. Here are a few last minute considerations as you go finalize your idea.
Don’t make it too complicated
If you’re totally new to code, you’ll want to avoid biting off more than you can chew when you’re picking a project. I’d recommend against tackling anything overly complex like a mobile apps, video game, or artificially intelligent robots. I don’t want anyone feeling overwhelmed by going after something needlessly difficult.
If you have zero coding experience and zero technical capability, I’d recommend starting with a simple website. For example, you could build an informational website for something that interests you.
If you have zero coding experience and are somewhat technical, you might want to try something more advanced - what’s known as a web application (web app). I'll be building one of these.
Watch out for the Domain Name and Logo Trap
Once you have the product idea, you need to be careful. Avoid spending any of your creative energy on the domain/ logo trap. You’ll have plenty of time to come back and do this later. The voice in your head goes something like this:
“Wow this is one of my best ideas yet. This really needs a name. Hmm, let me see what domain names are available.”
4 hours later you’re the proud owner of 5 new domain names and you’ve post a logo design job to Upwork. Fight, fight, fight this temptation and just start building. Successful founders and engineers fall into this trap all the time.
An example of the sample project I'll be building
I’m building a simple web app where people can share a log of personal fitness data over time.
Recently I started the keto diet. Before you rush to hit the unsubscribe button, I promise not to be that guy who constantly raves about keto or cross fit. 😂
Over the years I’ve bounced around between workout routines, nutrition supplements, and other fitness regimes and each time I go to Google to learn about what’s worked for others. There are probably 100+ forums and subreddits out there with people posting progress logs in these little silos. It can be very difficult to find what you want.
Typically, I’d do more market validation but since this is a super simple project for me, I need to just pick something and run with it for the sake of working alongside all of you. Also, I know I’ll be excited to build this, because I’m solving my own problem. This can be a powerful motivator.
I’ll be sharing the first tutorial video tonight.
Keep an eye out for the first instructional video which I’ll release later tonight. I’ll begin by walking you through the very first steps of learning code and launching your project.
Going forward, I’m planning to release a video at the beginning of each weekend (late Friday or early Saturday). I’ll add supplemental videos sporadically as I have time.
These resources will help you own your journey.
Mindstorms - Pick up a copy. It’s an incredible book for anyone interested in learning how to learn. It’s all about how our minds work and focuses on teaching children to code. This has influenced much of my own learning and my approach to this course.
The Future of Programming - if you have 30 minutes, Bret Victor’s talk is one you should definitely watch. He offers an entertaining history of programming and if you’re a creator who hasn’t mastered code, you’ll find his talk inspiring. If you like this one, here’s a playlist of his other great talks.
FreeCodeCamp - if you’re looking for online learning resources, this is one of the best. It’s my top pick for beginners. They’re a non profit org and offer a huge number of tutorials and resources for those just starting out. There are also a number of project driven guides.
Some answers to questions I’ve gotten about how long it takes to learn and what sort of income one could expect, so I wrote a detailed post on how long it takes to earn a six figure income. Check it out if this interests you.