For people interested in becoming software developers, it may seem as if there are infinite ways to embark on that path. Which is great, because having so many options means anyone can learn to code, but this is also bad, because you can get seriously bogged down trying to figure out how to get there.

To simplify the choices, let’s take a look at the three major forks you can take, and how to navigate them. They vary in investment (think time AND money), expediency and outcome. (The goal here is to narrow your focus, not provide an overwhelming list of possibilities, so this is hardly an exhaustive list of options.)

Path #1: Traditional: Get a degree in Computer Science

This is the most traditional way to enter the world of software development, but it is also expensive and takes the most time. Bachelor’s degrees take four years, a master’s degree typically takes two. Fortunately, many veterans have GI Bill funds that they can use at universities. If you go this route you may as well use the top ten programs as a starting point. This is most tried-and-true way to enter software development, and no hiring manager will thumb his or her nose at your background (although there is by no means a guarantee of a job). Moreover, if you do attend a prestigious program, you will also enjoy the benefits of having access to the alumni network, not to mention a thorough knowledge of, well, computer science that can take you in a lot of directions.

Despite its advantages, a CS degree can be a daunting and expensive undertaking. For people who are changing careers or with families to support, being out of the workforce for several years might not be practical. And these days companies often fault CS graduates for not having much practical experience.

Bonus tip — possibly the best deal on a CS degree is offered online by Georgia Tech, which happens to be a Top10 program, for $7,000.

Path #2: Nontraditional: Coding Bootcamp

The premise of ‘coding bootcamps’ is to take a deeply interested beginner and, in a matter of months, teach all of the practical skills to qualify as a junior software developer.  These schools are named bootcamps, because many follow an ‘immersive’ philosophy, which requires students to work 60- to 100-hour weeks. The cost, too, is usually under $20,000, and pales in comparison to the cost of traditional higher education, The bootcamp model is reasonably new, but has exploded in popularity as a way for career changers to learn the skills to fill the growing need for software developers. Today dozens (hundreds?) of coding bootcamps, in all shapes and sizes, dot the country, with some of the schools offered wholly online.

Some factors to consider while comparing these schools: technology stack, location, length, cost,  reported outcomes and curriculum. Course Report is a good starting point for this research. One simple guidepost: Look for coding boot camps that offer at least 1,000 hours of instruction/coding/project time.

For veterans, there are a few additional points to consider. Some coding bootcamps are eligible to accept the GI Bill. Operation Code, a nonprofit organization whose mission is to help the military community learn software development and break into the tech industry, keeps a list of these coding bootcamps. Code Platoon (disclaimer, I’m the executive director), is a Chicago-based non-profit coding bootcamp exclusively for veterans that offers its students $10,500 scholarships.

Other reasons to go to a coding bootcamp instead of college? The slide in this article says it all. Much less time spent out of the workforce, and, for the better bootcamps, pretty good employment outcomes. You’ll see a greater emphasis on building products, rather than theory (not unlike learning to be a carpenter versus studying to be an architect). The fast pace can’t accommodate the rigorous study of algorithms and problem solving that a CS program can, of course, and some employers are still skeptical about hiring bootcamp grads.  

Bonus tip — probably the best deal in coding bootcamps is online Free Code Camp. It’s rigorous. It’s long. It’s well designed. It’s FREE! Get through that and perhaps supplement with this algorithms class.

Path #3: Self-paced online learning

If you want to explore your options, to try as many different things as possible, and have the time, you can try to learn on your own. There are many, many ways to do this.

If you want to pursue this path, please:

  • Don’t stress about which language/framework is hot. Start with JavaScript (widely used), although Ruby on Rails (which we teach) and Python are great too. Nothing wrong with picking other big ones like C# or Java — they just have a longer learning curve.
  • Get on an online guide. and The Odin Project are two examples of free sites that will guide you, step by curated step, down the road to learning web development. They gather lots of different resources to help you learn and remove the guesswork as to what you should learn, in what order, and from where.

Of course, to just get a feel for the business or explore its many facets, you’ll find a boggling array of resources., Hacker Rank and Codingbat have lots of free programming challenges, as well as some guidance on how to go through them. Alternatively, you could pick a project that you are interested in, either something you want to build (a website, app, etc.) or that someone else has suggested. And then go build it!

Additional resources

  • Operation Code — for all kinds of feedback for veterans who want to enter software development — join the Slack channel
  • Not necessarily free, but good resources include: TeamTreehouse, Codeschool, Udemy, Upcase, Flatiron, Thinkful, Coderbyte, Learn Code the Hard Way,