Core Sets the Foundation; Capstone Leverages it
The focus on fundamentals in Core provides an effective set of tools to define and solve problems, while also helping you gain a high degree of familiarity with programming languages and their unique characteristics. Capstone offers a thorough transition into exploring and dealing with industry-standard software engineering problems. Working together with a team for months on a challenging issue exposes you to many different aspects of software engineering work such as debugging, estimations, and picking up relevant knowledge very quickly.
The combination of the Core curriculum and Capstone is a very thoughtfully designed system, and one of the most fun and rewarding journeys I’ve been on as a student. The focus on fundamentals in Core provides an effective set of tools to define and solve problems, while also helping you gain a high degree of familiarity with programming languages and their unique characteristics. There is plenty of practice, a great community and TA sessions to help you overcome any difficulties, and the self-paced nature offers a lot of flexibility and freedom so that you can genuinely enjoy the process of learning. The rigorous approach offers a deeper look at what you are learning and why - for example, learning the fundamentals of a language before using complex tooling and libraries, or properly understanding databases before jumping into using an ORM.
To supplement this, Capstone offers a thorough transition into exploring and dealing with industry-standard software engineering problems. Working together with a team for months on a challenging issue exposes you to many different aspects of software engineering work such as debugging, estimations, and picking up relevant knowledge very quickly. It also gives you the opportunity to understand and deal with uncertainty, vaguely defined problems, and teamwork issues - these are important skills that will set you apart from many other engineers. The exploratory process of the program allows you to come in contact with a wide variety of tools, architectures, and patterns that are commonly used in both small and large software companies and teams. Due to its constant updates and real world feedback, you can trust that you are learning about highly relevant concepts.
It is rare to find a place where you can team up with people who possess a shared sense of commitment, timelines, and expectations, along with a competency in software engineering that can enable you to tackle and solve meaningful problems. 6 months into my job as a software engineer on a platform team, I’m able to grasp and contribute to architecture discussions, systems design decisions, and implementation details. Additionally, Launch School’s focus on the clarity and precision of language pays dividends when communicating with teams and engineers across an organization, or writing effective documentation.
Most importantly, Launch School has introduced me to great engineers who are also great people, and helped me gain the skills and temperament to be a capable and reliable software engineer. After you land a job, you also get to join a very experienced and engaged alumni network! Launch School is the best option available for anyone looking to transition into the field, and your trust will be rewarded not just with tangible results, but a great community and a memorable experience.