I recently finished up with the Capstone program and I thought it might be helpful for others to hear my reflections on my time with the school.
Firstly, I’m really glad that I found the program and stayed on the path to the end. It was a difficult grind in a lot of different ways, but from where I am now, I really appreciate its value.
To back things up a bit, I found out about Launch School in 2018 because I had been thinking about a career change for a few years but really struggled to figure out what direction to go. I had a conversation with a friend who was a doing data science work in London, and he inspired me to consider programming as an ideal direction.
I spent a few months dabbling in free online resources and looking at bootcamp options until a friend of mine who was in Capstone told me about Launch School. By the time I had worked through the prep materials, I was sold on the process. It definitely helped me motivationally to personally know someone who had been through the program and could vouch for it. Watching him get a software engineering role at a great local Toronto company reinforced my trust in the process.
- Prep: 3 month (part-time)
- Back End: 9 months (full-time)
- Front End: 4 months (overtime)
- Capstone Prep: 1 month (full-time)
- Capstone: 4 months (overtime)
- Job Search: 1 month (full-time)
I’ve talked about it before, but the adjustment to learning software development took me some time. When I switched to full time study, it took me quite a while to figure out a good rhythm and strong habits that complemented a self-driven remote study routine.
After slowly powering through the first interview assessment, I wrote a piece reflecting on it. I didn’t really expect anyone to read it, but some of my advice was to reach out and engage with other students because sharing study habits and practicing with live sessions really help with levelling up. A happy accident was that a bunch of people took that advice and decided to reach out to me specifically.
The truth is that studying remotely can at times feel pretty lonely. Having a group of people to not only practice with, but also to share frustrations, left-field musical inspiration and anything else humanizing was really important for my happiness and success. I organized some local meetup groups that met every few months for food and drinks. It was helpful to meet with people at varying stages of the process, to get a sense of what was coming as well as sharing with those behind. Don’t hesitate to organize and participate with other students, it really makes the whole process more enjoyable.
One of the hard things about a mastery-based learning (MBL) program, is knowing when you’re ready to move on to the next subject. I’ve watched some people lag behind because they doubted their knowledge or feared the rust that inevitably grows on skills unused. Software development, even narrowed down to web applications is still a huge field with tons of tools and technologies. It’s really easy to wander off exploring curiosities. It’s fun to explore them, but unless your goal is to become a teacher, try to limit explorations to deep dives on the content that you’re paying for. The curriculum is well curated and once you’re through, you’ll have a career’s worth of time to explore those other interests.
If you’re getting good grades on your assessments, trust that it means you’re ready to move forward. After an assessment (maybe while awaiting your results) spend a day or so reflecting on things learned by writing a blog post, or building a small project — but beware of time sinks. With each course you’ll grow stronger as a developer, and a project you found incredible early on probably won’t make your portfolio by the time you’re finishing up. Not to discourage side-projects, just recommending you limit scope to the topics studied (i.e. let the UI look terrible for a back end side project — focus on creating robust, well written backend code).
In terms of quizzes, don’t let a bad grade get you down. The quizzes are designed full of gotchas, and sometimes they get you. My rule of thumb was if I got > 70% I was good to move on, but < 70% meant I had rushed through the material too fast and should back up. Reviewing quiz results before assessments was a good study aid. My friend helped me write a bookmarklet to remove quiz answers to make them easier to study with, which put enough pressure on LS to implement that feature natively. Be the change you want to see!
By the time I made it to the front end portion of the curriculum, I was nine months deep into full time remote study and had become a little bit casual about timelines. I was sure I wanted to do Capstone, but felt that the timing might not work out. After some encouragement from LS staff I decided to try and make it into the cohort that started in four months which at first seemed almost impossible. But once I decided to try, I made it through the material much faster because I was highly motivated.
Capstone itself was tough. I had read all the stories of long hours and personal-life sacrifice but somehow living it was still a surprise. The good thing is that the atmosphere was also really fun. Hanging out with a bunch of really smart people and learning challenging topics, then cooperatively designing and building a passion project is extremely rewarding. But also a few times during those months I was so exhausted and frustrated with my inability to learn something fast or well enough that I despaired.
The transition from the MBL of the core curriculum to the just-in-time (JIT) learning of Capstone took some time to get used to. It’s a totally different atmosphere to be on a video call most of the day and to get immediate feedback from your questions and performance. Some of the topics could take months or years to get to a mastery level, so it can be really overwhelming to try and cover them quickly. It’s hard to transition from thousands of hours of mastery-based training to a more “job-like — go go go” mentality. On the other hand, without the prior mastery of programming and network fundamentals, I doubt I would have the baseline context to understand and deconstruct half the problems at anywhere near the level needed.
During the project phase, I found the mentorship provided to be invaluable. You’re forced to justify all of your major decisions, but none of them are made for you. Working intensely with a small team was probably my favourite part of the whole LS experience. Everybody involved is so invested in the success of the project that it’s really impressive what gets accomplished. Personally I went through an arc of feelings towards our project (RedPoint).
At first, weeks of distress researching and trying to discover what kind of project would be well received in the current market. Then fear about our ability to pull off a project way beyond the scope of what I thought I was capable of building just a few months prior. Then euphoria at a successful spike and discovering how exceptional and what a pleasure my teammates were to work with. Next, a healthy routine of discovering challenges and collaboratively pitching and testing various solutions to them. By the time we had added some stretch features and polished our UI/UX, I was beaming.
But then I had doubts. Even though our product (an open source computational notebook for note-sharing) was robustly deployed to a cloud platform and free and available to the open internet, I had fears. I knew about some edge cases that could break it. I knew about some of the less than perfect code in a couple of places. I thought, what if prospective employers dig through the code and see that some of it isn’t perfect?
The job search phase was emotionally difficult. Even though I felt well prepared, it was a really uncomfortable process. For me, it was really short and only lasted one month, but I found the lack of control very hard to deal with. So much of how companies handle your application is opaque to you, so it’s hard to keep a cool head when response times are at their discretion. I had an interview with one company who ghosted me for two weeks before moving me forward in their process. At another company I had an onsite interview but then heard nothing for a week before they requested that I meet with a hiring manager.
I learned a few good lessons in this phase. Firstly, that RedPoint was received exceptionally well. It turns out the world is not perfect either, and being aware of your own (and your projects’) imperfections is a strength. We are trained to be software engineers, not marketers. Most interviewers were interested in the problems I (we) faced building RedPoint and how we went about addressing them. What we built on a shoestring budget in a short amount of time is something to be proud of. Software engineers have to make decisive decisions and tradeoffs. There isn’t often time for true perfection.
Feedback from interviews ranged from “RedPoint is at the level we expect of our product”, “What kind of salary are you looking for to be able to leave RedPoint?”, “We might be interested in using RedPoint as internal tooling”, “Did you take RedPoint to market?” etc…
Looking back at my time with Launch School, I can say that throughout the core curriculum you should strive for perfection. If you can achieve something close enough to it to advance through to the end of core, you’ve demonstrated an ability to learn deeply and effectively communicate about technical topics. Capstone will push that knowledge and those skills into overdrive while re-introducing you to the immensely vast and ever-changing pressure cooker of professional working life. You’ll come out of it with real experience and a project that will impress. It won’t be easy, but it has real value.
I remember being early into my career transformation and reading some success stories like Sunny and projects like Spacecraft and thinking how insane it felt that if I trusted the process I could be at that level within a year. I still doubt myself sometimes, but now at least I have demonstrable evidence I can use to convince myself to relax. I got a job at a well-regarded company paying double my previous best salary. I’ve built up a network of really smart, friendly and successful friends all over the world, and I’ve got the beginnings of a career that I look forward to growing with for decades to come.
Much thanks to everyone who has helped me along this path, especially my partner Kristen who supported me emotionally and financially throughout. Without you I would still be drifting and wondering what to do with my life. Thanks to my family, for believing in me and encouraging me when I was down. Thanks to Chris for organizing and maintaining such a powerful and game-changing school, Ben and Charles for being incredible teammates, Branko for your continual advice and guidance. Thanks to Srdjan, Catherine, Naveed, Pete, Victor and the rest of the TA’s that provided excellent constructive criticism that guided my growth, everyone from our weekly meetup group that helped me keep (most of) my sanity, Jon and the rest of the 1909 cohort who routinely blew me away with their abilities, Julius, Steven and other alumni who took time out of their busy schedules to speak with me and answer my questions as well as the rest of the wider LS #general community that made me feel part of such an engaged and positive group.