Why Lighthouse Labs Teaches Full-Stack Development By: Corey Leung March 6, 2018 Updated June 18, 2022 One of the most common questions we get asked at Lighthouse Labs is “why teach full-stack development”? While other bootcamp programs focus on either front-end or back-end, we are steadfast in our commitment to teaching the concepts of both. We believe that a full-stack education provides the best foundation for Junior Developers to have long and rewarding careers no matter their specialization. What Makes a Good Junior Developer? With our bootcamp, the first goal is to create developers who are ready to take on junior roles immediately after finishing our programs. Therefore, there are several things that our students need to have upon graduation. Firstly, students must have a good understanding of the technologies that they are using and be able to implement and upkeep features on Web or iOS applications independently. It is also imperative that bootcamp graduates have systematic problem solving skills at their disposal so they can navigate the technical issues that they’ll face in a professional setting. Lastly, while they aren’t expected to be experts in System Architecture, they should understand how the pieces fit together. By teaching a full-stack curriculum, we are preparing our students for these outcomes. A Junior Developer who can utilize both front-end and back-end can understand how systems work together more holistically, be more resourceful when solving problems, and can work more independently. At the end of the day, we believe that Full-Stack Developers make better Junior Developers. The Generalist Junior Developer At Lighthouse Labs, we think that developers who start out as generalists will have more success long term than developers who specializes in a certain function early in their education. When we look at the idea of the T-Shaped Developer, we recognize it is a lot easier for someone who has a breadth of knowledge in software development to specialize than the other way around. Generalist Developers can draw from many different techniques of coding when they decide to specialize. The path that we set our students on is one that allows them to gain a holistic understanding of software development during their bootcamp experience and early in their careers. The technologies that we teach were picked based on a balance of market need and functional versatility. We want our graduates to have a breadth of skills upon graduation to solve problems on their own. This is the reason we encourage many of our students to take on short-term internships upon graduation to continue developing their knowledge and skills before settling on a specialized role. Balancing Front-End and Back-End Education By teaching our students a full-stack skill set, we are pushing them to think in completely different ways and learn how to be more adaptable when solving problems. Because front-end is inherently more visual and back-end is more logic heavy, we have found that some students are more naturally inclined to one over the other. It is easy for developers to fall into the temptation of specializing early in their career based on their particular strengths, but we believe that gaining a breadth of knowledge will allow our students more growth opportunity in the future. For this reason, we spend a lot of time helping students identify their strengths and weaknesses, and give them opportunities to explore both through group projects. Conclusion After bootcamp, the possibilities are vast for our graduates. Some will continue down a generalist track while others will choose to specialize. By learning a full-stack curriculum during their time at Lighthouse Labs, students gain a core set of skills to draw upon no matter what choice they make. As they grow from junior to intermediate and eventually to senior developers, the foundation built during bootcamp will serve them well no matter what route they decide to go down.