How I Learned To Code Faster Than You
By: Rahul D. Ghosal
Tags: Programming, Software Development, Learn To Code, Learning To Code, Code

I’m a superhero. When clients need code, it’s me they call.

You need to verify a spreadsheet against database records?

Done.

Automate invoice generation?

Done.

Mockup what your early-2000s website could look like with 2020 tech?

Done.

It doesn’t matter whether everyone and their poodle is out there learning to code. Open your window, look out into the night sky. Yeah, you see that funky-shaped floodlight? Yeah, that’s right. That’s my logo, dammit.

But, it’s not like I flew out of the womb wearing a cape (despite what legends say). In fact, my first words were probably something along the lines of: “code? no, mommy. too much math. me scared.”

So, what got me a career in code (plus this sexy cape) and what’s stopping you?

Why you’re lost and confused

sir, pls teach me how to code. ive been learning html, python, java script for 7 mons but now im lost n confused. dont know where to go. shud i quit?

YouTube, Quora, LinkedIn — you name it, and they are there in the comments section: the “lost and confused.”

Yeah, I’ll admit, acquiring the cape is confusing business sometimes.

But lost and, worse, contemplating quitting — those are symptoms suggesting fundamental issues in methodology.

It’s not your fault though. School doesn’t teach us how to learn.

Besides, just as everyone’s trying to learn code, everyone’s trying to teach you code too.

Want to test my theory? YouTube a few videos on code and look back at your Facebook. Chances are there’s now at least one ad on your feed of some nameless company preaching how badly you need them (you don’t). Give Zuckerberg’s algorithm some more time and cookies, and those ads will multiply as far as capitalism allows.

This paradox of choice is far less a problem than the sheer number of people telling us we don’t, and can’t, know how to code. After all, we’re nobodies. We neither have a computer science degree nor are we an ex-Google, ex-Facebook software engineer.

This constant denial of our own credibility lends us a fragile mindset ready to crack the moment a bug manifests in our code.

Even if we’re wise enough to avoid the snake oil, our dejected mindset leaves us susceptible to tutorial hell: an impulse to consume an endless number of YouTube videos on unrelated technologies and techniques. One moment you’re learning about some obscure React hook, the next — the Observer pattern in Python.

It’s a slippery slope: one that seems so necessary, given our apparent ignorance on the subject, but, in truth, hardly useful as a metric of progress.

So, those 48 hours you spent on YouTube? Yeah, means nada.

Real learning happens when you’re debugging. And, guess what? You won’t be debugging if no one wants you to code.

What worked for me

I may be a god-tier IT consultant now, but fresh out of grad school, I had a master’s thesis on political-economic theory and not an ounce of technical ability.

Looking back at my metamorphosis, I suppose I achieved my immortality— uh, I mean cape — thanks to the following fundamentals.

1. Consistency

A classic self-help tip. So hackneyed the word “consistency” is probably cliché by now.

But, think about it: software engineers spend at least eight hours a day coding. That experience adds up.

With a full-time job, I didn’t have eight hours to spare; but I did I have two. Two hours a day becomes fourteen after a week. After a month — fifty-six. And a year? 672.

Progress is cumulative so long as you don’t betray your schedule.

2. Structure

Easy. Someone else decided my curriculum.

Computer Science is significant enough to be a college major and should be treated as such. After all, I wouldn’t claim to know quantum physics after consulting a random string of YouTube videos and forum posts. Nor was it enough to just impress my mom with different variations of “Hello World.” I wanted more from code.

Serious about my education, I looked to Harvard’s CS50 course. Twelve weeks of assignments and a final project, the curriculum provided a simple approach whose effectiveness I knew well from my undergrad years.

To reinforce my learning, I took another ten-week introductory course: Introduction to Computer Science and Programming in Python. Material that felt like review encouraged me, while new information synergized well with what I knew and catapulted my skills further.

3. Immersion

In addition to my consistent coursework, I applied an important principle I picked up in studying Japanese: cultural immersion.

Want to speak Japanese fluently? Live in Japan. Your greatest growth will be in the company of natives.

What do software engineers think about? How do they express these ideas? What tech trends turn them on? What grinds their gears?

You can’t get hired if you don’t speak the language of the hiring manager; and podcasts injected my ears with daily doses of nerd-speak. If I was working on the front-end, I tuned into Syntax; in my Python phases — Talk Python To Me.

At first, it sounded all sounded like gibberish (as does Japanese in Japan!). But I wanted to speak gibberish badly enough that I kept listening and taking notes. The more I understood, the more I wanted to understand.

4. Faking It

It pays off to be an imposter.

At work, my ears would perk at the sound of anything loosely related to code, and I’d soon barge into the conversation. Meanwhile, during downtime, my monitor would be displaying K&R for all to appreciate like a Renaissance oil painting (nothing’s more impressive than pretending to know pointers).

I was shamelessly weird; and weirdness works. People noticed my workplace quirks, and my job responsibilities shifted towards writing code and spearheading company efforts in business process automation.

Needless to say, with only three months of experience coding, I didn’t know peanuts about automation — but no one else needed to know that. By claiming to be the world’s knight in shining armor, I creating working conditions that forced me to learn and improve. Being held accountable set my growth at full-throttle.

Summary

Confused is natural. But, if you’re lost, your methods might need revision.

The vastness of the Internet makes it difficult to navigate; and the journey towards a tech career is made worse with the mass of entrepreneurs whose incentive it is to discourage you.

Let confidence arise from progress. While structure provides direction, consistency will motivate, as you amass hours upon hours of experience. Fluency, on the other hand, requires immersing yourself in the conversations of software engineers, whereas competency comes from believing in yourself enough to convince others to believe in you too.

You do all this and maybe — just maybe — I’ll let you try on my cape.

Maybe.