TL;DR
I enrolled in Lambda School's part-time iOS Development program last year and just recently finished. Overall, I believe Lambda School offers great programs that help students break in to rewarding and lucrative careers as software engineers or data scientists. However, it's not perfect, and if you enroll as a part-time student, you get an inferior experience for the same $30,000 price tag.
Lambda School
Lambda School is an online computer science academy that offers students an education in either Web Development or Data Science. What made Lambda School unique compared to some other "bootcamps" is its ISA
or Income Share Agreement. Through this contract, a student agrees to pay a portion of his or her future earnings to the school, in lieu of paying tuition up-front. According to Lambda School, this model aligns the incentives: Lambda School has to get students jobs in order to get paid. If the students aren't able to get jobs, Lambda School goes out of business. Seems better than forking out $30,000 a semester to a university that doesn't care whether or not you find a job after graduation, right?
While it's a little more complicated than this on how the school makes money from its ISAs (which you can read more about here) the core premise remains intact - the better students do, the better Lambda School does.
Programs at Lambda School
As I mentioned earlier, Lambda School offers courses in Web Development and Data Science. However, that is a fairly recent change. As recent as last year, Lambda School also offered programs in UX Design, Android Development, and iOS Development. According to Lambda School, having this many programs made it harder to focus on maintaining the quality of each individual program. As such, they decided to narrow the focus of the school and discontinue the less popular programs. The iOS program was the last to be discontinued. To Lambda's credit, they continue to support students who are still going through curriculum in discontinued programs, instead of making students switch to Web or Data Science.
For anyone interested in the content of the courses Lambda School offers, you can check out the details for the Data Science program here and the Web Development program here. While I can't comment on the quality of content for these tracks, I will say that the Lambda curriculum for iOS Development was good. The skills you will learn in any track is what you need to get hired as an entry-level engineer. Best of all, Lambda is able to make updates to the curriculum quickly based on feedback from companies and students.
The Good, the Bad, the Ugly
For the rest of the post, I want to go into more detail on how I felt about different aspects of Lambda School. Just to preface all of this, I joined the part-time iOS Development program in July of 2019 and just finished the program in November of this year. So, my perspective is from how the school was operating during that timeframe. I'll do my best to call out gripes I had that have been addressed by recent school changes.
The Good
While I can't possibly list every single thing that I felt was good about Lambda School (primarily because I've probably forgotten a bunch of good things over the past 18 months) I do want to call out a few things in particular that I have appreciated while being a student.
The Support
Perhaps the #1 reason to join Lambda School is the fact that they will do everything they can to get you a job. Remember, Lambda School can't survive long-term without students succeeding, so they do as much as they can to help students get hired. You can tell people at Lambda are driven to help students succeed. Instructors conduct office hours (in addition to scheduled lectures) to help clear up confusion on challenging topics, career coaches make themselves available almost immediately to conduct mock-interviews for students who want interview practice, and job search trainers get assigned to students to help them navigate everything from sending out resumes, writing engaging cover letters, and networking with professionals in the industry. The support Lambda School offers truly is top-notch.
Mastery-Based Learning
Another good aspect of Lambda School is their approach to 'mastery-based' learning. As opposed to more traditional education models where you either keep up in the program and progress, or fall behind and fail, Lambda gives students the option to flex
to give them the chance to really learn something before moving on in the program. When a student flexes, he or she repeats a unit that he or she didn't feel confident with. This repeat allows students who need it extra time to really solidify their understanding of a topic and not feel like they're just being rushed through to get to the end.
Real Projects
Lambda organizes its programs into sprints
that are one week for full-time students and two weeks for part-time students. Every fourth sprint you participate in what Lambda calls a Build Sprint
. During these sprints, you work with a small group of students to deliver a functioning application. When I went through the program, I would get paired with students who were either ahead of me in the program or behind me (based on where I was in the program). This way, I got a chance to learn from more experienced students when I was newer to the program, and then got to teach less-experienced students once I was further along. Having a build sprint every fourth sprint was a welcome reprieve from the lectures and daily assignments that accompanied regular instruction sprints.
Responding to Feedback
Finally, one of the best aspects of Lambda School is the willingness of the team to respond and make adjustments based on feedback. Just one personal example, when I started the Computer Science portion of the program, the instructor we initially had was, for lack of a better term, terrible. He spent over half of our lecture time talking about what programming was like 'in his day' and how we have it so much easier now. There were enough complaints from students that the school made a change. He made it through 2 lectures before Lambda canned him and replaced him with a new instructor who was phenomenal. When Lambda staff say they are open to feedback, it isn't just lip service, they truly mean it.
The Bad
Let's be honest, Lambda isn't perfect. They're still a growing company that doesn't get everything right. Here are some things that I felt needed improvement.
Incomplete Instruction Materials
During the time I was going through the instructional portion of Lambda's iOS program, each student was expected to come to lecture prepared to learn the day's topic. Students were expected to review the pre-class materials and come to lecture ready to work on a guided project and ask questions. On more than one occasion, I found in Lambda's 'Training Kit' (the tool Lambda used to hold instructional content prior to adopting Canvas) that the pre-class instruction materials were completely missing. I would see stated objectives, but no explanations of what anything was, like so:
While some may think, "oh whatever, just go google what those things are," it is a bit of a hard pill to swallow when you are on the hook for $30k for an eduction that doesn't provide complete instructional materials. While the core content gets covered during the lecture, it would've been nice to have complete reference pages to go back and look things up quickly, instead of having to rewatch 2-hour+ lectures to get answers.
Lambda School has since adopted a new education tool called Canvas that I hope has addressed this issue for future Web and Data Science students. I am unable to comment on any iOS content on Canvas as Lambda didn't migrate any discontinued course content to the new platform. For students who participated in now defunct programs, the course content you have is the course content you'll be stuck with, don't expect any future updates.
Students as 'Team Leads'
Prior to recent changes, Lambda School offered students the opportunity to teach students who were behind them in the program. Think of them like TA's at a more traditional university. This was a paid opportunity for students to gain experience leading a group of less experienced students. While I liked it in theory, in practice, it was poorly executed. I think a large portion of the problem came down to incentives: TL's are still students who are going through the program and searching for jobs. It's hard to make your first priority helping a struggling student if you yourself are trying to get a job to support yourself and your family.
Let's take an example of a full-time student helping a part-time cohort and what the schedule is like. For a full-time student, he or she is in class or working on projects from 8am PST to 5pm PST. Then, part-time takes place from 6pm PST to 9pm PST. There is an expectation of the TL that he or she can focus on helping part-time students during part-time working hours. Let's be clear, there are some hard units in Lambda School that take days, if not weeks (or months), to understand well. Is it a realistic expectation to have TL's spend their entire day studying and working on projects, to then turn around and teach other students at the end of a draining day? In my experience, many TL's seemed completely uninterested, or simply too exhausted, to help the students they were assigned to help. And if it came down to helping a student understand Key Value Observers, or preparing for their own job interviews the next morning, what do you think the TL's prioritized? Can you blame them? While TL's did get paid, it was not much. What incentive is there to prioritize helping a struggling student over getting yourself a job?
As I mentioned right at the start, there have been some recent changes at Lambda that has almost done away with the TL program. Lambda is placing a greater emphasis on hiring more instructors to provide support to students. The TL position is going away entirely, but it will be much more limited in its scope and responsibilities.
The Ugly
As the name suggests, things in this category are downright ugly and make it harder to recommend Lambda School to future prospective students.
A Lack of Diversity
Lambda School likes to tout itself as presenting opportunities for people who historically haven't had the chance. However, it's hard to take that claim seriously when 90% of the executives at the company are white. At the time it was written, in the Diversity Report they acknowledged, "We currently have no employees who identify as underrepresented minorities on our leadership team." From its own survey results, "33.7% of Lambda School students identify as Underrepresented Minorities (URM)," but only "12.9% of Lambda School staff members identify as underrepresented minorities." This is a big disconnect. How can you expect a URM student to take you seriously that he or she can succeed in tech if he or she only sees white people succeeding in tech? The tech industry in general suffers from a lack of diversity, especially amongst leadership positions. Unfortunately, Lambda School has thus far failed to buck the trend. Lambda School has made the commitment to create a more diverse company, but whether or not they follow through on that commitment has yet to be seen.
Part-time: Same Price for an Inferior Experience
As I alluded to at the start of the post, this aspect of Lambda School has really bothered me over the course of the last year and a half. Lambda School costs $30,000 whether you choose the full-time or part-time program, whether you use the ISA or you pay tuition up front (up front tuition used to get you a $10k discount, but that incentive is no longer available). The simple truth is this: the part-time program is inferior to the full-time program, both in content provided by Lambda and the level to which Lambda cares about the students: Full-time students always take priority. It makes sense from an ROI perspective: A full-time student is more likely to get hired sooner than a part-time student, so you want to spend more time focusing on the students who will start paying you back sooner.
The majority of students at Lambda School are part-time students, and everyone I've spoken with has felt that full-time students are treated better. As a part-time student myself, I couldn't help but notice almost all content produced by Lambda, from presentations to PDFs, is geared towards full-time and the requirements for those students. Got a due date coming up for a careers assignment? Documents from Lambda will show you it's due at the end of the week on Friday. Only, that isn't the case if you're part-time. If you're part-time, you get two weeks and it's due on the 5th day you selected when you joined (Friday, Saturday, or Sunday). Got a build sprint coming up? Lambda will tell you kickoff is Monday when you'll meet your team and find out the project you got assigned to. Then you have until Friday to finish the project. Wrong again for part-time! Tuesday of the first week of a build sprint is when you'll meet your team and find out what project you're working on. And your 5th day of the second week is when you have to finish the project.
I know it seems like I'm nitpicking, but when you're left feeling confused and frustrated that no one can give you an answer to the very simple question of "What am I supposed to be doing in class tonight?" you start to feel like your $30,000 investment was a waste, like the school doesn't care about you enough to even tell you what's going on. I chose a part-time program with Lambda because I have a family to support and couldn't take the risk of quitting my job and being unemployed for 9+ months while learning to code (recent updates shortened the course length for full-time to 6 months). Many part-time students are in the same boat as me and only have nights and weekends as the option for learning. What gave me hope in Lambda School's part-time programs in particular was a post from Caleb Hicks, President of Lambda School. In his post from February of 2019, a few months before I committed to the program, he wrote that "A part-time student should have every skill, every project, every opportunity that a full-time student does." What I've learned in the past 18 months is that two-thirds of that statement are accurate: Every part-time student gets the same skills and projects, but we don't get nearly as many opportunities as full-time students get. As an example, look at the schedule for a day this past week for students in the 'job hunt':
Seems a little skewed to full-time right? The only thing a part-time student could attend that day was the check-in, which is no more than a nightly stand-up where you and other part-time students discuss how your job hunt is going. Joining as a part-time student means you'll be missing out on a lot of things that your full-time counterparts get to participate in.
To be fair, I can't entirely blame this on Lambda School. The fact is, there are only so many hours in the day. Is it realistic to expect that you can get the same experience working 3 hours a day when compared to working 8 hours a day? No. If you have 8 hours, it's no big deal if one or two of those hours are used for guest presentations or career advice sessions. But for part-time? Two hours is almost your entire work time for an evening. The additional course length helps a bit, but it's still not the same. If we make some assumptions that you have 20 work days a month and work for 18 months, a part-time student will spend 1,080 hours (3 hours/day * 20 days/month * 18 months) in Lambda School. Using the same number of work days a month, a full-time student spends 1,440 hours (8 hours/day * 20 days/month * 9 months) in Lambda School. That's a difference of over 300 hours that full-time students get to spend doing coding challenges (something I never had until the computer science portion of Lambda's program), listening to guest lecturers, attending 'brown-bag' informational sessions, and honing their skills and adding to their projects.
Now, will any of this keep you from getting a job if you choose to be a part-time student? No. Part-time students still get hired all the time. It's important to remember, like I mentioned earlier, most of what Caleb said is true: if you join as a part-time student, you still get the same homework, the same instruction, the same projects, and the same career support. Just be aware you'll miss out on a lot of additional aspects of Lambda School made available for full-time students, but are still expected to pay the same price.
Wrap Up
I know I spent a large portion of this post harping on the discrepancy in quality between the part-time and full-time experiences. Despite that, I still think Lambda provides great programs with a great support system. I can do things now as an iOS developer that I couldn't imagine being able to do last year. Lambda has helped me grow my confidence working with code, reading documentation, building applications, and solving problems. While it's true that you can teach yourself how to code with free content on the internet, Lambda provides a great support system to keep you accountable and to help you when you get stuck.
If you're on the fence about joining Lambda, I would go for it. If you can do it as a full-time student, even better. But even if you can't, it is still a great opportunity and the team at Lambda continues to improve the experience. Do they still have work to do to make things better? Yes. And I believe the leadership team at Lambda will be the first to say they have a long way to go. But what matters is that they try. They continue to listen to feedback. They continue to make the school better with each iteration. Lambda is not perfect, it will never be perfect, but I don't think they'll ever stop trying to make it so.
If you have any questions about this post, or about Lambda School in general, feel free to leave a comment, or reach out to me on Twitter.
Happy coding!