How to learn coding without a degree?

09 February 2024
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

Hey there, I’m always happy when someone new decides to join the software engineering field. If you’re used to browsing reddit it might seem that there are a lot of developers, but to be honest, we’re still lacking compared to other fields. So I’m super glad you decided to learn how to code. Not sure why you don’t want to do that with a university, but it’s your choice and I respect it.

Let’s tackle your concern head-on: Yes, you can learn to code from scratch, and yes, people from non-technical backgrounds do land jobs in tech, degree or no degree. The key is to start simple and build from there. Think of coding like learning a new language. You wouldn’t start by reading Shakespeare; you’d start with the basics.

So let’s start with the first steps. Everything you will ever need is available on the internet. Your whole software engineering degree is available in multiple different formats online. Starting with YouTube, it’s a goldmine for aspiring coders. There’s literally thousands of channels that offer comprehensive tutorials on a wide range of programming languages and development concepts. It doesn’t really matter with which one you start โ€” as long as you add the word basic or “for dummies” to the search you will get enough information to last you the first months.

๐Ÿ„ Also to be fully clear โ€” while the information is indeed available for free, you'll still have to spend countless hours reading and understanding and then implementing the advice. it will be painful, like in any profession.

When it comes to learning something new, especially something as vast as coding, having a structured schedule can make a world of difference. I would suggest to dedicating specific hours of your day for theory, for fundamentals learning and practicing coding. This doesn’t mean you need to overwhelm yourself; even an hour a day can lead to significant progress over time. The key is consistency. Consider using tools like Google Calendar to block out learning sessions, and treat these blocks as non-negotiable appointments with yourself.

It helps a lot when you already have an idea in mind that you want to build that will be your “goal” while learning. It can be anything โ€” starting from a video game to a website or to a programmable robot, doesn’t really matter, as long as you’re passionate about it. This passion will help you overcome those days when you don’t feel like coding at all.

This “side project” allows you to apply what you’ve learned in a practical, hands-on way. The idea is to start small and gradually increase the complexity of your projects as you become more comfortable with coding. Not only do these projects reinforce your learning, but they also build a portfolio that you can showcase to potential employers or clients. And I can guarantee you, recruiters will ask for samples of your code or projects that you’ve built, and you better have a good story of a challenge that you solved recently. Write them down while you’re learning.

Also, don’t underestimate the power of community. Join online forums, coding masterminds, or local meetups (when possible). These communities can provide invaluable support, feedback on your projects, and even opportunities for collaboration. They also can keep you accountable while learning. There’s usually already a path that everyone took so you have your whole path in clear sight ahead of you. Platforms like GitHub are also great for contributing to open-source projects, which can further enhance your skills and visibility in the tech community.

Once you start getting the hang of it you will feel that everyone has it all figure out and you’re the only one who doesn’t understand it. Relax, it’s just the impostor syndrome kicking in. But here’s the thing: everyone starts somewhere, and every expert was once a beginner. The key is to keep pushing through, practicing, and not being afraid to tackle problems head-on.

If you’re real serious about making this transition, consider looking for part-time tech internships or freelance projects or unpaid internships where they will invest heavily into you for some pay later on. In general I’m against any unpaid work, but if you’re willing, this might be the shortest but hardest path. Real-world experience is invaluable, and it’s a great way to build your resume and network. You will suffer, but for a shorter time than learning it all online yourself.

So, to wrap this up: Your journey from sales to coding is feasible. It will require dedication, patience, and a lot of hard work, but the rewardsโ€”both personal and professionalโ€”are immense. Each line of code you write, each bug that you solve, each video that you watch is a step closer to your new career. So just keep on grinding.

Best of luck to you,
Vadim




Hot! The last couple of years I've been writing about CTO / Tech lead job. I've compiled all my knowledge into a printable PDF. I called it "256 Pages of No Bullshit Guide for CTOs". So if you're interested, take a look.

New! If you're a software engineer looking for a job, I started a Roast my Resume service, where I record a personalized video of me "roasting" your CV, which basically means taking a hard look at your resume as a CTO and commenting on all the good and the bad parts.

  • Ian Joyce

    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.

  • Bijoy

    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.