Thriving in a Programming Job after the Core Curriculum
If you cannot do Capstone for whatever reasons, let me assure you that the Core Curriculum is more than enough to prepare you for a successful entry into the software engineering world. Launch School provided me with everything necessary to thrive in a programming job and most of it happened during the Core Curriculum.
I finished the Core Curriculum in December 2019 (well, without taking the 239 assessment as I didn't deem it necessary), bringing a 20-month journey to an end where I had held a full-time job while going through Launch School in my spare time. At that point, I had realized that Capstone was not an option for me, not just for financial reasons but also because it wouldn't be a good fit with the timezone I am in. Instead, I opted to use my savings and unemployment benefits to follow up with my own variant of a Capstone program. I had seen the success that Capstone students had during their job search with a proper project under their belt and wanted to do the same (on a much less ambitious scale, though).
So in the early months of 2020 I set out to build what ultimately became 200 OK and I documented all the trials and tribulations from that time in a personal blog whose archive is still available for those interested.
When that came to an end, the circumstances for my job search had changed drastically due to the Covid-19 crisis and my initial plans of applying for openings in one of Germany's tech hubs (e.g. Berlin) were rendered moot. I decided to not move across the country and I was also too fed up with working alone from home that I didn't really want a remote job. That meant applying in a difficult time in a city that does not offer a lot of interesting jobs in software engineering.
One company that caught my eye very early on was a local dev agency with a host of really interesting projects across multiple fields. Their engineers are mostly proficient with both backend and frontend tech, but their opening was mostly for immediate React-related work, something I didn't have too much experience in. I applied anyway and had a great first talk with them, so I was quickly invited for an interview where both the CEOs as well as their tech lead were present. This happened to be my first ever interview for a software job as well, so you can only begin to imagine how nervous I was going into a React coding test as well as an algorithmic interview.
The React portion went way better than expected, though I only managed to complete one of their tasks. But I did what Launch School had instilled in me over the last two years: deconstructing the problem into small pieces, writing tested code that did what it was supposed to do. For everything I didn't manage to finish, I had PEDAC notes on how I intended to approach those. I got the impression that this was what impressed my interviewers most: being able to confidently talk about my problem solving process, taking into account any limitations of my solution and identifying points where further work would be necessary to achieve a level of production quality.
The algorithm problem was purely theoretical in nature and happened on a whiteboard. I was exhausted at that point, but again, PEDAC was so deeply ingrained into my brain that I managed to bite my way through the problem. I couldn't rely on prior interview experience, but the live coding assessments during Core were the best kind of preparation.
Well, I seemed to have done well enough that they - after a short period of internal discussion - made an offer right on the spot. The salary of 45k€ was even higher than I had aimed for (keep in mind this is Eastern Germany not some US tech hotspot) and the overall impression that they gave was very positive: a bunch of smart engineers with a healthy sense of work-life balance and a very engineer-centric culture.
When I started five weeks ago, the nervousness came back. I was scheduled to help my mentor (the aforementioned tech lead) with a fresh project: a mobile app written in React Native + TypeScript, a stack that I had almost no experience with, besides it being JavaScript at the core. The client was also supposed to have fairly high expectations. I felt overwhelmed when looking at the first few thousand lines of code. With all the TypeScript notations and strange React Native idioms, this didn't read familiar at all!
But slowly I disentangled all those files, methodically tracing the flow of data and learning everything I didn't understand. And there is a reason that Launch School puts so much emphasis on learning the fundamentals: in the end, it always boils down to them. Learning about React Native, the API of all those libraries and packages that add needed functionality and even the typing that TS provides cannot hide the fact that, in the end, it's always functions being called, data being passed and computations being made. The precise language that Launch School urges you to use, also helped me with asking clear questions to which I received a lot of helpful answers.
Five weeks in, I am currently contributing major features to the growing code base and I feel confident enough to now be the single developer on that project. The client is happy, the CEOs are happy and - most importantly - I am happy. My mentor is complimenting my eye for details during code reviews and the clean solutions I find even when there are tight time constraints. While I enjoy getting all that praise, I know that it was Launch School that provided me with everything necessary to thrive in a programming job and most of it happened during the Core Curriculum. Sure, my own project made a good impression when applying for jobs, but there is no doubt that I was able to only land those jobs thanks to the meticulously crafted curriculum that I went through during Core.
If you cannot do Capstone for whatever reasons, let me assure you that the Core Curriculum is more than enough to prepare you for a successful entry into the software engineering world.