Once you have identified which programming language to start with, it’s time to evaluate how you want to learn. For help with choosing a language, take a look at Steps to Learn to Code [for architects & designers] Part 1. Evaluate your learning style and figure out how you learn best. Some flexible options include online with set deadlines, online at your own pace, and in a classroom. Also, evaluate your budget for learning to code for both time and money.
Community colleges offer both classroom and online classes and tend to have more flexible schedules including evening courses. If your local community college does not offer a class that fits your needs, you can look at any community college in your state to see if they offer an online class that works for you. Community college classes have the benefit of a verifiable curriculum, a transcript as proof of completing the course, a low cost, and a dedicated teacher with a smaller number of students. Even for the online classes, you will most likely be able to interact with your teacher and your classmates. Community college classes do have more regular homework assignments and tasks to complete and they are on a schedule so there are deadlines and final exam dates set for you. This works well if you appreciate the accountability.
My first coding class was through a community college, and I decided to take an online class that worked better for my schedule at the time. I appreciated the deadlines because it allowed me to make completing the class a priority for myself.
There are many online options offered by both top universities around the world and by independent content developers. Some are free, some are paid, but generally, even those that are paid are a low price. I do want to advise that some online courses offer that you can pay for a certificate of completion. I would always be wary of this as you can easily prove your coding skill level and it is likely that the certificate of completion will not be necessary. MOOCs have the benefit that they are online, many of them are free or very low cost, they have reviews from others so you know what you are getting, and they can be completed on your own time with no deadlines. This can be great if you like to set your own goals and schedule.
I have participated in a few different MOOCs that ranged in hours of content and included both free and paid courses. I was able to find a handful of free classes that I enjoyed. I have, however, also found it useful to pursue some of the paid courses. These are usually offered for a very low fee. I have not had to pay more than $20 per class, and many times the courses contain 30+ hours of content. I would recommend you make sure to buy these courses on sale, as the sites have frequent sales.
Bootcamps are fast-paced, intensive coding camps. There is a much higher cost of attending a bootcamp and most are in-person classes. The benefits of a bootcamp are that you can learn a lot in a short time, you have professional teachers, and you learn a wide variety of skills and best practices. It is important to note that there are mixed reviews about bootcamps. I have not completed a coding bootcamp, but know individuals (even at tech companies) that do agree that the skills gained at a bootcamp can get you to a level that would even allow you to change careers if you are interested in pursuing development full-time.
From what I have researched when I was considering joining a bootcamp, you get out of it what you put in. I choose not to attend a bootcamp because I did not want to switch careers and I felt bootcamps were too high of a cost for what I wanted to learn. I started with online and community classes instead.
There are countless routes you can take to becoming a developer. For every path, you have to put in the time, but it is rewarding to learn a new skill. Regardless of which path you take, I feel that it is most important to make it fun! For example, if you like computer games, take a C# class that teaches you to code while making computer games. Keep learning to code fun for you and you will be much more successful. It is important to remember, that coding is a new skill and you will not learn it overnight, but putting in the time will open many new possibilities.