Welcome! This bootcamp prepares students with no programming experience to start careers as data engineers. We start with learning the Python programming language, then progress to more advanced tools.
The program is thirty hours a week for twenty-five weeks, and consists of live instruction, solving exercises with classmates, and individual projects. It’s entirely online, and instructors are available throughout the day to offer guidance and resources. After the coursework, students participate in a six-week internship.
The instructors for this course are Parham Parvizi and Alma Frankenstein.
Parham Parvizi
Email: parham@datastack.academy
Discord: Par#2420
LinkedIn: parvister
Alma Frankenstein
Email: alma@datastack.academy
Discord: alma_frankenstein
LinkedIn: alma-franken
Data Stack Academy aims to benefit our students, the companies that employ our graduates, our employees, and the culture of tech. We do this by:
Training Top Quality Graduates – Our curriculum, admissions process, rigorous expectations, daily timed challenges, and mentorship ensure that anyone with a certificate from Data Stack Academy is a skilled programmer.
Affirmative Action – We aim to be an incubator for highly-qualified programmers from demographics that are commonly marginalized in tech. We do this by providing scholarships to people from those demographics.
Diversity, Equity, and Inclusion – Part of Data Stack Academy’s mission is to make careers in tech accessible to people who often face barriers to entering that field. We strive to foster a culture where diversity is respected, and everyone, regardless of their social identity or background, feels included.
The general process for admission is:
These are covered in detail on the ‘Admissions‘ page.
Prospective students must complete the Data Engineering 101 pre-enrollment course before enrolling in bootcamp.
The tuition includes admission to our 19 week long course, 6 weeks internship program, and one year of post-graduation career services.
Our payment options are:
If a student chooses to leave the program permanently, they will be refunded according to the following schedule:
Students must state their intent to withdraw from the program in writing, via email, to hello@datastack.academy. Students are considered enrolled in the program until the timestamp on their intent to withdraw email. Refunds will be paid within 30 days of receiving notice to withdraw.
Prorating is based only on the coursework part of the program, excluding the internship. If a student cancels before the start of class, the full tuition will be refunded. Students who used a financing option may have to work with the financing company for a refund.
If a student chooses to leave the program permanently and later wants to re-enroll, they will have to pay full tuition and start from the beginning. However, they can waive the admissions process.
A student can pause enrollment at any time, for any reason. They can choose to pick up where they left off with the next cohort, or they may start from the beginning. If more than six months elapse between the student pause enrollment and re-enrolling, they are required to backtrack three units (three weeks) prior to the point where they left off. Students who backtrack are expected to participate, attend class, and turn in code reviews like any other student. When re-enrolling, the student has a clean slate of absences, tardies, and academic warning passes.
Students are allowed to pause enrollment three times before they must begin the enrollment process, pay full tuition, and start at the beginning of the program as a new student.
If a student would like to pause enrollment, they must email their instructors clearly stating their intent. Students who financed tuition through Mia Share or Meritize should arrange a repayment plan with their financing company; this is outside of Data Stack Academy’s purview.
We do provide limited scholarships to those who can not afford the full tuition. Scholarships are based on:
Scholarship applications are due at the end of the Data Engineering 101 pre-enrollment workshop. Applicants will be notified via email about their award status the following Monday (one week before the start of class).
Please see the ‘Scholarships‘ page.
Data Stack is committed to providing a vibrant, productive, safe, and supportive environment for learning. Students spend most of their time pairing with other students and supporting each other with the material and exercises. It is crucial that we treat each other with respect, care, compassion, and patience.
In attending Data Stack, everyone must agree to follow the code of conduct:
Data Stack Academy has a zero-tolerance policy on sexual harassment, discriminatory behaviors, or derogatory language.
In addition to contributing to a safe, supportive learning environment, we expect students to present themselves at school like they would at a job. This includes being:
Professional – Professionalism includes punctuality, politeness, being prepared for class, participating, turning in work on time, and responding to emails.
Mutually Supportive – Working with others can be challenging. Students are expected to be patient and helpful with their classmates, knowing that they’ll need to ask for patience and help at times, too. We approach success as a collaboration, and not a competition.
Self-directed – Programmers need to be good at research. Teachers are here for guidance, but students are generally expected to research answers on their own.
Humble – We want students to take pride in their achievements! At the same time, students will be more successful in learning and collaboration if they ask for help when they truly need it, and when they acknowledge that there’s always more to learn.
Respectful, compassionate, and open-minded: As colleagues and classmates we commit to always treat everyone with the utmost respect, to always watch what we say, and to contribute to creating a healthy and positive learning community. We listen to our colleagues’ questions and are patient, as we all have different pace and methods in learning. Programming is full of wonders, and sometimes even what appears to be the “wrong” paths at first will lead us to great discoveries.
If for any reason you feel a student or staff member has violated the Code of Conduct, or if Data Stack is not meeting your needs in any way, please talk with your teacher, advisor, or any other staff member. We encourage students to speak up whenever they feel uncomfortable.
In order to resolve issues we recommend following the steps below:
Administrators will talk to both parties and gather as much information as possible, and then decide how to proceed. Students may request that an instructor, administrator, or someone from outside the organization be brought in to mediate. Because the entire complaint and mediation process must be thoroughly documented, meetings may be recorded with the participants’ consent, or communication may have to be over email.
The harassing party may be expelled from the program if the issue persists. Data Stack staff may decide to expel the offending party upon their first offense depending on the severity of the issue.
Data Stack will do its best to address and resolve any complaints within 15 days.
The program is 25 weeks long, 30 hours/week. It’s broken down into 17 weeks of core curriculum, 2 weeks of career training, and a required 6-week internship.
Each chapter is a week of class. Monday-Thursday is live instruction and pair programming, and Friday is an independent code review.
Each week of the core curriculum is a different unit, composed of four lessons (“episodes”). Instructors may modify the curriculum to accommodate the needs of the class.
Section 1: Foundations
1. Intro
2. Python pt. 1
3. Python pt. 2
4. Pandas
5. Team Week
Section 2: Data Modeling, SQL, and the Cloud
6. SQL
7. Cloud, BigQuery, Looker Studio
8. Data Modeling
9. Data Build Tool (dbt)
10. Team Week
Section 3: Airflow and Spark
11. Airflow pt.1
12. Airflow pt.2
13. Spark pt.1
14. Spark pt.2
15. Team Week
Section 4: Capstones
16. Visualization
17. Capstones
The curriculum (including code examples, written lessons, setup instructions, and exercises) is stored in a GitHub repository:
https://github.com/datastackacademy/data-engineering-bootcamp
This repository is private. Access will be granted after enrollment.
Classes meet live (online) Monday through Thursday, with the following schedule. All times are in PST.
Morning
Afternoon
Students pair over Discord. All other meeting are on Google Meet, at this link: https://meet.google.com/mdd-uwir-iuw
Data Stack Academy observes the following holidays:
Instructors monitor performance using:
Every day, our students are challenged to solve small programming questions. These questions are timed, and we review other students’ answers as a team. The point of these challenges is to practice basic concepts, and to practice for technical interviews.
Although these challenges are not graded, instructors use them to gauge student understanding. If a student is struggling with a topic, the instructor will schedule a one-on-one time to talk with them to mentor them.
These exercises are one of the main difference makers in the quality of our graduates, and students are expected to participate. Failing to participate will result in losing one academic warning pass.
Code Review (CR) projects are the school’s main method for measuring student progress. Each Friday, the students are presented with a coding project covering the material covered by that week’s lessons. Students upload their code reviews to their online GitHub repository, and submit a link to the repository.
Code reviews (CRs) are emailed at 8am PST Friday morning, and are due at 5pm PST the following Saturday.
To submit a code review, students should email a link to the GitHub repository containing the CR, as well as any comments, to hello@datastack.academy. The email’s subject line should be “Code Review” and the coursework week that the code review is for.
The purposes of the code reviews are:
Students can expect grades and feedback by the end of the following Tuesday. If a code review doesn’t pass the first time, students are allowed until 8am on the Monday nine days from the initial due date to resubmit, and can expect feedback on the resubmission by end of day the following Wednesday.
If they need to resubmit a third time, the final due date is 8am Monday, a week from the first resubmission date (16 days from the initial deadline).
If a project doesn’t pass by the final deadline, the student will likely be asked to start from the beginning with a later cohort.
Students are entitled to one resubmission and one twenty-minute meeting with a teacher to discuss their code review. If a student turns in a resubmission before the deadline, they can request grading and feedback early, and/or request multiple meetings or resubmissions. The instructor can choose to honor these requests if their schedule allows.
Each code review lists the acceptance criteria needed to pass the project objectives. The acceptance criteria are graded as pass/fail. In order to pass the code review, students must pass all of its acceptance criteria.
Students must pass all code review projects in order to pass the course.
A student is considered absent if they miss an hour or more of class. Students are allowed 7 absences during the 19 weeks of in-person instruction. If a student misses more than that, they will likely be asked to rejoin from the beginning when the next cohort starts. Instructors may make exceptions based on the student’s circumstances and ability to keep up with the coursework.
In addition to the 7 allowed absences, students may arrive up to 5 minutes late, or leave more than 5 minutes early, up to 10 times total. More than that, and they will likely be asked to rejoin when the next cohort starts.
Instructors will take attendance during morning meetings, afternoon meetings, and retrospective. They may also check in on programming pairs at any point in the day to confirm attendance.
Students are expected to be present and attentive during lessons and pairing, to participate in daily timed challenges, and to present group projects and capstones. If a student needs exceptions or accommodations for this policy, they need to have it approved in writing in advance. If an instructor notices a pattern of non-participation from a student, they will address it both in a meeting and in writing. If the pattern continues, the student may be asked to start from the beginning with a later cohort.
Each student starts the course with 15 academic warning passes. A pass is used when:
After a student uses 5 passes, they will receive an emailed warning. When they use 10, they will receive an emailed warning and a meeting to discuss the pattern. If they use all 15 passes, they will likely be asked to join the next cohort.
Similarly, students will receive an emailed warning after 4 tardies or 3 absences, and an emailed warning and a meeting after 7 tardies or 5 absences.
We take academic honesty very seriously. We understand that code often converges on the same solution, and that much of programming is looking up solutions. However, if a student finds a coding solution online, they are expected to be able to explain how it works. They are not allowed to copy and paste other people’s code directly.
Instructors may ask students to meet to talk about their code reviews. At these meetings, the instructor may ask the student to explain a section of their code. If they can’t, they lose one of their passes as outlined in the Academic Warning Policy. This is limited to one lost pass per code review.
If it’s apparent that a student has plagiarized code for their code review (for instance, if there are anomalies in the code like comments, variable names, or errors that match other code published online), they may be expelled.
Students are expected to track their own deadlines, academic warning passes, and attendance. However, they are welcome to ask their instructors if they have questions.
Several times throughout the course all students will be issued a progress report form, with a record of their passed/failed code reviews, absences, tardies, and academic warning passes. They will be asked to sign their acknowledgment that received and understood it.
One of the core abilities Data Stack Academy aims to teach students self-direction, and students are expected to first research solutions to programming questions on their own. If they can’t find the answer they should talk to their pair, and then to other pairs in the class. If they’re still stuck after that, instructors are available to help.
Students can ask for help from instructors by:
Instructors:
Parham Parvizi
parham@datastack.academy
Alma Frankenstein
alma@datastack.academy
Instructors are not available to help outside of live class hours, including during code review days.
If a student needs help with a code review, they may request a meeting with a teacher, limited to one meeting per week. Instructors can offer direction, but not directly give answers. Students are not allowed to ask other students for help on the code reviews.
This course includes three group projects. These projects are intended as portfolio pieces, and as a way for students to practice collaboration in planning and on GitHub.
Each student is graded on:
The capstone is intended as a portfolio centerpiece. It should showcase the student’s skills. Students may do any project they like for the capstone, but it should include tools covered by the Data Stack curriculum.
Each student will have 10 minutes on the Thursday of capstone week to present to the class. They are expected to continue to work on their project on Friday, like a regular code review, and submit a GitHub link for grading. The grading criteria are:
Badges encourage students to help classmates and put in extra effort. They’re based on earning points.
Examples of ways to earn badges are:
Students are encouraged to show off their badges on LinkedIn profiles and resumes. In addition to Data Stack Academy’s badges, students are encouraged to try for badges earned through GitHub Achievements. Earning the ‘dbt Fundamentals’ badge created by Fishtown Analytics is part of this course.
The role of instructors is to guide, support, and evaluate students. They are available for help in the ways outlined in the ‘Asking for Help’ section. Students are expected to be independent, self-directed, and responsible for tracking deadlines and meetings.
Students may request to meet for office hours with mentors to talk about career or class concerns not directly related to the class curriculum, such as outside coding projects, dealing with impostor syndrome, or career development.
For each cohort, Data Stack will assemble a set of host internship companies. Students interview with several companies. Students and companies rank their match preferences, and students are matched with a host company based on a match-making system.
The internship is thirty hours a week for 6 weeks, and it is unpaid. Students must complete their internship in order to graduate from the program. Data Stack Academy advisors prepare students for internship interviews and support them during their internship.
In order to participate in the internship program, students must:
Internships are intended to benefit both the student and the host company.
The contacts for the host companies agree to:
In return, the interns agree to:
There is a one-week gap between the end of coursework and the start of internship.
Companies often elect to continue to work with our graduates after the unpaid internship portion. These internships give the host companies an opportunity to further evaluate interns before offering them a position, and they provide our graduates with additional experience and a chance for employment.
Students can, of course, independently agree to any arrangement they choose with the host company. Alternatively, they may be elected to participate in the paid internship program facilitated by Data Stack Academy.
These internships are set as short-term contracts. The budget and availability is completely based on the host company. Data Stack Academy offers mentorship, and facilitates the paperwork between our graduates and the host company. We help negotiate a pay rate that suits the needs of both the graduate and the company.
The main objective of Data Stack Academy is to get our graduates employed in the field. We measure the success of the school by graduate employment rates, and are highly motivated to see our students succeed.
While our students are the primary contributor to their own success, the instructors for this course will support them with career services. During the course, students will be working with their instructors to prepare for internship and job interviews. After graduation, the instructors will continue to act as an advisor until the graduate finds a job. Post-graduation support includes guiding graduates through job listings, interviews, and salary negotiations. Career services are available for a year after graduation.
The last two weeks of the program are devoted to career preparation. Activities include:
After graduation, students are encouraged to apply for at least ten jobs per week. Advisors will guide the students and help them navigate job listings and interviews. If required, the advisors will conduct mock interviews to help prepare students and train them on how to highlight their valuable skills and personalities.
In addition, advisors will discuss jobs hacks with students in order to land their first jobs. These hacks include seeking positions at data consulting companies, searching for freelancing jobs, or talking with recruiters.
Data Stack Academy records daily lessons and makes these available to the public. By attending class, students consent to be recorded and have their image shared. If a student needs an exemption from this policy beyond turning off their camera, they must request it in writing.
Pairs are not allowed to record one another without explicit, documented permission.
The GitHub repository containing Data Stack Academy’s curriculum is private, and cannot be shared.
If a student has reported a grievance in writing and it hasn’t been addressed within 15 days, they can contact the Oregon Higher Education Coordinating Commission, as outlined below:
Students aggrieved by action of the school should attempt to resolve these problems with the appropriate school officials. Should this procedure fail students may contact:
Oregon Higher Education Coordinating Commission
Office of Post-Secondary Education
3225 25th Street SE
Salem, OR 97302
After consultation with appropriate Commission staff and if the complaint alleges a violation of Oregon Revised Statutes 345.010 to 345.470 or standards of the Oregon Administrative Rules 715-045-0001 through 715-045-0210, the Commission will begin the complaint investigation process as defined in OAR 715-045-0023 Appeals and Complaints.
Students may need to ask for accommodations or exceptions due to life circumstances or different learning styles, and we are happy to make reasonable accommodations. “Reasonable” might include deadline extensions, slowing the pace of a lecture, or scheduling extra mentoring sessions. Accommodations may not be made if they put undue burden on teachers, administrators, or fellow students, or if they preclude the student learning the material.
Requests for accommodations or exceptions must be made in writing, via email. If a student is requesting a deadline extension, it must be approved by the instructor ahead of time. Requests for extensions on code reviews should be sent by the end of the day the Wednesday before the assignment is due.
We understand the stress that comes with a career shift. Bootcamp can be overwhelming, and we highly encourage students to take care of their mental health. If a student needs academic support, outside resources, or accommodation around mental health concerns, they should reach out to a Data Stack staff member to collaborate on how we can best support them.
A certificate of completion will be awarded when the student successfully passes all coursework and completes their internship.
We also strongly encourage students to get external certifications, such as the ones provided by Google or Microsoft. We especially recommend Google Cloud’s Professional Data Engineering certification. Our curriculum has a heavy Google Cloud emphasis, so students are already well prepared for this certification.
A student may graduate up to three weeks early (after week 16 of the coursework) and still receive a certificate if they are offered a job in the field before the end of classes. They must state their request to graduate early in writing, via email to hello@datastack.academy. The student will be prorated tuition according to the number of weeks they attend class.
Our classes are conducted completely remotely. We use a number of tools to ensure our students collaborate and stay connected.
We require that students meet the following requirements to ensure that they have the proper hardware to excel in the program:
Note: A brand new MacBook Pro or similar laptops with these specs can be very pricey. We recommend buying used hardware and installing a Linux operating system.
There is a great Portland based non-profit called Free Geek that sells pre-owned laptops with Ubuntu pre-installed for affordable prices. This is also a great place to donate your old hardware.