The Path of the Self-taught Developer by Victor Cassone et al
This are excerpts (partial) of three blogs you can find the links at the bottom
The path of the self-taught developer is tough and filled with uncertainty. There is no straight line from newbie to career programmer. Because of this, I believe all self-taught developers have a unique story to tell.
🌟 Focus on the Process
When I first started learning to program, I never had the intention of making a career out of it. I just wanted to make a specific app.
My journey started when I was a senior in college. I just finished Richard Branson’s biography and I was probably reading too much TechCrunch. I was pumped full of entrepreneurial energy.
I was constantly reading about how college kids were receiving massive amounts of investment for their mobile app ideas. I thought I could be one of those college kids.
One day, while walking in between classes, an app idea hit me. I quickly became convinced that I’d found the next big thing.
I was consumed by the idea and stopped paying attention to lectures. My excitement for the app idea quickly grew to the point where I felt I needed to take action.
There was one big problem. My idea was a mobile app and I didn’t know anyone who could build mobile apps.
So I thought, "what the hell, how hard could programming be?" I was losing interest in my major and I was spending a lot of time playing Xbox. I could put some of my free time towards building out my mobile app idea.
Sometimes being naive helps you take action when you normally wouldn’t.
I was a college student with no programming, business, or design experience trying to learn Android so I could build a complex mobile app. I guess that’s what you get when you mix a big idea with the Silicon Valley hype machine.
I wish I could tell you things went well from here.
I bought a few books on Android development and spent countless hours in my room trying to duct-tape my app together. I didn’t care how the app worked, I just wanted a finished product.
Time went on and the app turned into a Frankenstein of copy and pasted code. The app didn’t have many features and it barely ran without crashing.
It wasn’t until I accidentally got into a Computer Science class that I realized that I should focus more on actually trying to learn software development.
My inability to program lead me to abandon my initial app idea. I'd come to the realization that I wasn’t going to make the next big thing, at least not yet.
Over time I corrected my behavior and took learning more seriously. I started to enjoy programming and eventually started a career as a software developer.
My big app idea consumed me for a long time. It put my focus on the end result rather than the process of getting there.
When you get too focused on the end result, you start taking shortcuts. Shortcuts might lead some short-term progress but in the long run, your lack of knowledge will always catch up to you.
It’s important to remember that learning anything big, like programming, requires many small steps. Each step will need to be treated with care.
Learning new things is like building a house. You start with the foundation and build up. If the foundation is faulty the whole thing will crumble down sooner or later.
Sometimes building a strong foundation requires you to slow down. There’s no shame in going slow. The people who understand the basics the first time will end up getting ahead of the people who have to go back and relearn them.
There’s an old Chinese proverb that goes:
"It is better to take many small steps in the right direction than to make a big leap forward only to stumble backward." It's not how fast you can do something, it's how slowly you can do it correctly.
I was a perfect example. From the outside, it might’ve looked like I was a programming whiz kid. In reality, I couldn’t build an app to save my life.
Focus on the process and you will surprise yourself with how much progress you make each day.
🌟 How to use Tiny Habits to create a consistent study habit.
Successful self-taught developers don’t have any special abilities that others don’t possess.
What they do have are the habits, routines, and/or life circumstances that allow them to consistently apply effort towards their studies.
I believe the hardest part of teaching yourself programming isn’t the difficulty of the material but rather setting up your life in a way that allows you to consistently chip away at your goal.
Existing habits are hard to break. Expectations of the people around you are hard to manage. These factors are often overlooked.
The key difference between someone who has successfully taught themselves programming and someone who has failed is that one person stopped before the job was done and the other person didn’t. It’s that simple.
A slow learner who shows up consistently will always outperform a fast learner who quits early.
Regardless of who you are, learning to program is a large undertaking that requires a sizable commitment of time. Until we discover a way to upload memories into our brains, the only reliable way we can make it through this large pile of hours is through consistency.
Shortcuts and hacks don’t work. It’s not possible to become proficient at programming by drinking a case of Red Bull and studying for 3 days straight.
Just like eating an elephant, learning programming can only be done one bite at a time.
🌟 How to Learn Coding: Approach is Everything
I don’t see this recommended enough, but if you’re struggling with intro courses, you should consider Intro to programming for kids.
There’s no shame in finding something lower than intro courses and starting from there to build up.
Learn with tools like:
Since you’re older, you’ll likely go through them faster.
But they’ll give you the much needed soft intro that makes sense and builds your appetite for programming.
 Lessons Learned from My Journey as a Self-Taught Developer
 How to use Tiny Habits to create a consistent study habit.
 How to Learn Coding: Approach is Everything