Every software engineer trying to break into the industry has experienced the same problem — seemingly everybody wants to hire engineers with experience. For many junior engineers it becomes the ultimate “chicken and egg” problem. How do you get experience without getting a job? And without a job, how do you get experience?
Yet it’s a rational decision on the part of most hiring managers — new engineers take additional time and effort to onboard and train, because they’ve never built real software or worked on a real team.
To solve this problem once and for all, we’ve actually baked a full software engineering apprenticeship into the course of Lambda School itself.
We’ve hired senior devs and project managers who will be taking on and organizing projects, and students will show up on day one to problems that need to be solved, bugs that need to be squashed, and tickets that need to be closed. We’ll be building real, production-ready software on real teams.
In designing this program we’ve had two overarching goals: students writing code on day one, and software that’s professional, documented, tested, and deployed in a real production environment. We want engineers that can actually ship code.
In order to ensure this is the case, we’ve added one final requirement to every project: it must be published publicly, ready to accept payments, and ready to make real money.
Shipping these projects and charging for them guarantees two things: usefulness and completeness. There is a huge difference between a project that is 80% done and a project that is shipped. By taking a project all the way across the finish line to “paying customers” our students will need to master those final few things that separate mediocre developers from those that are great.
Of course, money isn’t the end goal of any of this — making money is simply a barometer to use to determine whether a project meets our stringent criteria — but we fully expect that many projects will actually succeed. If this happens, students will simply split 100% of the revenue evenly amongst themselves. Lambda School doesn’t ever take a cut, it’s just one more thing we do to make our engineer-graduates the best they can possibly be.
Outside of working on a team building real software, we consider it vital that students learn how to navigate and contribute to the world of open source software. To that end we’ve partnered with GatsbyJS — a beautifully-built, React-based static site generator that happens to be one of the quickest-growing projects on Github.
The good folks at Gatsby will be teeing up issues to be resolved and plugins to be built, ensuring that Lambda School students learn the ins and outs of contributing to open source.
A lot goes into this even outside of writing code: students will need to engage with the community (using Discord, filing issues, and asking questions), read new APIs, write documentation and tests, understand review processes, publish packages to npm, and more.
There’s a reason hiring managers want to hire software engineers that have experience. It’s nearly impossible to teach all of the subtleties of working on a team and building real applications without actually doing it, so at Lambda School we’re just going to do it.
This is just one of the many, many things we’re working on behind the scenes at Lambda School that will make Lambda School the predominant way for aspiring software engineers to gain the necessary skills and enter the job market.