From self taught dev in India to Shopify in Canada

Gaurav is a self-taught developer who learned to code without a degree. His coding talents led him to leave India and get a job with Shopify in Canada. Read his interview below to learn how he did it!
But first, a message from our sponsor
Track bugs faster. Fix issues sooner. Ship cleaner releases.

Backlog makes bug tracking effortless. Capture issues with screenshots, assign owners, track status, comment with context, and connect fixes directly to your code—so your team spends less time hunting and more time resolving.
Built for engineering and QA teams who need a lightweight but powerful workflow, Backlog helps you catch bugs early and keep releases stable.
Whether you’re scaling your product or supporting a fast-moving roadmap, Backlog keeps your team aligned and your quality bar high.
See how Backlog streamlines bug tracking →
Hey, can you introduce yourself?
I’m Gaurav Chande - a self-taught programmer, startup founder, and currently running a tiny AI product lab called 42 Acorns. I live in the Greater Toronto Area in Canada, though I grew up in a small town called Ahmednagar in India.
These days I’m mostly building what I call “toys” – functioning projects I can hand to users and say “Look what I made! Isn’t it fun?” The current one is Bookling, a children’s storybook creation tool that uses AI to help parents and kids make personalized books together. I also occasionally work hands-on with startups – not just as an advisor, but actually building and shipping things with them.
Why did you learn to code?
Honestly? Boredom and desperation.
I graduated as a Chemical Engineer in India, completely clueless about what I wanted to do in life. I’d tried learning programming twice before, once in high school, and again in university. Both times it was C/C++ basics. I was okay at it, but it felt boring. Writing sorting algorithms just didn’t click for me.
Then in mid-2011, I needed to make money. I started learning how to make websites and apps with HTML and PHP. And this – this was different. This was fun. Building real, tangible things with code that I could actually sell to other people? I became obsessed.
The difference was purpose. When I was writing code that solved someone’s actual problem and got me paid for it, suddenly programming made sense. It wasn’t abstract anymore.
How did you learn coding?
Completely self-taught. No bootcamp, no CS degree. Just a lot of trial and error.
After getting hooked on HTML and PHP, I started freelancing as a web developer back in India. I’d build apps for small businesses, learn what I needed for each project, and repeat. It was messy but effective.
Soon I picked up Ruby and the Rails framework, and there was just no looking back. Ruby felt like it was designed for programmer happiness. The code read almost like English. I was building things faster than I ever had before.
The key was always working on real projects. I’d take on client work that was slightly beyond my current skill level, then figure it out as I went. It was somewhat intimidating, but that’s how I learned fastest – by needing to ship something.
I also read a bunch. Technical books like Sandi Metz’s “Practical Object-Oriented Design in Ruby” shaped how I think about code. And I’d spend hours reading documentation and blog posts from developers I admired, trying to understand not just how they wrote code, but how they thought about problems.
How did you get your job at Shopify?
This is probably the most unusual hiring story I have.
In March 2012, I was freelancing in India and started thinking about working at a proper startup. Somewhere I could really level up my skills. After reading an interview with Shopify’s CEO Tobi Lütke, I was sold on the company. But there was a problem: my resume would’ve been instantly rejected. No CS degree, less than a year of experience, and I’d never worked with Ruby professionally. Plus, Shopify wasn’t hiring remote workers from India.
Then Tobi posted something on Twitter that changed everything:
“If you want a job at Shopify, submit a github link to your DCPU16 emulator instead of a resume.”
I had no idea what a DCPU16 emulator was. I didn’t even fully understand what he was asking for. But I really wanted to give it a shot.
So I started researching. DCPU16 was a virtual CPU for a computer game. I spent days just understanding what the words meant, what assembly language was, how CPU emulators work, what he was actually asking me to build. The whole thing was incredibly intimidating.
But with some drive and push, it all worked out. I built the emulator in Ruby and sent him the GitHub link with an email explaining who I was and what I’d done.
Within a few hours, he replied: “brilliant work Gaurav. I’m really impressed with this. More soon.”
That email made my day. It was followed by interviews with the hiring team over Skype. A month later I started as an intern, working remotely from India. I eventually moved to Toronto to work full-time.
As Paulo Coelho wrote in The Alchemist: “When you really want something, all the universe conspires in helping you to achieve it.” That one tweet, and my decision to take a shot at something, changed the entire trajectory of my career.
What was it like working at Shopify?
Transformative. There’s really no other word for it.
I joined when Shopify was about 80 people and left when it was around 3,000. Those five years felt like 50 years of learning compressed into one career.
I’d often find myself in rooms where I felt like the dumbest person. And I mean that in the best possible way. I was learning directly from some of the best people in tech – including working on projects with Tobi himself. In my final year, I even got to take a 10-day business trip to India with the CEO, COO, and CPO.
What made Shopify special was the culture around learning and ownership. If you had a great idea, you could write about it, pitch it, gather resources, and actually build it. I started and ran a team called “Team India” that developed products for emerging markets. It was basically intrapreneurship – startup energy within a scaling company.
The most valuable thing I took from Shopify wasn’t any specific technical skill. It was learning how world-class companies think about problems, how they make decisions, and what “really good” looks like at scale. And I made friends with some genuinely talented, kind people who I’m still connected with today.
What are your thoughts on learning to code with AI?
I think AI is going to be the most powerful learning accelerator we’ve ever had. But only if you use it as a tool to understand, not a crutch to avoid understanding.
Here’s the thing: when I was learning to code, I’d get stuck on something and have to spend hours (sometimes days) digging through documentation, Stack Overflow, and random blog posts just to understand why my code wasn’t working. That friction was frustrating, but it also forced me to really grasp the fundamentals.
With AI tools today, you can ask “why isn’t this working?” and get an instant, personalized explanation. That’s incredible. It’s like having a patient mentor available 24/7 who never gets annoyed at your questions.
But I’d be cautious about two things.
First, don’t let AI do the thinking for you. If you just vibe code without understanding it, you’re not learning. The goal is to use AI to accelerate your understanding, not replace it. Ask it to explain concepts. Ask it to explain in detail how the feature it wrote works. Ask it why something works, not just what works.
Second, you still need to build real things. AI can help you get unstuck faster, but the actual learning happens when you’re trying to solve a real problem for a real user. That’s where you develop intuition, taste, and judgment that no AI can give you.
I’m building AI products myself right now. I use AI tools in my workflow every day. And my honest take is: if you’re learning to code today, you have an enormous advantage over people who learned a decade ago. Use it. But use it to go deeper, not to skip the hard parts.
How has your life changed since learning to code?
Pretty dramatically, honestly.
When I was 22, I was a Chemical Engineering graduate in a small town in India with no clear path forward. Learning to code gave me agency – the ability to build things, create value, and work with people anywhere in the world.
It led to the Shopify opportunity, which led to immigrating to Canada. I’ve since co-founded multiple startups, led engineering and product teams, and now run my own little AI product lab. I’m building things that bring joy to real users – like Bookling, where I’ve had customers write to me about their kids reading their personalized storybooks to their dogs.
Beyond the career stuff, coding gave me a way to think about problems that applies to everything. Breaking complex things into smaller pieces, iterating based on feedback, building systems that work. These patterns show up everywhere, from parenting to investing to writing.
I’m now a dad to two daughters who are 2 and 4. A lot of my creative energy loops back into them – their stories, their worlds, their curiosity. Even Bookling started as something I was prototyping for my own kids at home.
As Andrej Karpathy says, intelligence is becoming cheaper now, so agency is much more important than intelligence. The ability to code, in my opinion, is the ultimate form of agency. And that agency can literally change our lives. For me, deciding to learn HTML and PHP out of boredom and desperation in 2011 was one of those things.
What does a typical day as a software developer look like for you?
My days don’t look like a typical software developer’s lately – because I’m not in a typical setup. :)
I run a solo AI product lab, and I have two young kids (ages 2 and 4). So the “9-to-5” thing just doesn’t exist for me. My schedule is more like: dad mode in the morning, deep work in chunks throughout the day, and sometimes another focused session after the kids are asleep.
On the technical side, more often than not the stack for me is: Rails 8 monolith on the backend, and either Turbo/Stimulus on the frontend or React/TypeScript. It depends on how ‘frontend-heavy’ the functionality is. With quick throw-away prototypes, my backend also ends up being TypeScript. Because Claude Code does well with that.
I also work a lot with AI pipelines: chaining together LLM calls for story generation, prompt engineering for image consistency, and integrating with image generation models like Flux.
A typical day might include: debugging a tricky state management issue in the editor, tweaking prompts to get better story output, reviewing user feedback from a recent test, and maybe jumping on a quick call with a startup I’m collaborating with. There’s no clean separation between “coding time” and “product time” – it’s all blended.
Is this what I expected when I started coding? Not at all. I thought being a developer meant working at a company, shipping features someone else defined, clocking in and out. I didn’t imagine I’d be running my own thing, choosing what to build, and iterating based on whether actual users feel joy when they try it.
The freedom is incredible. But it’s a lot of swimming in uncertainty. Everything falls on you – the architecture decisions, the bugs, the customer support emails. But honestly, I wouldn’t have it any other way.
What are your career goals for the future?
I’m not chasing a specific title or exit. Right now my goal is simpler: keep building things that matter to me, learn constantly, and see where the experiments lead.
That means running 42 Acorns – my tiny AI product lab. Where I’m iterating on Bookling. The success metric I care about is whether users feel a spark of joy when they try what I’ve made. One of these “toys” may someday graduate into a bigger business, but that’s not the primary goal.
I also write on my Substack called Infinite Games. Mostly about product engineering, startups, and life lessons.
And I occasionally do focused sprints with startups and founders – not just advising, but actually building and shipping things together. Prototyping AI workflows, unblocking stuck features, validating ideas end-to-end.
The through-line is staying close to the work itself. I’ve been at this for over a decade now, and what keeps me energized is still the same thing that hooked me in 2011: building real, tangible things with code that solve someone’s actual problem.
You can find me at gauravchande.com or on X/Twitter at @gauravmc.


