10 Steps To Learn Your Next Programming Language
10 Steps To Learn Your Next Programming Language
Mike is a learning machine. He zips through podcasts at 2X speed on his commute, devours
online courses at his desk with lunch, and juggles 2-3 technical books between the Kindle app on
his iPhone and the dead trees by his bed.
He does all this because hes seen how fast things change in software development.
Since he cut his teeth as a programmer at 9 years old (Turbo C for MS-DOS), Mikes seen entire
languages and platforms come and go: VisualBasic, ActiveX, ColdFusion.
He converted from VB6 to .NET, then learned PHP and the LAMP stack. He invested heavily in
Dojo (before jQuery killed it dead). He flirted with Silverlight and Flash until plugins became
evil and HTML5 rode in to save the day.
Today he's wrestling with massive frontend frameworks like AngularJS and Ember, weighing
which JavaScript AMD loader to use and wondering whether Grunt or Gulp will eventually
win.
Most nights youll find him plugging away on one of a half dozen side projects. Code at work,
code at night, lifehack all the time.
Mike loves learning and he loves his job. But even with all the extra hours he's putting in, he
can't escape the sense that he's...
What happens when he gets that title bumpand suddenly the meetings wipe out his lunchtime
learning session?
And will he be able to keep up his side projects when the new baby arrives?
I totally identify with Mike, because a few years ago, that was me.
My name is John Sonmez. Ive been writing code for more than 25 years.
Im also a software consultant to companies like Hewlett Packard and Verizon (who pay upwards
of $500 per hour for access to me)
John Sonmez has published more online developer training than any other programmer.
And the guy whos produced more online training for software developers than anyone else
alive.
Im not saying any of this to bragI just want you to take seriously what Im about to say next:
Those days are gone. Todays employers want full stack developerssoftware storm troopers
who can parachute in and:
And if you're looking for things to get easier, I have some bad news...
New languages and platforms to build multi-threaded apps. New standards and
specifications. New frameworks that promise to hide all the hideous complexitybut
turn out to be yet another leaky abstraction.
Most developers I know are responding to this by hoarding information.
Theyre driving themselves to the brink of burnout to cram every scrap of knowledge
possible into their brains.
Theyve been fed a liethat their knowledge of the latest and greatest languages,
tools and platforms is what determines their value.
I used to believe this lie too. For years I dedicated every moment I could spare to
consuming books and pounding through video courses.
But as I gained experience, I realized that this was a game I could never win.
Because 5 years from now 50% (or more) of what you know will be obsolete.
And I came to see that it wasnt my knowledge of C# or SQL that was the key to
advancing in my career.
Todays successful developer is a master at diving deep into a new piece of tech, slicing it into
bite-sized chunks and absorbing the critical 20% that lets him work productively while other
developers are still scratching their heads and searching Stack Overflow.
A few years ago, learning any new technology felt like embarking on an endless trek to Mordor.
Hit up Amazon and buy every book that looked remotely related.
Pick up the first book I bought and plow right through from page 1 through to page 876.
Repeat for 5-10 more books.
Track down video courses by well-known experts and buy them.
Sit down and watch the course end to end.
Repeat with every video course and YouTube series I could find.
Scour the web for blog posts and add anything that seemed important to my reading list.
Spend hours poring through the blog posts, looking for new scraps of information that Id
missed.
This whole process was REALLY time consuming. Id spend weeks or even months to get my
arms around a new programming language.
And every time I thought I had a good handle on the topic, Id stumble across some new rabbit
trail that I hadnt explored yet.
The goal posts were always moving. The longer and harder I studied, the more the topic seemed
to expand in all directions.
I never got that satisfaction of doneand eventually Id just get overwhelmed and move on to
something that seemed more interesting or urgent.
Worst of all
That is until I made a discovery that changed the way I learn forever.
Several years ago, I took a side job creating online training course.
At first I was in heavenI was getting paid teach what I knew about software development.
Pretty soon, though, I hit a little snag I ran out of things to teach.
Google had just released Go, so I thought, What the heck, Ill do a course on that.
After cruising through my courses on Java, Android, iOS and several other languages and
platforms I knew well, this Go course felt like slamming into a brick wall.
Suddenly I realized how horribly inefficient and painful my way of learning really was. I was
spending weeks and weeks to create a single course.
My old approach to learning wasnt going to cut it. I had to adapt, and FAST.
I took charge of my own learning, rather than letting book authors and other experts push their
preconceived ideas on me.
I found a way to get down to the bare essentials that would give me a productive, working
knowledge of the topic in the shortest time possible.
But with the discoveries I made about learning efficiently, I was soon producing courses in three
weeks Then two weeks
Id cut my study time down to barely a third of what it was. And what really surprised me was
this:
My motto in life is that nothing is freetheres always a tradeoff. So I expected that the tradeoff
for rapid learning is a shallower understanding and less ability to apply what youve learned.
As I improved my learning efficiency, my ability to retain and apply the information went
through the roof.
Thats because I wasnt cluttering my brain with trivial details. Instead I zeroed in on the key
conceptsthen applied the knowledge as I learned, locking it into my long-term memory.
Not only was I learning 3X faster, now I didnt need to constantly circle back and relearn the
basics over and over.
I realized that
Any programmer with a rudimentary knowledge of SQL can throw in a handful of JOIN
statements, and BOOM, that 60-second operation finishes in 3.
I ran with this mind-bending insight and continued to refine my new way of learning while
creating course after course.
Over the next 18 months, I tackled more than 30 topics, including Dart, Lua, HTML5 game
development, MeteorJS and Redis.
I knew I was on to something when other developers kept commenting on how sticky my
trainings were. Because I was embedding my learning approach into my courses, my students
were retaining more too.
I spent weeks observing myself as I learned, looking for patterns I could extract.
And when I finally boiled it all down, I came up with a sequence of steps that anyone could
follow.
Instead of feeling overwhelmed by the flood of must-know new technologies, frameworks and
tools that youre bombarded with every day, youll adopt a Zen-like attitude toward the churn.
Youll relax in the knowledge that you DONT have to jump on every new trend (or risk getting
left behind).
Youll have the confidence that you can pick up a new technology and know it back to front in a
few days or a couple of weeks.
Instead of feeling scattered and distracted, your learning time will have laser-like focus and
structure.
And youll finally experience the satisfaction of actually FINISHING. Youll know when youve
learned enough and youre ready to move on.
For this course, I wanted to show you the techniques in action. So I decided to let you look over
my shoulder as I teach myself a brand new skillhow to create pixel art.
With each step, well start with a brief overview of whats involved, including your goal for the
step and the specific actions youll take.
Then youll get to hear my thoughts as I perform the steps right in front of you on camera.
Then in the last 4 steps, youll chew through your learning action plan in record time.
This part is fun, because youll tap into your own curiosity and child-like desire to explore.
Theres even a MANDATORY play timeand a chance to show off everything youve learned.
And it all helps to anchor your new knowledge in your brain so you can pull it out months or
years later and its ready there, exactly when you need it.
The entire course is presented in 12 HD-quality .mp4 videos. The videos are DRM-free, so you
can download and convert them for viewing on the player of your choice. (Or even speed them
up to 2X if thats your thing.)
And true to the spirit of learning quickly, the techniques in this course wont take you weeks of
study to master.
In fact, you get the entire system in just 72 tightly edited minutes.
That means you can rip through the whole course over your next lunch break and then put the
system to work for you immediately.
I put a lot of thought and effort into creating this course, and the videos really stand alone.
So Ive put together a hefty collection of add-ons and bonuses to help youand you get them at
NO extra charge:
"Hey John, in the course you show how you taught yourself to create 'pixel art.' I can see how the
process works for something like that, but I want to apply this to more complex technical
topics...
"Can I use the 10 Steps process to learn a new programming language?"
Picking up a new programming language is definitely more complicated than learning pixel art.
It's also a little funny, though, because learning new programming languages is what led me to
discover the 10 Steps process in the first place.
I decided to create a brand new bonus module to show you EXACTLY how I apply this system
to learn new programming languages, sometimes in as little as a week.
For this bonus session, I decided to pick the most complicated topic I could think of, a hot new
programming language that I knew NOTHING about...
Then I walk through each of the 10 Steps, sharing at each point exactly how I would apply that
step. You'll see how I'm able to quickly carve out a manageable chunk that gives me plenty to
sink my teeth intowithout becoming overwhelmed and drowning in unfamiliar syntax and
language constructs.
- Why the "logical" way to learn a programming language is actually completely BACKWARDS
and painfully slow and frustrating
- How to filter out everything you don't need to know, and zero in on the language essentials
that'll allow you write code productively in hours or days instead of weeks
- How to stop wondering how much more you might need to learn, and instead quickly find and
fill the gaps in your knowledge
- The simple but powerful tool that can eliminate most of the books and blog posts on your
reading listand help you plow through the ones you do read in record time
- A technique for triggering the little "aha! moments" that will hardwire the concepts you're
learning into your neurons for effortless recall (no memorization required)
This video is like a 41-minute virtual coaching session on applying the 10 Steps process.
It builds on the already-strong concepts in the original version of 10 Steps to Learn Anything
Quickly, while also removing all of the guesswork.
Value: $330
I cover a lot of ground in this courseits a packed, fast-paced 72 minutes of instruction. To help
you apply each step in a structured, easy to follow way, I created this 32-page workbook.
The workbook includes a concise summary of each step, as well as questions that make it paint
by numbers easy to apply each step.
This workbook alone is almost as valuable as the video training, because it guides your thinking
as you apply the concepts I cover in the course.
While I was beta testing this course, I sold the workbook separately. Almost everyone who
bought the course also bought and used the workbook. They paid an additional $10 to purchase
the workbook, but you get it here for free.
Value: $10
Bonus #3 - Word-for-Word Transcripts
(All 12 Videos)
These uncut transcripts are perfect to keep handy as a quick reference when you want to refresh
your memory about a step in the process without scrobbling through the videos.
Id highly recommend printing this PDF out and keeping it with you while you watch the videos.
You can underline key points and make notes in the margins.
This transcript would cost you $73 just for the transcription itself (plus an extra $22 for the
editing and formatting), but you get it as part of this package at no additional cost.
Value: $95
When I beta tested this course, students said they wanted even more detail about how I use the
system myself.
So Im including a PDF with my notes from the live pixel art demonstration youll see in the
videos.
This completed workbook will give you even more insight into how I think as Im approaching a
new topic to maximize my learning efficiency. Youll see the exact level of detail I use when I
work through each step and the types of information I collect.
With this completed workbook, youll know how deep to dig at each leveland when youre
overthinking a step and spinning your wheels.
Value: $10
Ive done everything I can to keep this system simple and streamlined to use.
But once in a while my students still get hung up or blocked on one of the steps.
Maybe they arent sure how a step applies to the specific topic theyre studying.
Or theyre trying to apply the system to learn something that seems a little different than what I
covered in the training.
To help you see how to apply this system to your unique situation, I recorded an exclusive, 90-
minute "ask me anything" video class just for you.
In this training, I took questions from more than 30 software developerslive, with no net,
including:
When I first presented this class, one of my students emailed me to confess that he'd been
skeptical that it would be worth his time. He wasn't skeptical afterward"You make learning
fun," he said.
This training has a value of $500. Thats my standard fee for training and consultingif you can
managed to book me (I rarely take these engagements anymore).
Value: $500
Here's What's "In The Box"