Capstone Prep Week 0: Getting Started

Finishing Core

This week, with signed ISA and deposit submitted, I officially joined the next cohort of Launch School's highly regarded Capstone program in software engineering. Officially the program begins on January 2nd, but preparation begins now with about 6 weeks or so worth of prep material to go through.

But let's backtrack for a moment, since it's been some time since my last update.

On August 31st, I finished Launch School's Core Curriculum. I spent about two months going through the final course, JS230, which covers the DOM and asynchronous JavaScript. It's a challenging course– no more difficult than any other of Launch School's typical in depth, rigorous courses, but man it is long. You really have to go into the course with your mental stamina in a good place, because getting through the sheer volume of topics, exercises and mini projects is no small feat. At the end though, you come out with a solid base for full stack development.

All in all, it took almost two years to work my way through Core, which also includes a 7-month break at the end of 101 and about 6 weeks of redoing 101 once I returned. So after removing the breaks and catch up time, it took about a year of focused study to complete the curriculum. Time commitments varied, but for those wondering, if we consider full-time study to be 100%, my time commitment throughout Core was probably around 50-70%.

Once completed, per Launch School's recommendation I took a course covering full stack development using the MERN stack– MongoDB (for the database), Express (for the backend server), React (for the frontend) and Node.js (for the backend). I spent all of September working my way through that course, followed in October by implementing what I learned by building my own full stack app— a contact manager with some smart functionality built-in (i.e., a personal CRM that reminds you to contact people at specific intervals while also making smart suggestions for people you might want to contact but haven't thought about). That project still has some loose ends to tie up, so it's not quite in a 'show-ready' state yet. I'd like to finish it, but with Capstone prep now underway, I'm not sure I'll have time to wrap it up.

Beginning Capstone Prep

To have the best Capstone experience, Launch School requires students to go through a large number of prep materials before Capstone starts, with the anticipated time being about 6 weeks of full-time study. So while Capstone itself is about 4 months, the real time commitment is about 6 months when you account for Capstone prep. And that still doesn't account for an additional 1-3 months for the job search post-Capstone. So the optimal Capstone experience is roughly a 7-9 month, full-time commitment from start to job placement.

One interesting observation about the prep materials: the very first thing on the list is learning how to be a good teammate. Through Capstone you work on a team, which models the way complex software is built– as part of a team. In one sense this topic has nothing to do with software engineering; yet in another, it has everything to do with it. Software isn't built in a vacuum, and I really appreciate that Launch School starts our Capstone journey by focusing our attention on how to work well with others, because the reality is that your experience with your team does impact your ability to produce good software.

For now I've read through the required articles, watched the required video, and am currently 'reading' through the audiobook version of Give and Take: Why Helping Others Drives Our Success by Adam Grant.

Next on the list is a course on full stack development, which I'm currently working through. This course covers the MERN stack, which I learned in September after I finished Core, so for now it's simply been a review of what I've already learned. Some topics to be covered that I didn't learn before will be testing using Jest, state management with Redux (and thunks by extension), and Typescript.

Some other topics to be covered during prep:

  • Go
  • Version control and cloud networking
  • Data structures and algorithms
  • Ruby on Rails (optional if time allows)

All in all, I'm excited to embark on this part of the journey toward a career in software engineering. Stay tuned…!