Home

Blog

About

Contact Me

How to Self Learn Programming and Land a Coding Job

June 28, 2024

l

Ethan

Dev

You can learn programming all by yourself and get a coding job. Just you, your laptop, and the internet. It’s great! You don’t have to pay thousands of dollars for a degree and you can work at your own pace.

However, there’s a challenge with this approach: without a teacher or course to guide you, it’s not clear how much work you need to do every day. There are no professors giving weekly lectures or tutors setting homework.

You just do as much study as you’re motivated to do. Are you doing enough? Could you do more? These questions can create guilt and anxiety when you spend time on non-programming activities. There’s no clear line between work, study, and play. There’s no campus or workplace to go to and no-one is keeping you accountable.

In this post, I want to discuss the question: how much should you be working?

Pacing Yourself: Slow and Steady

In general, my advice is to pace yourself. Slow and steady—don’t burn out. A useful quote to keep in mind is:

“You overestimate what you can do in a day, and underestimate what you can do in a year.” – Bill Gate

Setting a Daily Study Goal

Let’s be specific. I think you should aim for four hours a day of total study. That’s what worked for me personally. It might not seem like much, but that’s four hours every day. You might think that 8 hours of work per day is the golden standard, but learning is much harder than working.

That four-hour figure is for people studying full-time. If you’re also working a job, aim for 2 hours a day at most.

Balancing Theory and Practice

Study Some Theory

Of those four hours, I recommend spending 1-2 hours doing coursework. This might be watching lectures, reading a textbook, or doing assigned coursework. Consider courses from Coursera, Udemy, MIT or even YouTube videos. Passively reading and watching videos is mentally draining, and most people can only absorb information and take notes for about 1-2 hours a day.

Do Some Practice

Spend the rest of your time on a coding project. I suggest coding after some theory because learning theory is harder. If you’ve found a project you’re interested in, it shouldn’t be hard to spend 2-3 hours writing code. Some days you’ll get stuck and give up early—that’s normal. Other days, you’ll be having fun and the next 10 hours will fly by. What’s important is not to force yourself to sit and code for 8 hours a day if you’re not enjoying it.

If you find yourself unable to spend 1-2 hours a day coding, take a step back and figure out what’s blocking you:

  • Do you hate the language you’re using? Try a new language.
  • Is the project too hard? Try something easier.

Take a meta perspective on your work. Don’t just slog through problems. Make it fun.

Immersing Yourself in Programming

You can accumulate a lot of passive programming knowledge without doing a lot of work per se. If you can find programming-related entertainment that you enjoy consuming, it won’t feel like studying. For example, I used to enjoy reading tech blogs and listening to podcasts like Programming Throwdown and Go Time. I’d listen to these podcasts while working out—casual consumption, not a study thing. There are also books and YouTube videos that are both entertaining and informative.

Consistency is Key

It’s hard to say how long it will take to get a software job from scratch. There’s a lot of variance, including your local job market and pure luck. In general, getting a job will probably take longer than you expect, so it’s important to work consistently. Be in it for the long haul: pace yourself.

Written by Ethan

Cloud Solutions Architect. Full Stack Web Developer. Cloud Enthusiast. Gym rat. I'm a driven, detail oriented, Cloud Solution Architect based in Pittsburgh, PA. Experienced in both networking and software development cycles where I enjoy designing scalable, flexible and cost effective solutions with a focus on end user experience and business objectives. When I'm not working or at the gym I enjoy continuous learning, experimenting with new technologies and sharing what I learned to the communities.

Comments

0 Comments

Blog

Categories

AWS-Icon

AWS

Software_Development_Logo_Icon

Software Design

Network Icon

Network Design

Azure-Icon

Azure

Stay up to date with the latest news on the Cloud! We promise we won't spam you.

Stay up to date with the latest news on the Cloud! We promise we won't spam you.

Join our mailing list to receive the latest updates from our team. We promise we won't spam you.

You have Successfully Subscribed!

Share This