Most asked questions

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

You should be able to:
  • design data systems
  • know the most important patterns of modern data architectures
  • know and implement the most common tasks of data engineers
  • 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

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 11 separate modules so that you can start a new one whenever you want.

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 5 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.

How can I ask a question?

If something is badly explained, please write at . If you need a dedicated session, it's not included. But we can have a chat about it if write an email at .

How will I get an access to the course?

After the confirmation of your payment you will get a direct access to the selected module(s). Within 48 hours I will send you an email with the access information to the Github repo.

Can you add new content?

If you think that there is something missing in the schedule, please write 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?

Mixed format of slides and demos.

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 Module 5 and go back to the Module 3 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.

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

For every coding homework I prepared a PDF document and a code 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.

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: