Inform me about the next edition >

The next opening in October.

Most asked questions

What I will be capable of by the end of the course?

After 12 weeks you should be able to:
  • understand scalability in data distributed system
  • design data systems
  • know the most important patterns of modern data architectures
  • understand globally data concepts and use that to understand existing data frameworks and data stores
  • write batch and streaming pipelines with modern data frameworks and data stores
  • switch faster to cloud managed services

How long do I have access to this course?

You get a lifelong access to the course, including all updates.

Can I follow the course at my own pace?

Yes, you can organize your learning plan as you want. The course is divided into 12 Weeks for easier presentation of the content but it doesn't mean that you have to terminate it after 12 weeks.

How long every week takes?

Except Weeks 0 and 12, every week has between 70 and 138 minutes of the recorded lessons.

What do I need to follow the course?

Time and motivation. The content tries to cover as many data engineering parts as possible so it will require a strong motivation. And technically, if you want to make the homework exercises, you should be able to write some code (preferably in Python, Scala or Java), and execute Docker images on your computer.

What about the code snippets?

Most of the code snippets are written in Scala, Java and Python. However, they use very basic concepts of these languages, so even if you don't know any of them, you should be able to understand the examples.

What if I'm not satisfied with the course?

If for any reason the course doesn't satisfy you, we will issue a refund. The guarantee is valid for 21 days from the purchase date.

Will I get an invoice?

Yes, just let me know on For the EU users, I cannot include the VAT in my price, so don't have the EU VAT number neither.

Do you have a group offer?

YES! If you have a team of 3 people or more, contact me at and you will get a 15% discount!

Can I pay for the course in installments?

It's too complicated logistically, I prefer one-time payment.

How can I communicate with you?

The content and all public communication will be in English but if something is unclear I can explain it in French or Polish in private. Just let me know 😀

How can I ask a question?

Please create a new topic on our user group. The idea of open questions and transparency is to share this extra knowledge with all the class.

How will I get an access to the course?

After the confirmation of your payment I will send you an e-mail with all details to access the learning platform.

What is the difference between a class and 1-on-1 call?

An 1-on-1 call is the call between you and me whereas a class call is the call with other students.

How to join a class live calls?

Every 3 weeks I will send you the link to the class Live Call.

When the class live will happen?

On Saturday at 5PM UTC. If it's too late for your timezone, and you're not alone in this situation, I will propose you another schedule on Saturday before noon (UTC).

How to join an 1-on-1 live call?

You have to write me a message that you need one and we'll find a schedule that fits for both of us.

Can you add new content?

If you think that there is something missing in the schedule, please contact me at and I will try to add this topic. You have lifetime access to the course, so you will see this and other updates.

What do I need to make the homework exercises?

You should be able to run Docker images and use an IDE. I will give all my examples on IntelliJ and PyCharm so having the same tools will facilitate the troubleshooting.
I will give the examples in Scala or Python but you can do the homework exercises in any language you want.

What is the format of the course?

Most of the time you will see me explaining concepts with a blackboard. From time to time I will hide myself and show you me screen to explain data concepts with some code or slides.

What I will code during the course?

You've just joined data engineering team at MyBlogAnalytics and you were asked to implement different data pipelines with Apache Spark, Apache Kafka, Apache Airflow and PostgreSQL, preferably with Python or Scala.
During your first week you will have to implement a data ingestion part, i.e. move the data from your consumers to the system.
Just after that you'll implement an analytical pipeline and make it visible to the end and not technical users.
By the end of your mission, you'll expose your data through an API to other technical departments of your company. You'll also collaborate with the data scientists of your team to create a Machine Learning pipeline.

Do I have to do all the homework exercises in order?

No. Even though the homework announcements are logically connected, they don't have to be made in order. For example, you can start with a homework of the Week 5 and go back to the Week 1 later.

What is the format of the homework exercises?

There are 3 tasks categories: conceptual work where I will ask you to define some architectures, coding exercises where I will ask you to implement one component of our system, and open questions where I will ask you to do some research before answering.
Every week's homework is composed of 2 parts called "main" and "bonus". To move forward you should at least terminate the "main" part and if you're in trouble, you can always ask on our user group or during a call for some help.

How you will review my homeworks?

Most of the time you will have to create a Pull Request on Github and send me the link with your solution. From time to time, I will give you a feedback on the forum but it's limited to the conceptual tasks, just to spread the knowledge. If you don't want to play the game, you can still submit me the homework as a Pull Request from your Github private project.

Do you review the homework of Basic plan?

The homework exercises for the Basic plan are not reviewed.

How can you help me if I don't know how to start the homework?

I will answer your message on our user group. For every coding homework I also prepared a video and a PDF document explaining a possible solution. You can use it as an inspiration.

Will I learn Apache Spark internals?

No, the course is not intended to deep delve into Apache Spark internals but rather to show how to use it in data projects. But I will also do my best to answer any question related to your homework or a concept described in the course.

Where I can find the answers to my question?

If I cannot provide a satisfactory answer during our call, I will put it on our user group, as well for 1-on-1 and class calls. All questions are anonymous, so on the user group you will only see the question and my answer.

How long I can access the user group?

If the user group is included in your plan (Community or Community+), you have the access to the user group as long as the course will be online.

Why the number of Community+ accesses is restricted?

To give the best experience for the students, at every opening only few access of that type are proposed.

Inform me about the next edition >

The next opening in October.

Still some questions? Contact me

If you are still wondering if this course is for you, write to me and describe your doubts. I will try and answer your questions.
My email: