With the rise of technology, many people look to find ways to learn more about the newest innovations and find work in the industry. The traditional approach to break into the tech industry has been to go to college and get a four year degree in Computer Science, Physics, or any other STEM major. Due to the overwhelming criticism over the increased tuition costs and lack of relevant material taught at universities, many learning alternatives have been developed to give individuals the skills needed to join the workforce. I recently graduated from college with a degree in Computer Science but I decided to do the Software Engineering Immersive Program at Codesmith after college to get the necessary skills needed to become a mid-senior level software engineer. Neither are bad options but there are distinct differences between the two.
Despite my technical background, I decided to go to Codesmith to be a part of an exceptional community and to push myself as an engineer. There are many aspects of Codesmith that are vastly different from a 4-year Computer Science degree. A few that I want to emphasize are the teaching style, curriculum, and community support.
At Codesmith, you will be given a lecture on new material and then you will complete challenges on the new material with a partner in a pair programming session. In college you also receive lectures but they are normally followed by homework or assignments. One of the major benefits of pair programming is getting the opportunity to practice technical communication. The ability to communicate effectively is paramount for landing a job offer by doing well in a technical interview. The focus of these pair programming sessions is to be able to communicate what you learn rather than just turning in an assignment for a letter grade.
Another unique aspect of Codesmith is the modern curriculum with a focus on full-stack development. Some of the technologies taught at Codesmith include React, Redux, Webpack, Node/Express, Jest, Docker, PostgresQL, MongoDB and many more. College on the other hand, is more geared toward learning the fundamentals and core concepts of Computer Science. One downfall of many college curriculums is that they often do not update as fast as the current trends in technology. Some of the subjects being taught in classrooms were the same subjects that were taught nearly ten years ago. In contrast, Codesmith constantly updates their curriculum to reflect the most in-demand skills and technologies needed for the job market. For example, at Codesmith you will learn very new technologies such as React and Redux. Some courses in college will cover topics you may never need for most software engineering jobs such as compiler construction and assembly language.
A third unique aspect of Codesmith is the community and hiring support. Throughout the last couple of weeks at Codesmith, you receive countless lectures and advice on how to proceed with sending out resumes, applications, cover letters, and even negotiating job offers. There are mock interviews given by alumni in the industry where students are asked to solve algorithms, answer cultural style questions, and practice designing systems like Twitter or WhatsApp. In college one must be proactive to seek advice on resumes and job search in general. There are no mock interviews scheduled in college for technical interviews or even system design interviews.
No required course in college goes over strategies of how to apply for jobs and how to present yourself in an interview. There are organizations in colleges that will have a panel to look over your resume and help prepare you for the job search; However, many people do not take advantage of the organizations and clubs on campus that do offer assistance to students that are about to graduate. The Codesmith hiring support does not stop after graduation, alumni can schedule meetings or mock interviews with the staff any time after they graduate.
Despite the criticisms against college programs, there are still some great benefits of getting a degree in Computer Science. Many college curriculums will focus on general knowledge students will need to find jobs in technology. Most Computer Science students will gain a strong foundation with core fundamentals and the mental model needed for most programming jobs. They may not know the specific technologies needed for every job, but they have their base knowledge to work from.
One of the main objectives of Codesmith is to become a T-shaped developer. Codesmith students gain base knowledge on full-stack web development, but they are expected to gain an expertise in one specific technology through diving deep into the problems surrounding that technology and creating a developer tool to help solve those problems. The stem of the ‘T’ comes from doing scrupulous research, parsing through that research to find related information, and implementing that new knowledge to solve complex problems. Building a developer tool allows the students to become T-shaped developers because they dive deep into a technology, such as GraphQL or Kubernetes, and gain a level of expertise needed to solve problems around that technology.
Many of my colleagues that I graduated with found entry-level jobs after college. The few with internship experience ended up at big companies. I have met many Codesmith alumni that have gone through the program and landed mid-senior level developer roles at great companies.
Both a CS degree and Codesmith have their benefits and both can lead to very rewarding careers. However, in my experience I have seen many people come to Codesmith with no technical experience and find great jobs in a relatively short amount of time. In college I learned how to program and solve problems with code on a basic level. At Codesmith I learned how to build full stack applications, implement test-driven development, containerize applications and deploy to the cloud, set up CI/CD pipelines, and build developer tools.
Scholarship blog written by Juan E. during his time at Codesmith LA in Cohort 30.