It Takes a Village
Vibe with Me
It’s 11 am Eastern Time on a Monday morning. The snow on the ground outside my Cape Cod home has almost completely melted and the view outside my bedroom-turned-office can be described with just five words: “traffic”, “wet ground”, and “dirty snow”. Better yet, one word: “gross”. The Monday blues is a regular visitor around here, but this time in January I’m particularly feeling it. It’s with this lingering sense of blah that I join my first Lambda School Labs lecture.
Securing My Bag
Flashback to 9 months ago. I enrolled in Lambda School over the summer, when the pandemic was in its rather early stage and life as I knew it was at a standstill. I found myself having more time to think and reflect on my career and what I wanted to do with the rest of my life. After 8+ years at Microsoft, I saw myself through more re-orgs than I could count and suffered from the unfortunate politics that come with them. I was lost and didn’t know what my next move was going to be. I found myself inspired by the distinguished words of DJ Khaled, “Stay focused and secure your bag, because they want you to fail and they don’t want us to win.”
Adjusting the Blinds
In an attempt to save himself from the emotional trauma I brought to dinner every night, my partner, a Software Engineering Lead, suggested I consider changing careers and becoming a programmer. Ok, he may have also noticed my interests and skillsets would translate well into a career in software development. So that night, he showed me the basics of HTML and CSS and what do you know, the girl who claimed she never wanted to code was enthralled! The moment I saw that hideous red comic sans h1 pop up on my computer screen, I was officially hooked. Many late-night CSS-struggle-sessions later, unshowered and living up to the developer stereotype, I entered the world wide web, searching for an intensive, comprehensive dev school. Lambda’s longer program duration and inclusion of computer science in their curriculum made them stand out from the rest. I didn’t just want to learn to nail a tech interview, I wanted to put myself in a position to succeed on the job as well.
Back to the Future
Flash forward back to my first day of Lambda Labs. Labs is the capstone of a student’s tenure at Lambda and consists of a month-long real-world development project. The day started with a guided project as normal Mondays at Lambda do and it wasn’t long before I was officially assigned to the Village Book Builders project. Although I’m sure as an upstanding citizen yourself you already know what Village Book Builders (VBB) is, I will give you the spiel anyway: VBB is a non-profit organization whose mission is to empower villages around the world to end the cycle of poverty through education. Pretty cool huh? Finally, I’d be working on a real-world project that could actually do good. My Monday vibe quickly dissipated and I kicked myself into high gear.
The Task at Hand
Our team was tasked with contributing to a legacy codebase to help build out VBB’s first app. As a complement to their website, the app will touch all VBB affiliates, including headmasters, teachers, volunteer mentors, and students. Its primary function will be to provide users with a dashboard where they can perform actions essential to their role including:
- Register incoming users and have the ability to edit their profiles
- Manage schools and villages under the VBB purview
- Access program resources, including software subscriptions
- Match mentors with mentees
The codebase is in React, using the Ant Design component library. We primarily worked on the frontend, as our code would ultimately get integrated into VBB’s existing backend. For development purposes, my peer created a mock backend using Faker API and JSON Server.
Can You Forget How to Code?
It was my first time contributing to a real-life legacy codebase, so my initial challenge was to weed through the repo to try and understand what was already built and how that tied into the roadmap provided by our Product Manager. Saying this took time is no joke and I certainly learned the importance of adding comments and writing clean, readable code!
Throughout this process, I was no stranger to imposter syndrome. Having just completed Lambda’s computer science course compounded with 2 weeks of a holiday break, my React skills were rusty, to say the least. I was nervous I wouldn’t remember anything and was fearful that I would fall behind my peers. Fortunately, it was like riding a bike and within a couple of days, I was coding full-force and making regular contributions to our repo.
The app as we inherited it, was limited to a simple login page and headmaster dashboard with restricted functionality. We had our work cut out for us!
My Piece of the Puzzle
I jumped in to help build many pieces of the application, but my primary focus was to:
- Establish New Roles: Liaise with our backend dev to get new roles established in our database including roles for library administrators, teachers, and students. I incorporated those roles into login and dashboard components to ensure the users upon logging in are routed to the correct dashboards through authorization.
- Create New Dashboard Components: For library administrators, teachers and students.
- Update with More Ant Design: Refactor the application to include accessible, responsive Ant Design components throughout.
- Create a Student Resource Dashboard: Use a backend endpoint to dynamically render student resources.
10 merged PRs later, I feel way more confident with GitHub: writing and reviewing PRs, making commits on the reg, and (who can forget) managing those beloved merge conflicts!
It Really Will Take a Village
Our work is nowhere near complete, but we put a pretty good dent in our product roadmap and we’re ready to hand it off to the next Lambda team to pick up where we left off.
The phrase “it takes a village” couldn’t be a more fitting way to describe my experience building an app for Village Book Builders. The final product will be a result of development teams from Village Book Builders and Lambda School coming together to publish an impactful piece of software. Now that’s something I feel really good about!