With the age of Internet, Software Engineer has become prominent career than ever before. The entry barrier of becoming a software engineer (SE) is lower than before due to the booming of online learning and guides, while the amount of things that we need to learn to become SE has been higher since the technologies stacks that SE is required to learn has changed over the years. There are a few ways of becoming a Software Engineer, whether it is taking a traditional route of computer science degree, going through a coding boot camp, or online self-taught programmer through Google/ YouTube/ Udemy/ Code Academy and etc. It all has its pros and cons. Today we will be looking at all of them.
Before we begin, full disclaimer, I recently graduated from coding boot camp in NYC (Flatiron School) and I really enjoy the journey of becoming a software engineer. I want to make it clear that there is no one way better than another to become a software engineer, SE is a constant and continuous learning journey that we take upon throughout life. At the end of the day, it is up to us as a software engineer to keep learning and understanding the newest and updated technologies in order for us to stay relevant in the tech industry. That being said, there are different routes of becoming a software engineer, and the starting point may vary depending on the style of learning.
For example, one of the route is going through a coding boot camp. Coding Boot Camp is exactly what it sounds like, a short and intensive program designed to help us become software engineers, with the ultimate goal of getting a job in the tech industry. It is an accelerated way of becoming a Software Engineer without going through a traditional four year bachelor degree in a university. Coding Boot Camp duration is typically ranging from 12-16 weeks, intensive 40–60 hours of work per week. They teach us important skills of becoming a software engineer, such as computer science fundamental concepts and highly specialized coding skills.
On the other hand, traditional four year bachelor degree is completely different route. It is a longer period of time and more costly route to start, but the four year degree will teach us a lot of great and essential computer science concepts, as well as a great foundation to Data Structure & Algorithms. Building a network with our classmates and professors can be one of the very important tools that most people tend to forget when they are in college. Yes, we are in college mostly to learn new skills, but don’t forget to have fun while doing it and meet others who shares similar interest!
At last, we have the third route of becoming a software engineer, self-taught programmer, learning all of the technologies through online source materials such as YouTube, Google, Udemy, Code Academy courses. Now while it is the cheapest route and fastest way to become a software engineer. One thing to note is that we need to understand what tech stacks to learn beforehand, and have the discipline to learn it on a daily basis on our own. It might sound simple and easy, but trust me when I say most people don’t know what tech stacks to start, and neither do they have the discipline to sit there hours after hours of head scratching for a simple coding bug that they cannot figure out. One of the disadvantage of self-taught programmer is that they don’t have the networks and support of fellow programmers in university or coding boot camp, and they have to be very self-motivated to continue the learning process. (Yes, Google and Stack Overflow can be helpful sometimes when it comes to debugging, but it is simply far better to ask an instructor / professor / fellow students for help when we are stuck on a bug). While self-taught programmer can be very rewarding, cost and time efficient, it is certainly the hardest route to start as a software engineer.
Now that we have clarified that self-taught programmer is one of the hardest and most difficult way to start, let us compare our other two options, coding boot camp vs. CS degree. They are somewhat similar in terms of their support systems, opportunities and difficulty. We are in a booting boot camp / college, we have the networks and supports of fellow students / professors / instructors to help us whenever we are stuck, also get to build a relationship with them. In terms of opportunities, I would say university probably has more opportunities as an established institute, while coding boot camp is a new and hot spot for upcoming software engineer, it has less credential and credibility and job opportunities when it comes to finding our first job in the tech industry. (Yes, some companies are going to look at whether we have a CS degree or not, while other companies are okay with hiring coding boot camp graduates). In terms of difficulty, both coding boot camp and university have a similar difficulty, while the coding boot camp is more short duration and intensive courses, university have some difficult courses throughout their core curriculum. (Yes, I am looking at you Data Structure & Algorithm courses!) They are still way easier in comparison to self-taught programmer, since they have the support and networks of fellow students / professors / instructors. Looking at entry barrier difference between coding boot camp and university, we can tell right the way that a University requires H.S diploma, SAT / ACT scores, and other criteria, especially the Ivy League schools. While coding boot camp does have an entry barrier, it is usually decided by how motivated we are, and how much can we learn to prove ourselves before entering the coding boot camp. (There is a coding interview / entrance exam for coding boot camp, and I took the fast track weekend free course from flatiron school and passed my entrance exam to the boot camp on the same weekend) In this case, the entry level barrier of coding boot camp is definitely lower than University. From my personal experiences, (Flatiron School and some college Computer Science courses), I would say that the coding boot camp gives more useful and up to date technologies when it comes to coding skills, boot camp usually teaches us some fundamental concepts of computer science, a lot of tricks and tips of becoming a new software engineer, the best practices when it comes to coding. On the other side, University can offer more Mathematical, Data Structure & Algorithm courses, it is especially helpful when it comes to finding a job as Data Scientist / Machine Learning (Artificial Intelligence).
In conclusion, there is no better or worse way to learning how to code. At the end of the day, it is a self-taught and continuous learning process that we cannot stop. Whether the starting point is at an university, a coding boot camp or self-taught, we are all in the part of this journey together. Thank you for reading the article! Feel free to connect and chat with me on LinkedIn! Happy coding and have a great day!