Colleges vs Coding Schools vs Self-study  “I have never let my schooling interfere with my education.” Mark Twain There is no one right learning path for everyone. Different types of learning can be beneficial depending on your circumstances and personality, and what works for some may not work for others. Some -learners will pursue a college degree or get formal training for certifications after they have been working in the field for a few years, while others may jump straight into a coding school after or during high school. Here is a breakdown of the pros and cons of the three most popular methods for learning programming skills: college, coding schools, and self-learning or self-study.  College The college route is considered the “traditional” method for becoming a software engineer. It most commonly consists of acquiring a bachelor’s degree in computer science or computer engineering. The curriculum focuses on math (usually Calculus 1, 2, 3 Differ- ential Equations, and statistics), and includes some general education, science, and computer topics like application and hardware architecture, programming design patterns, and may include a few different programming languages. Getting a bachelor’s degree is a long-term investment (typically three or more years), and many adults cannot put their lives on hold to go to college full-time, not to mention it is. I expensive and requires you to take courses that may not be directly applicable to your career path. Computer science programs have a statistically high dropout rate for a myriad of reasons ranging from boredom to incomprehension. College professors are also self-taught in many ways, have to keep up with trending technologies on their own, and may or may not have experience in the industry. If you do choose to go back to school, I recommend majoring in software engineering or computer science, despite their repu- tation. These degrees will give you the best shot of finding a job afterwards. There are many new degrees for IT and related tech skills, like Bachelor’s of Cloud Computing, but they usually have far fewer requirements and do not hold the same weight in the industry. If you are going to spend the time and money going to college, you might as well get the highest quality degree that you can, whether that means taking community college courses and transferring to a four-year university later, or jumping headfirst into an accredited program. Before you enroll, discuss your intentions with family, friends, and trusted connections who want what’s best for you, and choose your college and curriculum carefully. Pros •College is considered the standard approach, and some companies prefer hiring candidates with computer science de- grees. Having a bachelor’s degree may expose you to other opportunities that you wouldn’t have otherwise qualified for. •You will learn a lot about underlying computer systems and architecture. •Colleges usually have resources to connect you with industry professionals and companies in your area where you can gain some practical advice and experience. •Many colleges offer training for industry-standard certifications as part of their coursework. Depending on the type of software development you go into, this can really give you a leg up in your job search. Cons •Many college curriculums do not prepare students adequately for the workforce. They teach the underlying principles but not the technologies that you will be working with every day. As a result, you will have to learn a lot on your own re- gardless. •Some accelerated and adult bachelor’s degree programs can be completed within three years, but on average it takes anywhere from 4-6 weeks to graduate if you do not already have credits. •The curriculum might be outdated due to the rapidly changing technology industry. Creating new curricula is expensive and colleges can take years to approve changes to them. •The average computer science bachelor’s degree in the United States costs more than $150,000 – a price that is well be- yond what many of us can afford. •Most people are in debt when they graduate college, regardless of the school attended. Even with the help of financial aid and scholarships, sometimes takes years or decades to pay off the full price of a degree.  Coding Schools While coding schools (commonly called coding bootcamps) cost less than college, they can still be prohibitively expensive. Since most of them require 40-60 hours per week of classroom work, plus homework, it is almost impossible to work full-time while attending one of these programs. Additionally, they must be completed within a set timeframe without any flexibility, which can make it chal- lenging to learn the material at such an accelerated rate. Some more reputable coding schools heavily screen incoming students to make sure they possess a certain level of technical knowledge before enrolling. There are some concerns about the lack of regulation and the variable quality of the curricula. Some of these schools have even turned out to be scams so it is extremely important to do lots of research before signing up for one. Many coding schools have also been known to exaggerate job placement claims (I have witnessed this myself) and may say things like “95% of students land jobs within four months of graduating.” That sounds great on the surface, but they may be including students who were placed in non-programming jobs like tech support or who are working for a tech company in a non-technical role. There are good coding schools out there but, because of the hype and lack of regulation, you need to do your due diligence and assiduously vet them before enrolling. If you are looking into this option, please talk to current or former students and teachers and review the curriculum and claims thoroughly. Also know that you need to be prepared before beginning the program. I have mentored several students during and after attend- ing coding school programs and there is a clear distinction between the students who prepared beforehand and those who didn’t (or only did the minimal amount of prep work assigned ). If you can, it is best to practice for 5-10 hours per week months before the program starts to make sure you have the basics down. I’ve seen some students unable to perform simple programming tasks even after 12 weeks of coding every day because they failed to understand the fundamentals and had to quickly progress through the rest of the coursework. This can make or break your ability to find a job afterwards. If you are interested in pursuing a coding school, I have some helpful information linked from the resources for this book on my website. Pros •You may be able to land a job within 3-6 months of graduating. •Some coding schools have very good mentorship programs and job placement opportunities. •This might be the best option if you need a directed, classroom environment. •Bootcamps usually teach you current, in-demand skills and how to use tools that you will use on the job. •Part-time and remote programs are available in some cases. •Some coding schools offer alternative payment options such as taking a portion of your salary once you find a job. This helps to align the school’s goals with your goals as a student— they are incentivized to help you learn and find high- paying jobs. Cons •The cost of one of these programs can range from $12,000-$25,000. Even if the program allows you to defer your pay- ment until after you’ve graduated, there are still your living expenses to consider during the program and while you are job searching. •There is no job guarantee! Even coding schools with job guarantees do not have 100% placement and will refund your tuition if they do not place you. •The learning environment is usually fast-paced and intense. Not everyone can be successful in that type of envi- ronment. •You need to prepare and do at least a few months of self-learning to succeed. •If you agree to do an income share where the coding school takes a portion of your salary for a few years, they can re- quire that you to take the first job offer you get, even if it is not a good fit for you. Sometimes, they will also offer you internal jobs that are just over the income minimum so you might have to work for a reduced salary for the coding school itself for a while to fulfill your agreement.  Self-study Forgoing formal education is becoming more and more common every year. An excerpt from the largest yearly developer survey reads, “Developers are lifelong learners; almost 90% of all developers say they have taught themselves a new language, framework, or tool outside of their formal education.” Not only that, but about a quarter of all professional developers do not have a college de- gree (many successful and well-known ones are on this list). I personally never graduated from college or attended a coding school program, though I am considering going back to college to pursue some software engineering research opportunities. Being self-taught is a bit of a misnomer because the majority of the content has a teacher behind it. The term “self-study” seems to fit better here. Nowadays, there are several free and low-cost content available with experts and teachers from various backgrounds to choose from. The main drawbacks to self-study are having to stay motivated, networking on your own, eliminating distractions, and formu- lating a curriculum.. Fortunately, there are many people like myself, who have been through this process and are there to help. It is incredibly daunting to create a curriculum, which is where the self-motivation comes in. You will need to commit to both a plan and a goal and keep taking steps forward even when you feel frustrated, uncertain, or unmotivated. Some of the benefits of self-study are learning at your own pace and having flexibility for where and how you choose to learn. It is also, by far, the cheapest of the three options. You can choose to sign up for subscription sites with video courses on various topics (~$25 per month) or buy a few books. Other than that, the cost comes down to time, elbow grease, and grit. It a great option for stu- dents with families or lives that cannot be put on hold, or those who cannot or do not want to spend an excessive amount money to achieve the same outcome. There is also a benefit for companies; by When companies consider candidates with non-traditional backgrounds, a whole new world of potential diversity opens up for them, benefitting everyone involved. Pros •The cost is minimal, depending on what materials you decide to purchase. •You can learn whatever topics you choose at your own pace, when and where you want. •There are lots of people out there who will mentor, help, or advise you for free. •Teaching yourself is great for building skills like knowledge acquisition and problem solving. Cons •There is no instructor directing or guiding you. •You will have to find your own curriculum and stay motivated to finish it (this book is here to help you with this prob- lem). •You have to overcome all of the distractions around you on your own. •Networking is necessary and completely up to you to follow through on.  Conclusion If you choose to enroll in a formal education program, you will still have to teach yourself many things. If you decide to self-study or go to a coding school instead of college, you could end up with a job within your first year of learning. This would allow you to get a few years of real-world experience in the same amount of time that you would spend pursuing a degree. Remember, the number one thing most tech companies look for is experience, not a college degree. A degree helps you get your foot in the door, but your skills, experience, and how you are using the knowledge you learned is what matters most. In the end, only you can decide which choice is right for you. While this book focuses on teaching yourself, many of the concepts are relevant no matter which option you choose. Action Steps:  1.Select the pathway that works best for your situation: college, a coding school, or self-study. 2.Spend some time doing research, but do not spend too much time stalling. Make a decision and stick with it.