Self-learning is difficult and frankly, quite lonely. Here’s how you can make it easier.
3 systems to make self-learning easier, Mentors to follow on Twitter and Cool Project Ideas for learning
For the past ~3 years, I have been making a living as a community professional. I help startups turn their faceless audiences into online communities where they can show their personalities and create value for each other. I love it!
But in my earlier life, before I was into communities, I was trying to build a career as a programmer. I wasn't half bad at it either. In fact, I enjoyed it. I even wrote articles to teach people what I learnt - articles that have been read by >500,000 people!
But I failed to build anything real with my programming skills. So, I quit.
I have a bachelor's degree in programming but I never cared for it. I only got into programming because of my fascination with Paul Graham's essays. I read them in my 2nd year of college.
Paul Graham told me that building a startup is how nerds can take over the world and being a great hacker is the best way to start. So, I got inspired to teach myself how to code using the Internet and building pet projects.
• I tried learning the C programming language by building the game of Tetris but soon realised that C was sorely outdated. Nobody codes in C to build real applications anymore. I had to learn Python or Javascript.
• I tried learning Javascript/HTML by building a Chrome browser extension but then realised that it was ugly AF and I would have to spend months learning frontend technologies to make it beautiful. I saw this monstrous frontend roadmap and decided not to pursue web development.
• Then, I got into Machine Learning and Data Science using Python. These were the next frontier of technology in 2018. But after spending months pouring through countless courses, analysing toy datasets and building prediction models for them, I realised they weren't enough to build a product. If I want to create something that I can put in the hands of people, I had to learn to develop web or mobile apps.
Long story short, I had spent 3 years jumping from one technology to another, just trying to collect skills that would one day enable me to solve real problems and become a founder someday. Bad strategy, I realise now.
Without a sense of direction, I got overwhelmed - there was just too much to learn in programming! So, slowly transitioned myself out of programming.
"Start programming at the age of 12"
My 3 years in programming told me that before I'm capable of creating any real impact using my coding skills, I would have to learn it for another - God know how many - years!
Anyone who has "done it" has either been coding since the age of 12 or working crazy hours or both. Probably both.
Then in 2020, I stumbled upon DHH. He:
More importantly, this is a guy who breaks the mould of a "technical cofounder" in every way possible:
You're probably thinking he must have incredible grit and must have hustled during those 3 years, working like 100-hour weeks. But you could not be more wrong.
He is arguably the loudest advocate for having a work-life balance:
A self-taught programmer who only got into coding in his 20s and was able to build a product that does 100s of millions of dollars in revenue without hustling himself out of a personal life.
This should be impossible!
But here he was alive and real, speaking to me on Jason Calcanis' podcast.
DHH's story told me that there exists a path that I can follow to learn programming and build useful things. A path that wouldn't require me to pour years learning the craft.
I had seen the Black Swan and it had hijacked my brain.
If you have dabbled in the world of web development, you may think that DHH's story is possible only because web development in early 2000s wasn't nearly as complex as it is today. And DHH would probably agree with you.
"There's so much to learn these days, if you want to be an expert in all the latest tools and techniques. The conventional path, as paved by solutions extracted from giant tech companies, is a journey akin to The Oregon Trail. You might well die of dysentery before you ever get to your destination!"
- DHH
Luckily, DHH is fighting this complexity with his open-source framework Ruby on Rails. His vision is to create the One Person Framework:
"A toolkit so powerful that it allows a single individual to create modern applications upon which they might build a competitive business. The way it used to be."
And that's the promise that Ruby of Rails boldly states on its homepage:
It is this ambitious promise backed by a man whose achievements feels incredible yet reachable that makes me want to get back to programming. This time with Ruby on Rails.
As an aspiring founder, I find it comforting to know that despite being beginner-friendly Rails is not just a toy. Which means that if I create something using it, I don't need to worry about replacing it with serious tools as I get bigger.
Rails is the real deal. DHH created it by open-sourcing the backbone code that Basecamp and now, Hey runs on.
That's not it - countless recognizable companies have used Rails to create products that have reached millions of users and billions in market valuations, including Shopify, Github and Airbnb.
Ruby on Rails framework has been around for two decades now. That's ages in the web development world where new frameworks are released every month.
So, if you go by the Lindy Effect, you can count on Rails being around for atleast two more decades. That's a long lifespan for a web framework!
One of the reasons behind success of Rails is the controversial doctrine at its core that drives its development. This doctrine, written by DHH, comprises of a "wide set of heretical thoughts about the nature of programming and programmers".
Here are 9 excerpts from the Rails doctrine that are especially attractive to the aspiring founder in me:
It is becoming more and more difficult for non-technical founders to create an MVP:
In this environment, Ruby on Rails feels like the perfect solution for all the reasons I have stated above.
Therefore, my goal is to learn enough Ruby on Rails so that I can confidently build the epicenter of whatever new product idea I have. It is too early to tell how long this journey will take or if I'll succeed at all in reaching the goal. But I'm sure whatever the outcome, it will be a remarkable journey.
If you're a founder or an aspiring founder looking to build useful web applications, you can follow my journey in the Rails for Founders newsletter where I'll write about my hard-earned lessons!