This article was originally published on 06/19/2019

Learning to code is a skill that feels universal, accessible, and almost required. People who have never seen themselves as technologists are now contemplating entering the software development field without taking the time to evaluate their options and determine if they should learn to code.

The thing is that it all comes down to timing. If you contemplate and determine that the time is now, here are some things you should consider:

Are you financially prepared?

There are plenty of free and low-cost programs to help you learn to code. Getting started is the easy part. However, the journey to learning how to code to the point of getting hired as a developer is much more difficult. You’ll be faced with two paths on this journey: self-teaching or enrolling in an intensive program.

Intensive programs come in different shapes. Many traditional colleges and universities now offer continuing education programs in software development and generally cost thousands of dollars. There are also independently run coding boot camps, which generally take from three to twelve months to complete. Most offer both full-time and part-time options and often cost $10K-$20K. The good news is that there are other programs, like Lambda School, that use an ISA (income share agreement) that allows you to defer payment until you’re employed. This makes learning to code more accessible upfront, but no matter what intensive program you pick, it will take a significant amount of money as well as time.

The hours you spend in the classroom are generally not enough. You’ll need to spend time outside of class practicing, preparing, breaking things, and fixing them. Between the hours you spend in class and the hours you’ll spend on your own, you’ll find that even the part-time programs make it hard to do anything else with your time. Even the free programs are an opportunity cost — you could spend that time working and earning income. It’s a financial investment to make, so are you ready to pay that price right now?

Are you willing to wait?

Short-term programs like boot camps promise that you can learn to code in a few months, sometimes even weeks. This is technically true — you will learn to code, but learning enough to be employable will take much longer. If you enroll in a learn-to-code program with a solid reputation, and they have a strong alumni network and great connections to local companies who are willing to hire boot camp graduates, and you’re living in or near a big city (do you see all those conditionals?), you might get a job immediately after you graduate. Chances are, you’ll have to wait at least a few months post graduation to get that job.

If you think about it, this makes sense. You’re making a huge life change. You’re not just switching jobs or companies — you’re changing your entire career. It should be hard! It should take more than just a few months to accomplish. In the cloud of boot camp marketing that’s designed to make the switch feel accessible, the reality gets lost — this is a huge change and change takes time.

You might feel ready to apply for jobs, but those interviews may not come for a while. It may take months, maybe even up to a year, before you finally land that job that you’ve been working for. Are you ready willing and able to wait?

Have you actually tried coding?

The beautiful thing about learning to code is that it’s so easy to get started. You can go to freecodecamp.com right now and start learning with no setup, just a login. You can get pretty far with just a few hours on your computer. So have you started?

Before making the leap, give yourself at least a few weeks, maybe a month, of focused learning. Learn to code for a few hours a week, enough time to get stuck, feel stupid, and have breakthroughs. If it doesn’t hurt, you haven’t done enough. Coding comes with a unique flavor of frustration — you know the answer exists. You know the computer is right. You just can’t get through. When you finally figure it out, it feels wonderful and totally worth it. Maybe when you get to that point, you realize you don’t actually care, and coding isn’t all that interesting. In that case, it’s better you know now than after months of doing an expensive boot camp. Before you make the commitment to become a coder, make the commitment to code for 30 hours. Feel it out. You may fall in love, or you might avoid an expensive mistake.

I don’t say all this to discourage you. I say this to make sure you’re ready for the learn-to-code journey. It’s hard, it’s intense, but depending on where you are in life, it can be personally and financially rewarding. It’s up to you to decide if you’re truly ready.