Data Software Engineering
Striving to gain market-oriented knowledge and skills to jumpstart your career in IT? Apply for this program and shape your professional path with EPAM experts.
Program start

Do you have strong Python programming skills and want to start a career in Data Software Engineering? If so, this training program is what you need.

EPAM's Data Software Engineering Program consists of two stages, offering you a step-by-step approach to gaining in-depth knowledge in this direction.

By participating, you will have the opportunity to:

  • Gain expertise in software development technologies and Git;  
  • Dive into the capabilities of the leading public cloud platforms;  
  • Explore the design, development and maintenance of large data-volume software systems; 
  • Learn large-scale data handling technologies (Hadoop, Apache Spark, Kafka, etc.). 
What do we offer?
  • Education within an IT company - as a leading software engineering company, EPAM helps you explore emerging technologies and best practices, ensuring you are equipped with the market-oriented knowledge.
  • Top-notch learning materials - EPAM's curriculum is designed by Data experts with extensive project experience, validated in hundreds of training runs.
  • Practice-oriented approach - This comprehensive program focuses on providing you with hands-on experience and practical application of the concepts learned.
  • Deep dive into the specialization - Our graduates become highly skilled specialists ready to face complex technical challenges and work with the world's leading customers.
  • Support from experienced mentors - We will guide you through advanced training stages, covering your questions and sharing feedback on assigned tasks.
Training process

The program consists of two stages:

  • In the first stage, you will explore self-study materials at your convenience and complete assigned tasks with immediate automated feedback. Completing this stage usually takes ~3 months with ~10-12 hours of weekly engagement.
  • If you show good results and successfully pass a technical interview, you will be invited in the next stage. It usually lasts ~3 months, requires ~20 hours of weekly engagement and includes one-to-one meetings with EPAM experts.

Based on your demonstrated skills and available opportunities at EPAM, you will be able to join us and get hands-on experience at the forefront of the industry. 

What is required for training:
  • English speaking level from B1 (Intermediate) and higher;
  • Strong Python programming skills;
  • Practical experience in one of the additional languages (Java or Scala);
  • Solid knowledge of the Relational Database Management System (DBMS) theory;
  • Good command of Structured Query Language (DML/DDL/DCL/TCL);
  • Theoretical knowledge of DWH/Data Lake and one of the visualization tools;
  • Basic understanding of Linux, Docker and Kubernetes.
How to get started?
  1. Register on this page. Once you fill in all the required fields, you will get the confirmation with more details in your mailbox or notifications tab.
  2. Take the English test available in your profile. Complete it within 2 weeks after your registration and get a B1 (Intermediate) level or above to proceed. 
  3. Pass a preliminary technical test on Python within 2 weeks in "My applications" section after logging in on our website.
  4. Receive a link to the Learn platform and start studying. We will send it via email right after the successful tests completion and your application review.

Please check your mailbox regularly to make sure you get all important notifications.

What will you learn?

The first stage of the program will take ~3 months to complete (recommended time), during which you will dive into two training modules.

Module 1. Basic technical self-paced courses:


  • Version Controlling Concepts
  • Version Control Types
  • Branching, Merging and Conflict Solving

Software Development Methodologies

  • Software Development Model
  • Waterfall
  • Agile
  • Scrum
  • Kanban
  • Test-Driven Development

Cloud Overview

  • Cloud Core Concepts
  • Cloud Service Models
  • Cloud Ownership
  • Public Cloud Platforms Overview

Introduction to DevOps

  • Docker Image / Docker Container / Docker Hub
  • Kubernetes and Basic Concept
  • Continuous Integration, Continuous Delivery, Continuous Deployment
  • Virtual Machine / Container

Python Core

  • Data Types
  • Functions
  • Modules and Packages
  • Lists and Tuples
  • Queues and Stacks
  • Sets
  • Dictionaries
  • Conditional Execution
  • Loops
  • Error Handling Core

The completion of this module requires a score of at least 75%.

Module 2. Data Engineering introductory self-paced courses:

DB and SQL Fundamentals

  • DB Basics
  • TCL Statements (Transaction Control Language)
  • DML Statements (Data Manipulation Language)
  • DDL Statements (Data Definition Language)
  • DCL (Data Control Language)
  • SQL for Analysis

Data Modelling and Data Architecture

  • OLAP vs OLTP
  • Kimball and Inmon Approaches DWH Layers
  • Dimension. Types. SCD
  • Fact Table. Types
  • ETL and ELT


  • NoSQL vs RDBMS
  • CAP Theorem: No SQL Types
  • Spark Cassandra
  • MongoDB
  • HBase

Big Data / Data Lake Concept

  • Data Lake vs Data Warehouse: Key Differences

The completion of this module requires a score of at least 85%.

Technical Test

Based on the final test result and technical interview, we will invite you to the second stage, lasting ~3 months and covering the following topics:

  • Cloud (Azure or AWS)
  • Spark
  • Databricks
  • Kafka
  • Hadoop
  • Airflow
  • Elastic
  • Data Flow & Pipelining
  • Orchestration & Scheduling
Please read this info before registration:
  • This training is available only for Romanian citizens and people with EU work permits;
  • The training format is ongoing; however, registration may close within a year; 
  • This external course is not available for current EPAM employees. Feel free to contact your Training Coordinator or Resource Manager regarding other opportunities;
  • You have approximately 3 months to complete the training modules. In case we do not see progress during this time or you decide to drop, your application will be automatically cancelled.
Useful links
Data Software Engineering
Self-study · Online

Have any questions? Contact us

Contact Center