Two Months of Lambda

Lambda School is an experiment in the provision of human capital. It’s a full-time, immersive nine-month program in software development and data science. Lambda is special in that there is no up-front tuition—students pay back the $30k tuition in monthly payments after getting a job. Here are a few of the things I wish I would have known two months ago, with an emphasis on the day-to-day details.

What will I be doing?

“Data science,” to quote head of Decision Intelligence at Google, Cassie Kozyrkov, “is the discipline of making data useful.” From business intelligence to app development, modeling and machine learning, data science is the buzz word du jour and it’s not hard to see why.

MORNING WARMUP

At 8am Pacific Time—11am Eastern—a section lead will drop the day’s warmup assignment into your cohort’s Slack channel. The warmup assignment can be anything from a coding challenge (usually on a REPL site, such as repl.it), an explainer video, or a live video conference from Lambda’s Student Success team. The focus is on hands-on practicality.

Jargon break:

Time differences : Lambda’s live lectures, schedule, and due dates are all provided and conform to the Pacific Time workday, 8am - 5pm.

: Lambda’s live lectures, schedule, and due dates are all provided and conform to the Pacific Time workday, 8am - 5pm. Section Lead : In addition to Lambda’s instructors, students receive support and direction from Team Leads (TLs) and Section Leads (SLs) that facilitate activities and communication in small groups or the entire cohort, respectively.

: In addition to Lambda’s instructors, students receive support and direction from Team Leads (TLs) and Section Leads (SLs) that facilitate activities and communication in small groups or the entire cohort, respectively. REPL : A “read-eval-print-loop” is an interactive coding environment that take user inputs, evaluates them per the syntax of the specified programming language (like Python), prints the output, and then asks for more input. REPLs are a fast and easy way to write or test code.

: A “read-eval-print-loop” is an interactive coding environment that take user inputs, evaluates them per the syntax of the specified programming language (like Python), prints the output, and then asks for more input. REPLs are a fast and easy way to write or test code. Slack : A communications application, with channels for your team, cohort, and myriad other groups to share interesting content, help one another, or even celebrate job offers. You will be spending a lot of time in Slack.

: A communications application, with channels for your team, cohort, and myriad other groups to share interesting content, help one another, or even celebrate job offers. You will be spending a lot of time in Slack. Student Success : The Lambda department tasked with developing students professionally apart from their coding skills. They hold a series of lectures and assignments for professional development that start week one—from creating a portfolio website and sharpening your LinkedIn, to things like salary negotiation, workplace professionalism, and more.

: The Lambda department tasked with developing students professionally apart from their coding skills. They hold a series of lectures and assignments for professional development that start week one—from creating a portfolio website and sharpening your LinkedIn, to things like salary negotiation, workplace professionalism, and more. Lambda Income Share Agreement (ISA): A lot has already been written on the Income Share Agreement but it’s basically the instrument by which a student defers all tuition costs until after they get a job, in tech, making a certain amount of money.

LECTURE

At 9am the SL will drop a link and you’ll hop onto a Zoom conference. The instructor will start the day’s two-hour lecture. The first two units in the data science course are facilitated immensely by Google’s Colab, a “notebook” software development environment hosted on the cloud. Students watch as the instructor writes code and explains concepts, problems, and trade-offs between different approaches, tying the day’s lecture to larger skills and objectives. All the while, students code alongside in Colab and ask questions. In later units, the students work locally in integrated development environments (IDEs). Each lecture has a five-minute break.

Another jargon break!

Zoom: a video conferencing application.

a video conferencing application. Instructors: the instructors are former industry professionals, with varying degrees of experience teaching data science remotely. An instructor typically stays with the students for the entire week’s worth of lectures.

the instructors are former industry professionals, with varying degrees of experience teaching data science remotely. An instructor typically stays with the students for the entire week’s worth of lectures. Google Colab: a cloud-based version of a popular software development tool called a Jupyter Notebook. Notebooks “contain both computer code (e.g. python) and rich text elements (paragraph, equations, figures, links, etc.).”

a cloud-based version of a popular software development tool called a Jupyter Notebook. Notebooks “contain both computer code (e.g. python) and rich text elements (paragraph, equations, figures, links, etc.).” Integrated Development Environment (IDE): What is code? It’s basically instructions for a computer. Code is hidden behind everything: the keyboard buttons we press are instructions to render certain letters on our screen, the applications we love instructions to fetch data hosted somewhere and return our favorite memes, etc. That code is “developed” or written and tested to make sure it works in an IDE. Notebooks, while useful for instruction, are limited in lots of ways.

What is code? It’s basically instructions for a computer. Code is hidden behind everything: the keyboard buttons we press are instructions to render certain letters on our screen, the applications we love instructions to fetch data hosted somewhere and return our favorite memes, etc. That code is “developed” or written and tested to make sure it works in an IDE. Notebooks, while useful for instruction, are limited in lots of ways. Module > Sprint > Unit format: The curriculum is taught on a schedule that mirrors a popular software development approach called Agile. Software development can be thought as “coding in teams”—-which is different than mere programming—-and there are various approaches to collaboration. At Lambda, a day’s lecture and work is called a module (for instance, “Exploratory Data Analysis”). A week’s sprint (for instance, “Data Wrangling” or “Logistic Regression”) consists of four modules. The fifth day of the week holds a sprint challenge, an “open-note, open-internet” test of your understanding and mastery of the sprint’s materials. Lastly, four sprints comprise a unit, (like “Statistics Fundamentals” or “Machine Learning”). The distinctions aren’t scientifically precise, and information and materials bleed across units and sprints, but the framework helps to hang learning objectives on and keep us on schedule.

LUNCH

Eat! Stretch your legs or change locations. There are also many optional live Zoom conferences to attend, from interviews with data science professionals or Lambda alum to demos of useful coding packages and libraries.

AFTERNOON

After watching the instructor tackle a problem, and getting the opportunity to ask questions, it’s your turn. The day’s assignment builds upon the day’s lecture. If in lecture we pulled data from somewhere and prepared it for modeling, you’ll do the same with a new dataset. If we used a particular kind of model to make predictions, you’ll use it to make more. If we made visualizations of one kind, you’ll try your hand at another. The instructors and TLs are around to answer questions, as is the entire cohort, in Slack. The assignment requirements have a bare minimum, which are relatively simple. There are also always opportunity to “stretch” and dig deeper. You’ll find yourself using previous code you’ve seen and written and reading documentation as you try to figure out the best approach—which sounds just like what you’d do on the job! This part of the day includes a short check-in with your TL and ends with “stand-up”—a team meeting where we discuss the day and our progress.

Closing thoughts

Speaking personally, coding is the first time in a long time that I’ve dove into a very complex subject that I was not particularly good at. Between my college major and various hobbies, I’ve enjoyed a confidence borne of lots of familiarity. I have none of that with coding. It’s been a long time since I have been so humbled between the disparity in my desires and my skills. This can be, depending on your personality, varying degrees of frustrating. The trick is to not get discouraged. Discouragement will lead to despondency and, eventually, abdication. Read a tongue-in-cheek account of “effort shock” and prepare yourself for hard work!

If you have the opportunity to build up felicity with the primary programming language of data science–Python–it will lower the bar to putting your ideas into action. This $12 Udemy course “Complete Python Bootcamp: Go from zero to hero in Python 3” assumes no programming experience and was great for me, and there are tons of free YouTube lectures, like this four hour “Learn Python - Full Course for Beginners” video that come highly recommended. Once your Python syntax and knowledge of pandas (a library of functions to work with datasets) is passable, try your hand at some pandas exercises. A lot of analysis depends on your ability to write code the manipulates and arrange data into a workable form; you can cut down massively on the time you spend reading documentation on basic functionality if you get lots of “reps” in on this part of your skillset.