Module 1: Onboarding & Planning
Welcome to Labs
Excited to have you join us in Labs! 🎉
Labs is the perfect opportunity for you to put your knowledge and skills to the test. This course is
designed to help you integrate everything you've learned into a complex project, allowing you to build
and articulate your code contributions with confidence. You'll be ready to ace technical interviews and
start your career as a successful software developer.
Get ready to work on challenging projects and components during our five-module structure. After
completing onboarding, you'll move on to three build sprints that will give you the chance to practice
and hone your skills in a low-stress environment. Our goal is to provide you with a platform to apply
your skills and communicate your contributions effectively.
Not only will you have the chance to demonstrate your technical skills on a complex project, but you'll
also learn about agile, kanban, and kanban software. Labs will simulate junior dev workflow, giving you
a taste of what to expect on your first job.
This course lays out everything you'll need to get up and running in Labs, start making contributions to
your product, and set off on your path toward graduation.
Let's go! 🚀
How Do I Pass Labs?
Required Assessments
For Module 1: Onboarding, you need to score 100% on:
- Check for Understanding: Labs Kickoff
- Check for Understanding: Local Setup
- Check for Understanding: Basic Planning
For Module 2-4: Build Sprints, you need to pass based on the attached rubric:
- Submit Your Deliverables: Loom and Code
For Module 5: Final Steps, you will need to pass:
- Submit your Career Artifacts
- Payment Type Quiz Completed
Grading Criteria
To pass BloomTech Labs, you are required to pass Modules 2 through 4, which focus on different
project-based coding challenges and prepare you for technical interviews. The success of your work in
the modules will be evaluated based on a rubric, which consists of the following criteria:
- Presenting Your Work - the student must clearly and accurately explain all aspects
of their work, including their approach, design decisions, and results.
- Organization - the video must be well-organized, easy to follow, and present
information in a logical and coherent manner.
- Technical Knowledge - the student must demonstrate a solid understanding of the
technical concepts and tools used in their work. They should be able to answer technical questions.
- Code Quality - the code must be well-organized, readable, and follow the best
practices learned.
- Functionality - the code must run without errors and produce the expected results,
meeting the requirements of the assignment.
- Commenting - comments must be clear and provide enough information to understand
the purpose and function of the code.
- Correctness - the code must be implemented in a correct, efficient, and optimal
way.
- Test Execution - the student must be able to execute tests, document issues or bugs
found, and explain how the tests are verifying the functionality of the system.
- Communication & Delivery - the student must communicate effectively and
professionally, speaking clearly, using appropriate nonverbal communication, and expressing
themselves in a confident and engaging manner. They should also show active listening skills and be
able to build rapport.
- Preparation & Self-Presentation - the student must present themselves in a
professional and polished manner, be well-prepared, and project confidence and enthusiasm.
- Adaptability - the student must demonstrate an ability to adapt to new information
and respond appropriately to unexpected questions or changes in the interview, displaying
flexibility and initiative.
To pass Labs, you must meet the expectations listed in the rubric in each of these criteria.
How Labs Works
The goal of Labs is to help you:
- Apply and integrate skills taught in core on a complex project.
- Articulate code contributions confidently in a technical interview.
To achieve this, we will:
- Present you with a project template. This template will give you starter code for
you to build off
of. You will fork this GitHub template, locally setup the repo on your computer, and begin work on
tickets we've made for you.
- Give you tickets to add components/features to the existing project. Similar to
what a junior dev
might do, you will add working code to the complex project and deliver the requirements of each
ticket.
- Have you submit your code alongside a Loom video explaining what you did and why you did
it. Each
build sprint will require the submission of 2 deliverables: loom video link and GitHub code link.
The code is meant to test your technical ability, and the loom video is meant to simulate a
technical interview.
- Grade your deliverables based on the rubric attached to each sprint submission. The
rubric will
measure if you are ready for your first dev job based on your ability to code and how well you
articulate what you did.
- Check your resume for your Labs' contributions. We want to make sure that you added
the complex
project you worked on to your resume to showcase your ability as an developer.
To give this plan structure, we have divided these goals into 5 modules:
Module |
Goal |
Onboarding |
Understand how Labs works, get locally setup, & learn agile |
Build Sprint 1 |
Ship your first ticket & record loom articulating what you did |
Build Sprint 2 |
Ship your second ticket & record loom articulating what you did |
Build Sprint 3 |
Ship your third ticket & record loom articulating what you did |
Final Steps |
Finalize your resume and complete your payment quiz |
Basic Overview of Development in Labs

Labs Tech Stack
Before diving into the Labs environment, it's important to understand the technology stack that powers
it. In software development, a technology stack refers to the combination of tools, frameworks, and
languages used to build a product.
The following is a list of the key components in the Labs Tech Stack:
- Frontend: React - JavaScript library for building user interfaces
- Backend: FastAPI - modern, fast (high-performance), web framework for building APIs
with Python 3.7+
- Database: MongoDB - flexible document-based db that map directly to objects in your
code
By being familiar with these technologies, you'll be better equipped to complete Labs modules and build
your coding skills.
Getting Support
In Labs, you'll have a fleet of staff, instructors, learner assistants, and career reviewers to support
you. Here's how to get help.
The 20-Minute Rule
For technical problems, follow the 20-minute rule:
- First, try to solve the problem on your own for 20 minutes.
- If still unsolved, loop in a teammate for 20 minutes.
- If still unsolved, loop in your team's Learning Assistant for 20 minutes.
- If still unsolved, post in the Labs Slack channel.
- If still unsolved, post in the Hub Knowledge Base for support from your community of peers and
instructors!
- If still unsolved, open a support ticket in the Hub for help from a Learning Assistant.
Note: Please do not send Slack DMs to your instructors! Instead, you can always use the
Knowledge Base or open a support ticket in the Hub. This helps make sure you get the quickest support
possible!
Nontechnical Issues
For nontechnical concerns (like an issue with a teammate), open a support ticket in The Hub. This helps
make sure your concern is routed to the right place. (If it's an emergency, that's the once case in
which you should escalate it to a Labs staff member immediately!)
Project Setup
Learn how to set up your local development environment and get familiar with the project structure.
Local Setup
Local Setup
Now you're ready to get set up with your project! 🚀
For this final step, you'll fork your project's repositories, clone the forked version from GitHub, and
set up your environment.
Access
the
Local Setup Walkthrough video here.
Access the starter repo for the project here.
Note: You must fork the starter repo to your personal GitHub account before starting
local setup.
20-Minute Rule
If you have any questions, bugs, or concerns while setting up, follow the 20-minute rule:
- First try searching on your own for a solution—search Google, Stack Overflow, and the documentation
for the component you're struggling with (like the Python docsLinks to an external site.). Start
flexing this muscle now!
- If you're stuck after 20 minutes, post in your team's Slack channel.
- If you're still stuck, post in your Labs Slack channel.
- If you're still stuck, post in the Hub Knowledge Base.
- If you're still stuck, open a support ticket in the Hub!
Understanding Data Users & Stakeholders
Learn how to identify and understand the needs of different data users and stakeholders when building
data solutions. This section covers how to map user journeys, create data personas, and design
wireframes that effectively communicate insights.
Data User Journey Mapping
Additional Videos
Wireframes & Data Visualizations
Data Storytelling
Data Science Project Planning
Learn how to structure and plan data science projects effectively, from problem definition to model
deployment. This section covers how to break down complex data problems, create realistic timelines, and
manage stakeholder expectations.
Data Science Project Lifecycle
Pull Request Process
Learn how to create effective pull requests, review code, and collaborate with your team.
PR Videos