Well… Maybe not. I just finished the Web section of Lambda School's Web Development & CS program. And boy has it been an intense 15 weeks.
I am thoroughly exhausted and in need of a beer!
If you happen to have lived under a rock over the past couple of months, let me quickly introduce you to Lambda School. Lambda School offers online programs in software development, UX design, data science, iOS and Android mobile development. The best part? It has no up-front cost.
The curriculum is 9 months long with full-time enrollment. This used to be 30 weeks, but has recently been extended. Instead of paying tuition and having to take out a second mortgage just to pay tuition, Lambda School uses Income-Share Agreements (ISAs). With it, students pay a percentage of their monthly income after they’re employed. If you don't get a job, you don't pay anything. Second, you only start paying if you're making more than a certain amount per year. Depending on where you're based, different percentages and pay-off plans exist. Americans pay 17% for 2 years after graduation, while Europeans pay 10% for 4 years.
In the US, If you make less than $50k after graduation, you don't have to pay ‘em anything. Also, you will never, under any circumstance, pay back more than $30k. (Note: you'd have to be making more than $88,000 per year to achieve that) If you happen to make less than that, you simply pay less. After two years, you're off the hook What's more, if you don't find a job and spend all that time making less than $50k, the ISA lapses after a couple of years.
Recently, Lambda has introduced a living stipend program. It'll pay students $2000 per month to cover monthly bills while they focus fully on their studies. In return, Lambda asks for 10% of their income over 5 years. The payoff is capped at $50,000.
Covering the entire web stack from front-to-back is a serious challenge, let alone in fifteen weeks. There's new concepts, frameworks, plug-ins, and other technologies to master.
Here is a brief overview of what we've covered in the past fifteen weeks:
Redux & MobX
The last 15 weeks have been an incredible learning experience. I don't think I've ever worked this hard at something consistently. Every waking moment outside of my side-job, gym-time, and sleep was consumed by web development.
As a self-taught programmer, I can attest to how hard it can be to learn web development by yourself. Sure, there's plenty of tutorials and online courses out there. Nevertheless, it's oh-so-easy to get stuck, frustrated, and simply give up. Fluttering from tutorial to tutorial without ever properly understanding a topic. It's all way too familiar. I've come to call it ‘tutorial-Purgatory’.
The fact that Lambda School uses a set schedule and a very clear daily planning has been a huge boon. It takes away the worries of ‘Am I learning the right thing?’ and ‘Should I be focusing on something else?’. It allows you to simply trust the process and follow along.
Learning programming is a marathon, especially when self-taught. You need to take the time for everything to sink in and to experiment around.
Truth be told, this is also what deters a lot of people from signing up. People have lives to live and having them to take 9+ months off to focus on learning web development full-time is a big ask. And the part-time classes are an imperfect solution.
On a more personal note, Lambda School has been invaluable in giving me both structure and purpose. 2018 was the worst year of my life - easily. I was pretty depressed and spent a lot of my time sleeping the hours away. Having started off 2019 with something to do has been an absolute blessing. I wake up with a predefined schedule and set deliverables. For that alone, I am eternally grateful for having had the opportunity to participate in Lambda School.
Lambda School can be exhausting. It's hard work. There have been several days where I would sign off after a full day of classes and I would simply have to take a nap. I'm not kidding when I say that attending Lambda School has been one of the most demanding things I've done in my life.
Despite having been a professional web developer before coming into Lambda School, I still struggled and was often exhausted after a full day of classes. The barrage of info is simply non-stop.
With the harrowing pace also comes a corresponding pace of learning. The change a single week of classes can make in someone's skillset is absolutely unbelievable.
If you can stand the pace, there are few places where you'll learn faster. Being obsessed with growth and learning as I am, there are few places I'd rather be.
While I can't speak for the entirety of Lambda School, the European cohort and staff have been amazing so far. There's a prevailing sense of camaraderie and excitement to get on with it.
Most of the WEBEU1 students do have previous experience with programming so the instructors can afford to go faster and cover topics in greater depth. People are more than willing to help each other out, whether it's with help on their assignments or in providing extra resources for further study.
The cohort only has 20 people. What with it being the very first one, that's totally understandable. I think this also plays a major role in how good the average student is. It takes a certain kind of individual to sign up for a (so-far) unproven bootcamp and take a gamble on it. Self-selection at its finest.
The single best thing about Lambda School's curriculum is the demystification of web development and programming.
With programming and CS, it's easy to get lost in technical jargon. As any Wikipedia page on a CS-related topic will show you, it can quickly turn into an academic rabbit hole. Not what you're looking for when you're just starting out. Lambda has taken the sensible approach of teaching just enough to be able to actually use things, rather than understanding their design from the ground up.
Over the past couple of months, we've covered a number of topics and technologies that you'd struggle to make sense of as a self-taught programmer. Things like authentication and architecture come to mind. They also don't stray into the overly-technical explanations that are found in traditional CS programs. For example, I absolutely hated my university classes on data structures but I thoroughly enjoyed Lambda's explanation.
Making the material accessible and easy-to-grasp gives students encouragement to look further into it and gain a more wholesome understanding of the field.
I think my time at Lambda School has definitely been worth the money, if only for the number of hours spent actually coding.
Signing up, one of the biggest selling points for me was the fact that every day was paired with one or multiple projects/assignments. The way they're designed, it forces you to review the day's material and actually understand it before being able to complete the projects. Copy/pasting code from the lectures usually doesn't cut it.
When everything is added up, the average Lambda School students will have spent between 1,500 and 2,000 hours actively coding by the time they graduate.
Contrary to popular belief, Lambda School is not infallible. Nor is it a one-size-fits-all solution. It's a Silicon Valley startup at heart. It shows, occasionally.
Some of the most pressing issues so far have been:
Lambda School prides itself on aligning incentives within education. If students don't succeed, that means they don't. At least in theory. The beauty of an Income-Share Agreement is that it incentivizes schools to give students the best education possible, in hopes of getting them job-ready. The more the newly-graduated students make, the more will trickle back to the school itself.
However, this also results in Lambda School being hesitant to have students fail out. Even when it might be best for the entire school. Since students don't pay anything upfront, Lambda is investing lots of cash and effort into each and every student. So what happens when these students massively underperform or are being disruptive? The answer is not a whole lot.
In traditional education, underperforming students would fail out of a class and disruptive students would face pissed off classmates (never a fun thing to face), academic suspension or outright expulsion. Over the past couple of months, I've seen students simply up and disappear or actively disrupt the class with inane comments during classes. Lambda School staff can't really do all that much to address it.
Whether it's a student who simply can't cope with the admittedly demanding schedule or another one who somehow passed all the exams but never truly learned (and finds themself without a decent skillset), Lambda often finds itself in a bind. To kick someone out is to throw away their previous investment while keeping them on only impacts the other students. I'm curious to see how Lambda will address this in the future.
It's an herculean task to cram the majority of full-stack web development into a 15-week period. And for all intents and purposes, Lambda definitely succeeded. All major topics were covered, students were given ample opportunity to practice, and all students are definitely capable of building some pretty decent web apps.
Being constrained by the 15 weeks, a lot of trade-offs were made in choosing what to teach and what to gloss over. Want to teach SQL? That means MongoDB or GraphQL are out. So one and so forth.
So far, Lambda School hasn't been the best at providing extra resources or tools to help grow a student's skillset outside of their own curriculum. Besides their Training Kit, which hosts lesson materials and some general explanations, there's nothing pointing the students in the right direction should they want to learn more.
Of course, it's a student's responsibility to engage in self-learning. However, something low-effort like a ‘Recommended Further Reading’-list with links to documentation, extra tutorials, and relevant exercises on CodeWars would already be a massive improvement. As evident in my blog posts over the past 15 weeks, I pretty much made these myself to make sure I got a more in-depth knowledge. Right now, it's a huge missed opportunity that could cost very little to implement.
Lambda's startup DNA is really showing through every now and then. So far, we haven't gone more than five weeks without some sort of major change to the curriculum or structure of the course. Some of these are nothing more than mere experiments while others drastically impact the proceedings of the day.
There have been a couple of instances where we would show up for class on Monday morning and find out that the scheduled lesson for the day was swapped out with one on another topic.
It's not all bad though, Lambda recently announced that the course would be extended to 9 full months rather than the previous 30. All at no cost to the students. So while some of the changes can be extremely jarring, they're often to the benefit of the students.
Since we are part of the first EU-based cohort, it's to be expected that there are certain kinks to be worked out. It does occasionally feel like they launched the Web EU cohorts before they were fully ready, though.
At least once a week, we need to turn to the US-based team at HQ for issues we run into or questions that need answering. Stuff isn't always set up yet, procedures are still missing, there's still a lot of stuff that needs to happen.
With the way timezones work out, the EU's day of classes is almost wrapped-up by the time US-based team wakes up. The communications lag is rather extensive and the EU-based staff doesn't have a ton of leeway to improvise. Going forward, I sincerely hope they're either hiring more people in the EU, give the staff more freedom to do things their own way, or come up with a way to reduce the timelag altogether.
Lambda School has been described as cult-like on some Reddit and Twitter threads. While I cannot comment on the truth of these statements since we don't engage too much with the US-based cohorts, there have been some incidents that were a bit worrying.
There have been a couple of cases where negative opinions online (like on Twitter or Reddit) were met with mass-outrage on the internal Slack channels. Students (and staff) have been known to encourage other students to mass-respond and only post positive testimonials. Overall, I can understand it somewhat. But when Lambda School staff starts joining in or when it's coming from students who haven't even graduated/gotten a job yet, it starts to feel disingenuous.
It's understandable though. Students are taking a massive bet and spending months of their lives in the hopes of Lambda School working out for them. They've convinced themselves that it's a good investment and will usually continue to do so. It's human nature to convince yourself that you've made the right choice. It's not unlike picking a particular stock and then praising it to the high heavens - confirmation bias in full effect.
I hope Lambda School staff starts actively discouraging people from piling on top of threads and criticisms of Lambda. It makes for negative publicity and deters people from wanting to attend by making it look very cult-like. Hell, /r/CSCareerQuestions has banned any mention of Lambda School because of behavior like this.
All told, Lambda School still has some blemishes and issues it'll have to deal with if it wants to hit mass-market appeal. Will they be able to do it? Yeah, probably. It will require some drastic changes and interventions though.
First, I'm going to grab a beer.
Next Monday, I'm going to take a temporary break wherein I'll be doing a stint as Team Lead for the next incoming European cohort. Essentially, I'm going to repeat the entirety of the past 15 weeks, all the while mentoring a team of ~8 students. Is part of it, I'm going to be doing daily code review, host stand-ups, help with instruction, and in general try to assist students wherever possible.
It's a paid position and it should give me plenty of time to work on some side-projects and dive deeper into some languages.
Right now, I'm most interested in learning the ins and outs of Node and Express. Historically, I've always been better at front-end development. But it's the back-end that has always interested me more. Additionally I would like to get back into React Native development. I absolutely loved using it in the past. It makes it easy to make somewhat-good-looking apps, even for people like me with defective tastes in styling.
So that's pretty much it! Lambda School's Web section is done. Bury it for all eternity!
It's been hectic, rewarding, fun, and irritating at times. Overall though, I'm extremely happy I signed up and would do so again in a heartbeat.
Would I recommend Lambda School as your first introduction to programming? No, not really. If you've already invested some 6 months in learning the basics of web development, then it might be for you. So far, the one factor separating the successful students from the ones who are struggling is how much time they've spent programming in the past. The pre-coursework should be treated as a quick refresher before you enter the class, not a comprehensive introduction.
Is it worth the ~$20k in tuition so far? Frankly, not yet. While the past 15 weeks have been incredibly valuable and challenging, it's not nearly worth that much. That's why I'm looking forward to the Labs and CS portions of the curriculum. During Labs, we'll be building a proper production-ready application in teams of 6/8 students over the course of eight weeks. During CS, we'll be covering Python, data structures, algorithms, trees, graphs, and much more. Having completed a number of courses in CS in the past, I'm looking forward to it
So to wrap up: Lambda School's been an amazing experience so far. The past 15 weeks have been jam-packed with learning new skills, plenty of time to practice, and a great community. There have been plenty of speedbumps and irritations though. Overall, I'm incredibly glad I signed up and can't wait to get on with the rest of the curriculum!