I just got fired, let's see if I can learn to code in 3 months!

It's funny—I got fired from my 9-5 Job a week after joining the Indie Hackers community.

I am definitely no Mark Zuckerberg, this last gig was working as a support rep in a local web hosting company, but have nevertheless decided to challenge myself to learn to code and get a freelance gig (or start my own SaaS project) in the next 3 months.

I've set up a small blog, yes I've set it up on Ghost, and will document my journey towards becoming a capable coding ninja! It should also serve as a reminder that although life is unpredictable at times, everything is going to be just ok!

Have you had a similar experience? If so, did it help you to take the leap and go solo, or were you forced to look for another steady gig? What say you, will I be able to pull it off?

  1. 11

    I learned how to code in about that amount of time. I had basic experience with VBA prior to quitting my job, but I wasn't yet "there". I took over 5 months procrastinating but, when I started learning, I gave it my all.

    My 2 tips for you are:

    1. Get something you want to build and start learning how to code as you build it.
    2. Learn how to read and understand the documentation. That way, whatever language you choose to go with, you'll not feel lost.

    Full expert level coding comes with experience, so don't sweat it . Everyone here is at some level of learning and I don't think it ever stops. However, my second point will seriously reduce the anxiety to become an expert right away.

    Otherwise, good luck in your future projects!

    1. 3

      edit: I must apologize, if I had more time, I would have written a much shorter post.

      I'd like to toss in my $0.02 here, mainly because getflookup mentioned documentation.
      I 100% agree with finding a thing you want to do and learning to code by building that thing.
      I also 100% agree with learning to read documentation, but this is where my bit comes in.

      When it comes to the documentation I've noticed 4 major trends to docs:

      1. No docs at all (very rare, but if you see this, RUN!)
      2. Developer docs
      3. Explanatory docs
      4. Incomplete examples of 2 or 3

      Of the four types, obviously, 3 will be the best. For example, in Python when working with AWS, you will use a package called Boto3. The AWS documentation, and Boto3's documentation are absolutely fantastic and they explain just about anything you want to know. You'll likely need to do a little digging or critical thinking, but for the most part, they make it super easy and nice.

      The next best is 2. Developer docs.
      These documentations don't really explain things really well. So for example, PyGithub (a great and fun github utility for python) uses these types of docs. The documentation includes pretty much everything you want, but it's hidden as sort of a little "gem". You'll get to find these gems more and more as you practice and learn but until then, these docs are incredibly frustrating. You'll feel like you're not grasping something or that you aren't good at programming. These docs are what make people who are perfectly capable at developing, maybe even good at it, believe otherwise and give up.
      Basically, this is what will happen: You'll have something, some framework or package or addon that you're working with and you'll want to do something very specific. So you go searching through the documentation and you don't find anything related to what you're looking for. Now, annoyed but not yet ready to give in, you head over to Reddit or StackOverflow (please, do try to avoid S.O., reddit is better and friendlier) and you'll post your question. Someone will answer you with something along the lines of "Well it says in the documentation that to do X you must do Y in Z pattern, here's an example". Okay, cool, but you didn't find that so where the HELL are they looking? Follow their link and you land on a page you've already read 1,000 times.
      Well, you just ran into one of these gem situations. Likely, what you needed WAS on that page, but HOW you needed it was not. The docs show an example of how to use this thing (like logging into github), AND, somewhere hidden you don't know where to look because you're just not quite there yet they'll explain something else (like using literally anything BESIDES a usernaame and password to login) and to do the thing you want you need to actually combine those two things. Then, back on that original page, you suddenly see the code you just wrote, right in front of you. but because these are "Developer Docs", it wasn't clear.
      Don't let these discourage you. Keep going, just remember to think a little more about WHAT you're trying to accomplish and HOW that thing MIGHT be accomplished, then pour through the documentation a 30th time before asking for help. You'll eventually stop asking for help.

      1. is a little, well, rare. Sure there's lots of stuff that doesn't exist in documentation, and there's lots of bad documentation out there, but when you get to these situations, it's often quite useful to look through the source code. Most languages have what python calls "TypeHints". Little bits of text in functions that allow a developer to explain what the function does when they're typing it out in an IDE like VSCode. These can be your saving grace when the documentation is incomplete (like PyGithub! HA!)

      And last, but definitely not least is #1. I've run into this once. You come across something without documentation, and it's not your own code, run. Just simply don't use that thing. There is 100% another package/software/whatever out there that does what you want with documentation, go find it.

      Alright, so, there's my book. I didn't expect it to get THIS long but I felt like I needed to get that out there, especially for new devs who might find this post in the future. Good luck to you guys, and remember, don't be ashamed if you don't get it, that's okay, the world doesn't need everyone to be a developer and if you can't code, you likely do something else incredibly well that I just simply cannot grasp, but until you reach that point, push yourself harder than you ever have before. 3 months is a very short time to grasp this much information.

      1. 1

        I can only say WOW! And thank you! :)

    2. 2

      Great advice. I agree, best way is to actually have something in mind you want to build, and you will Google your way there. Going through tutorials and canned video lessons to me is too boring, if I only stuck with that I'd never be where I am today.

      Another helpful tip is to see if you can find open source examples that you can start from and modify, so you can see what your changes do to the working app.

      And yes, if you are working at it full time you can get a functional alpha of your product within 3 months - I did it 2 years ago. Good luck.

      1. 1

        Yes, that makes total sense, thank you! Most YouTube lessons I watched were boring indeed! I'm starting off with Treehouse and a book or two from O'Reilly. Afterwards, it's Google to the rescue!

        There are actually several open source project I'd be interested in participating in, say Ghost for instance (that's why I'm using it anyway).

        Is there an open source project you worked on yourself? If so, which?

        1. 1

          @ivancankar If you're looking for an open source project in ed-tech, I could definitely use your help with Tutorbook. It'd probably be a great learning opportunity if you're interested in picking up Next.js/React/TypeScript.

        2. 1

          Nice, I didn't contribute to an open source project, but rather found one that already had some components in place for what I wanted to build, and so I actually had a starting point to mess with.

    3. 1

      Cheers! I have definitely procrastinated in the past waaaaaay too much, but not this time! I'm ready to give it everything I got!

      What was your first project about?

      1. 1

        My first project was an android video game but I quickly dropped it to start working on Flookup.
        I also drew up plans for a chat app prior to this, which helped me come to the realisation that software development is mostly an idea in one's mind/imagination before the actual coding starts.

  2. 6

    "Learn while building something"

    I used to teach students how to program, (and did that for many years) and from my experience, that's simply the BEST piece of advice I can give you. The most successful students are the ones that tried something of their own because that keeps on motivating you to move forward while doing something for yourself as you progress.

    Don't just follow courses or tutorials. You'll get discouraged, lost in the process, or procrastinate more than you wish. Forget about freelancing or contributing to open source, at least in the beginning. Later you will, for sure.

    So, if you already know HTML and CSS, build a quick one page UI for something really simple, but that needs to have some sort of programming functionality. For example, a gym plates calculator where you enter the weight and it tells you how many plates of which weight you need. Or a switch button to change the page background dark mode. Whatever, but something simple.

    Start with JavaScript, make an input take a number and show a pop up. Go from there. Little by little, one more little feature that makes your excitement and knowledge work and you'll remember me in a few months once you become an ultimate guru. :)

    Best of luck!

    1. 2

      Excellent advice! Thank you!! :)

  3. 5

    Learning to code in 3 months and getting a junior position is doable if you work very hard and understand that coding and getting the job are two different skills (and practice both).

    Starting a SaaS in 3 months (starting from limited technical knowledge) is not doable unless (1) you are exceptionally talented and/or (2) you partner up with someone who is, or (3) you already have an audience and can build an MVP with no-code tools

    Good luck with it!

    1. 1

      Cheers, mate! I'm keen on seeing how far I can push myself!

  4. 3

    Not to discourage you, but I feel like chasing after Freelance Gigs is not exactly the best experience for a new coder as freelancers are usually expected to operate with a high degree of autonomy. It also takes time to build a network of references and you really want those, so that you aren't forced to compete on freelancing marketplaces.

    Likewise, SAAS or whatever software-based business you have in mind is maybe doable but can take a while to take off to a point where you get profits that are worth talking about.

    But by all means, if you have three months, you could take a stab at making a SAAS or gig-lancing and worst case scenario you could use the things you have learned along the way as proof of your skills. Then you can apply for entry-level coding job or technical writer position!

    1. 1

      I resonate with that, very much so. It's one step at a time for me atm, though I do have a couple of ideas, let's see where it leads. :)

  5. 3

    Hope you can check out some cool teachers on youtube like net ninja!

    Oh and be sure to check out over 100 self-taught success stories here :)


  6. 3

    finally you had come out of that comfort zone.

    i was fired in 2018. It was founded by me and my 3 classmates. I was bankrupt and didn't had a laptop when i walked out of my office.
    They disconnected my official sim connection which further made it worse without allowing any online transaction with OTP.

    one thing to keep in mind: This is not the end it is just a beginning, pursue your passion and move forward.

    1. 1

      Exactly! Also thank you for sharing.

      I see it as an opportunity as well and am going to give it everything I've got!

  7. 3

    You can't. Ask anyone who has been coding for years, 3 months isn't enough time to learn and do anything.

    Reevaluate your goals and expectations, because expecting to "become a coder" within 3 months isn't going to happen unless you dedicate 40 (real) hours a week to learning and writing code.

    1. 6

      Without a legendary discipline and natural talent towards coding, it's unlikely to become a hireable coder in 3 months. With that said, it's totally possible to build the 0.1 version of the first product, and become dangerous in the process (c'mon, Aleksej has already launched a blog!).

      Also, setting unrealistic and very ambitious deadlines for oneself can be a good way to get to the destination quicker than expected (e.g. Tesla and model 3, scientists and covid vaccine etc).

      So I say go do it Aleksej!

      1. 3

        I agree with mizurnix!
        Go mad on it and forget anyone that says you can't, that just normally means they couldn't! Go for it and if you're not Mark Zuckerburg in three months time, you'll be a way better coder you than you were when you posted this! Good luck

      2. 2

        I had a friend who quit their job and fully committed to learning coding, he learned enough to become hireable in exactly 3 months. He then learnt on the job.

        Go for it and I wish you the best of luck!

        1. 1

          Thank you so much! I'll keep everyone posted!

    2. 2

      Cheers, guys! I appreciate the feedback. I have 3-4 months of savings, and I'm determined to give it a try. I have some basic knowledge of Python atm and, dare I say, am fast to learn!

      I know myself well enough that I wouldn't follow through with this if I were to get another job right away—I've tried several times in the past, but a 'normal' 9-5 drains me of my energy so much so that I have zero desire or motivation to learn.

      Worst case scenario, and I do mean worst case, is I go and get my old job back (with one of my previous emplyiers).

  8. 2

    I’m sorry to hear that, but I believe everything happens for a reason. Maybe this is the push you needed.

    Learning to code in 3 months is totally doable. I was in a similar place a few years ago and learned to code from zero. No prior knowledge.

    For me, it took about six months. I took a side-gig to keep the money coming to pay my bills, then studied, learned, and practiced for about six hours every day after work.

    It will test your drive, determination, and discipline. But it’s totally doable.

    I recently wrote about my experience going from zero to where I currently am here: https://notyourtypicalasian.com/2021/03/21/wild/. (shameless plug to my blog 🙂).

    Good luck!

    1. 1

      Cheers dude! And congratulations on the recent promotion! :))

      1. 1

        Thanks! 🙏

        Keep us posted on your progress :)

  9. 2

    your sign up button didn't work for me btw on ghost

    1. 1

      Sorry to hear that, and thanks for letting me know. I couldn't reproduce the issue unfortunately and was able to subscribe with a testing email address.

      Is it that you didn't receive the confirmation email (I've added the SPF record just now) or was it something else?


  10. 2

    Good Luck @ivancankar! If you need any help just ping me!

  11. 2

    Best of luck! This will make you stronger and more capable.

  12. 2

    You can do it!

    My advice:

    1. Pick something you want to build. Then cut that idea in half. Then cut that idea in half. Now start trying to build it.
    2. If you get stuck, Google it. If you can't find an answer on google, ask a friend or programmer on the internet to help you.
    3. Put in time DAILY. Don't do it for a few hours every other week.

    Good luck!

  13. 2

    Cheers, @Aleksej! Best of luck. Looking forward to following your journey. Please share how your experience with Ghost is too! Been thinking about using it.

  14. 2

    You got it my dude! Have you considered going the Webflow route instead? Might be an easier starting point, and in a lot of ways it's the future of web design. You'll naturally learn coding along the way just by using Webflow's visual designer, and be able to apply that knowledge in the future when you decide to go full-on programmer (if you ever do that after learning Webflow). I run a nearly 7-figure agency doing it, and can tell you unequivocally there is insane demand there, and far easier to learn than full-on programming. Not trying to discourage you from learning code first especially if you have time, but throwing out another possibility for you.

    1. 1

      When you say that there is an "insane demand", do you mean that there is a large demand for webflow developers? And if so, how so? What makes them choose your webflow route vs a normal code designed website?

      1. 1

        Their lack of knowledge of Webflow, or how to use it.

  15. 2

    I learned to code in python in 3 months in https://www.lisbondatascience.org/prep-course/
    Amazing community, instructors and it's free.
    Try it :)

  16. 2

    Self-taught dev with 6 years of experience here. Had coding as a hobby, did an internship in HR before finishing studies. Decided that I'm more passionate about my hobby than that field of work, switched as I already had some passion projects in my portfolio and never looked back, best decision of my life so far.

    Just come up with an idea and make it happen, this worked for me as my first app. Wanted to make an app to help my parents with their small business. Guess I was still young and wanted to prove myself. I was so motivated that there were days when I would sleep 3 hours and afterwards couldn't sleep because I would wake up with an idea in mind.
    I also had days when I would be blocked for days with something I couldn't get past or couldn't understand, that was frustrating but you have to be persistent.

    But you also have to be ready to invest more than 3 months.

    You can do it, just put in the work and have a clear goal in mind.
    Good luck!

    1. 1

      Congratulations yourself, a truly inspiring story! :)

      I do have an idea or two in mind, especially for simplifying the repetitive tasks from my previous job(s) i.e. right-clicking on a link and seeing the domain's A, CNAME, SPF, and MX records, etc.

      What was your first app about?

      Thanks again!

      1. 1

        Eh, a shopping list type of app, together with invoicing, printing to thermal printers, a chat and all kind of things needed for a trading business with a couple of sale points.
        Not necessarily something very interesting, but that's exactly the point, if it is something with some emotional value to it you'll be extremely motivated because it won't be just for learning and if you hit a bump and have a hard time making progress then it will rly motivate you!

  17. 2

    Good luck on your next chapter Aleksej! You can definitely learn so much in 3 months. If you're going into mobile development I would recommend checking out Ray Wenderlich. They offer amazing tutorials, books, and video courses for both iOS and Android. I'm part of the community there and everyone has been really friendly. Have fun!!

    1. 1

      Thank you! I haven't heard of them before but their website really does look promising!

      I'm actually going into web development, and am a big fan of Treehouse and their tutorials.

  18. 1

    do you want to learn how to code? is that your thing? just asking honestly.

    1. 2

      I do! I'm not sure whether it's 'my thing', but I'm curious to learn and to learn so far has been fun tbh.

      1. 1

        well, you may figure out that pretty quickly...! be okay with it not being your thing... better to test-drive and then pivot!

  19. 1

    Interestingly, I yesterday published a post (link to post) about how you should choose between learning something or publishing a product. Combining the two will intervene with both goals.

    But I didn't think of your scenario: not having coding xp. So I'm curious how it will go.

    The neat thing about a "blank canvas" is that you can go at it as you seem best fit.
    Creating a product could be done with low/non coding platforms, but since your goal is to learn to code, think about what things you DO know and understand already.

    HTML/CSS? Ever worked on a JS script or some VB code ? Those things might help you to pick the right tools for you to go at it.

    I think you can make this happen. My advice is to keep a narrow path and don't get sucked up in the vast space of development (it has only become more diverse and grown these last 15 years).

    Decide what kind of dev you want to be (web, mobile app, wordpress plugin, ... ) and choose the tools /framework / ... that you can see (after googling and asking people who already work in that development field) have great communities, lots of info on stack overflow, online tutorials, active maintenance on Github, so you can get some support or questions answered.

    Take care and I'm wishing you a lot of fun and all the best while walking your path!

  20. 1

    Sorry to hear about your job. Hopefully it will turn out to be a good thing in the long run!

    I'm in the opposite situation to yourself. I've been writing software and designing systems for over 20 years and am looking to leave my job. There's simply nowhere where I actually want to work anymore and because I'm creative I'm extremely frustrated with the mundaneness of all the work I'm given.

    I want to create something new. Something I'm passionate and enthusiastic about instead of lining the pockets of the top execs.

    If you need any guidance on your journey, don't hesitate to get in touch. I see you've had a lot of good advice already!

  21. 1

    Same boat as you, difference is that I'm a freshly graduated from my school and never had a job before. Let's do this.

  22. 1

    You can do it! just use YouTube!

  23. 1

    You can do it. My $.02 learn React... JavaScript related technologies. By focusing on specific technology you stand a better chance of mastery and acing interviews. Also build a portfolio along the way. Ycombinator startups are always looking for interns. I am rooting for you!!!

  24. 1

    Welcome, @ivancankar!
    Your attitude is excellent, your way forward clear and yet not so far-seeing. My advice: work hard at learning your new craft. See how far you can go. But as you travel and learn, pay attention to the little clues you get that give you energy. See if you can do anything with them. If you find that the way opens for any of them, proceed a little further through that door. See where it leaves you. You may be surprised at the opportunities that come your way. Good luck!

  25. 1

    Nice domain name on the blog.

  26. 1

    I'm a self-taught developer, the biggest struggle is to make a plan and stick to it for a certain amount of time.
    I wrote an article about what kind of plan do you need - https://metacognitive.me/where-to-start-programming

    TL;DR: have a learning plan, learn the basics and start to write real code as soon as possible.

  27. 1

    Welcome to IH and good luck on your journey Aleksej! Keep us updated.

    What exactly are you planning to learn?

    1. 2

      Cheers Leo, will definitely do! :)

      Well, I know HTML and CSS, so I'm thinking of kicking it off with JavaScript and adding PHP along the way. I have an idea or two for a widget I want to make so I'll try to pour the knowledge into making it.

Trending on Indie Hackers
How long did it take to build your MVP? 28 comments Dealing with lack of motivation due to failed soft launch 20 comments Bootstrapped my productivity app to 700 paying customers! AMA. 8 comments Free e-mail countdown timer that doesn't suck 💩 6 comments Return of the external link 4 comments How To 10X Your Design Rates in 2022 (Free Script) 2 comments