vadimkravcenko

How to learn coding without a degree?

09 February 2024 ·Updated 04 April 2026

Question

Hey Vadim, I'm kinda lost. My background is in sales, but to be honest, I find myself disconnected from it. Not having fun, not enjoying it, don't like people as much. Science/Math was never on my radar until recently, all my friends make so much money working in IT, and I want to try and break into this field I want to learn programming without a degree. Where should I start with learning to code? I feel like overwhelmed with the amount of information on google, there's literally millions of articles to read. And just to be clear: I'm talking about starting from scratch, learning a programming language, reading all the basics that will make me good for a job. Is it even possible? Can someone like me, with a sales background and zero experience in tech, make a career switch into coding? And more importantly, do people actually land jobs in this field without a traditional degree, whether it's working from home or in an office? I want to build a skillset that allows me to earn a living. The idea of being stuck in a career that doesn't excite me is terrifying. Yet, the thought of starting over in a completely new field is equally daunting. I've heard stories of self-taught developers and bootcamps, online courses, and communities that support career changers like me. But it still feels too much. I'm reaching out to you for advice on how to transition from a non-technical background to a career in coding? What resources do you recommend, and what pitfalls should I avoid? Thanks!

Answer

Last Friday I opened my inbox to yet another message that started with, “I don’t have a CS degree, but I want to write code for a living.” That was me fifteen-odd years ago, minus the courage to ask strangers on the internet for advice. So, yes, seeing newcomers jump in still gives me that “welcome to the club” grin—our industry could use a few hundred thousand more engineers anyway.

You’re probably wondering whether a diploma is mandatory. Short answer: plenty of teams hire skilful self-taught engineers. Longer answer: some big names—Google used to be notorious for this—still filter by degrees, so research the companies you’re aiming for. (I wish someone had told me that before I spent a month tailoring a résumé that never made it past an automated screen.)

Think of code as a language, sure, but remember even native speakers wrestle with grammar forever. Intro CS courses at Berkeley report attrition rates somewhere around 25%—and they’re taught by professors who genuinely want students to stay. Point is, the difficulty curve isn’t a verdict on your potential; it just takes time.

Your entire curriculum lives online—YouTube playlists, free MIT lectures, weird blog posts from 2012 that still rank for “pointers explained.” Pick one beginner series and stick with it for a bit. The actual language matters less than finishing something. If the recommendation system drags you into “C++ metaprogramming in 48 minutes,” close the tab (been there, lost an evening).

🏄 Heads-up: “free” means no tuition invoices, not zero cost. You’ll pay with evenings, weekends, and the occasional existential crisis.

Structure helps. I block two 45-minute slots in Google Calendar for learning even when the week is chaos (well, especially then). One slot is pure theory—videos, docs, note-taking. The other is hands-on: typing code that breaks, fixing it, committing whatever finally runs. Consistency is boring but undefeated.

Have a project in mind. A tiny one. A portfolio generator, a Raspberry-Pi temperature logger, the classic “to-do list but with cats”—doesn’t matter. I’ve watched learners burn out on React tutorials, switch to Python automation scripts, and suddenly fly through tasks they’d avoided for weeks. Novelty revives motivation.

Those projects become portfolio pieces. Recruiters—at least the ones I talk to—usually skim GitHub before they read cover letters. I can’t promise every company does that, but having a repo with a clear README and a gnarly bug you eventually squashed beats a polished résumé that says “passionate about synergy.” Keep a short changelog of what stumped you and how you got past it; interview stories write themselves later.

Communities matter more than algorithms. A Discord server where people post their failing unit tests at 1 a.m. can save you hours. Meetup groups, Hacktoberfest, whatever Slack channel your city uses—jump in. Someone will point out a smarter approach, and occasionally you’ll return the favour. (I’m not entirely sure this scales beyond small groups, but it has worked for every mentee I’ve had.)

The day impostor syndrome shows up—and it will—remember that experts still Google “how do I exit Vim” during demos. Mastery takes years, not months. Expect plateaus, celebrate the small deltas.

About internships: real-world tickets in a backlog teach faster than any tutorial. Paid gigs are ideal; unpaid roles sit in an ethical grey zone and, in some places, a legal one. Check local labor laws and university policies if you’re enrolled anywhere. If compensation is “exposure” or “possible future equity,” read the fine print twice.

The path from sales (or hospitality, or music theory) to shipping production code is winding, but it’s navigable. Every bug fixed, every pull request reviewed, nudges you forward. If progress feels slow, that’s normal—it’s supposed to. Keep shipping, keep asking questions, keep the calendar blocks sacred.

See you in the commit history,
Vadim

Worried your codebase might be full of AI slop?

I've been reviewing code for 15 years. Let me take a look at yours and tell you honestly what's built to last and what isn't.

Learn about the AI Audit →

No-Bullshit CTO Guide

268 pages of practical advice for CTOs and tech leads. Everything I know about building teams, scaling technology, and being a good technical founder — compiled into a printable PDF.

Get the guide →

2 Comments

  1. Anonymous

    Starting to code can feel like you’re learning to swim by being thrown into the deep end. I’ve been there, and trust me, it’s normal to feel overwhelmed. One piece of advice that really changed the game for me was focusing on understanding the problem before diving into the solution. It’s easy to jump straight into coding without fully understanding what you’re trying to solve. This often leads to frustration and wasted time. Also, remember that Google and StackOverflow are your best friends. They’re not just for finding answers to specific problems; they can also teach you how to ask the right questions. That skill alone can set you apart in the tech world. Lastly, don’t underestimate the power of taking breaks. Sometimes stepping away for a bit is all you need to see the solution you’ve been missing.

  2. Anonymous

    I started learning to code by tackling small, fun projects that caught my interest. Joining GitHub early on helped me practice and connect with other coders. Whenever I hit a roadblock, I dove into forums and discussions for solutions, which surprisingly boosted my confidence. Keeping the habit of coding regularly, even with simple tasks, gradually built my skills.

Cancel