Master Expert in Software Engineering
ESIEA - School of Engineering for a Useful Digital World
ESIEA is a French engineering school founded in 1958, accredited by the French Engineering Accreditation Commission (CTI). The school trains digital engineers capable of meeting current and future technological challenges. The 'Expert in Software Engineering' title is an RNCP Level 7 certification (equivalent to a Master's degree) certified by ESIEA. This program covers all the skills required to design, develop, test, secure, and manage complex software projects in a demanding professional environment.
Project-based learning approach combining in-depth theoretical knowledge with real-world business applications. Students work on professional-grade projects throughout their curriculum, covering the entire software development lifecycle: from architectural design to production deployment, including development, testing, and security. The program is designed to train experts capable of designing, developing, testing, securing, and managing complex software projects.
- Gather and analyze client needs, adopt a consulting approach by providing tailored software solutions
- Meet business expectations by delivering expected value, with the right quality, while controlling costs and deadlines
- Prototype, design, develop, deliver and maintain multi-platform software solutions
- Use artificial intelligence and massive data processing in the development of business applications
- Master essential programming languages and their corresponding development environments
- Secure web applications by applying OWASP recommendations and cybersecurity best practices
- Validate software quality through automated testing strategies, performance testing and continuous integration
43
topics
186
learning objectives
1,151
courses
738h
training hours
Block 1 - Client Relationship Management in Software Engineering
Functional Analysis of an IS Project
- Explain the role of functional analysis in an IS project
- Conduct a functional analysis (functional and non-functional requirements)
- Write a functional specifications document
- Translate requirements into user stories and technical tasks
Effectively Initiating an IS Project
- Analyze the structure and challenges of an information system
- Identify, evaluate, and prioritize IS projects
- Estimate costs, timelines, and resources for an IS project
- Leverage and build a business case
- Communicate and support change management around IS projects
IT Contract Law
- Apply legal principles of professional contracts (B2B)
- Identify intellectual property mechanisms applicable to IT solutions
- Detect essential clauses in software development or IT service contracts
- Identify and analyze contracts to secure the provision and use of IT solutions
- Understand legal risks specific to international contracts
UX and Wireframing
- Understand the challenges and scope of UX Design
- Discover the different stages of the methodology
- Identify users, their needs, expectations, and pain points
- Design an interface by using and assembling its constituent elements
- Test your project to identify areas for improvement
Design Thinking
- Apply design thinking methodology and user research techniques
- Stimulate creativity within a group and generate innovative ideas
- Master prototyping tools to bring solutions to life
- Test and iterate solutions with users to optimize their value proposition
- Design and facilitate collective intelligence workshops using facilitation techniques
Cross-Functional Management
- Implement key tools and behaviors of cross-functional management
- Adapt to different behavioral profiles to collaborate effectively
- Organize and coordinate a team without hierarchical authority
- Manage resistance and develop cross-functional leadership
Leading and Managing a Team
- Acquire tools and methods for effective team management
- Adapt management style based on profiles and situations
- Master communication techniques (NVC) and conflict management
- Activate individual and collective motivation levers
Block 2 - Software Engineering Project Management
Executing and Managing a Software Engineering Project
- Analyze and understand the project environment
- Choose and implement an appropriate execution framework
- Identify and estimate project work and resources
- Organize and sequence work execution
- Track and communicate on project progress
Advanced Agile Methods / Scrum
- Differentiate traditional approaches from agile and product approaches
- Master the Scrum framework: roles, artifacts, ceremonies, and estimation
- Organize a product backlog, write user stories, and plan a roadmap
- Apply Kanban and continuous improvement principles
Leadership and Management
- Understand leadership challenges in relation to management
- Discover self-awareness techniques that strengthen managerial leadership
- Develop interpersonal skills to drive team engagement
- Handle difficult situations (impostor syndrome, tensions, stress, sexism..)
Project Communication
- Know the fundamentals of project communication
- Understand how to develop an effective communication plan
- Identify essential communication tools in project mode
- Master end-of-project communication
Block 3 - Software Development
JavaScript: Introduction and Object-Oriented Programming
- Understand the use of JavaScript in front-end development
- Master the syntax and essential fundamentals of JavaScript
- Apply the basics of OOP (Object-Oriented Programming) common to all web languages
- Design code using JavaScript-specific methods
JavaScript: Event-Driven and Asynchronous Programming
- Manipulate the DOM structure of a web page
- Manipulate CSS stylesheets
- Practice event-driven and asynchronous programming
- Master the Fetch API
Developing Web Applications with TypeScript
- Master TypeScript types
- Implement controls with interfaces
- Structure a project with modules and namespaces
- Go further in object-oriented programming (OOP)
- Use TypeScript in different environments
Front-End Development Fundamentals with Angular
- Master the workings of an Angular application
- Apply Angular building blocks: Components, Services, and Directives
- Debug an Angular application
- Use observables
Advanced Front-End Development with Angular
- Create a complete Angular application
- Create and navigate between pages using the router
- Create complex forms using model-driven forms or template-driven forms
- Use pipes and create custom pipes
- Make HTTP requests (GET, POST..)
- Use interceptors
Mastering Java SE
- Develop Java classes
- Master the main language keywords
- Implement software layers using interfaces
- Use the Stream API and lambdas
- Understand the Maven tool, Lombok and Log4J libraries, and the JUnit framework
Developing in Java with Spring and Hibernate
- Master Jakarta Persistence and Hibernate for data persistence
- Develop an enterprise application with the Spring framework
- Design and expose a REST API with Spring Boot
- Document an API with Swagger and apply aspect-oriented programming
Advanced Git - GitHub and GitLab
- Master Git commands and concepts
- Master Pull Requests on GitHub
- Manage a project on GitLab
- Apply internal Git concepts
Mastering Docker and DevOps
- Understand Docker fundamentals
- Use Docker Compose tools to define and manage multi-container applications
- Deploy and manage applications using Docker Swarm
- Use continuous integration tools with Docker to automate deployment processes
Application Deployment
- Describe and execute application deployment
- Choose an appropriate deployment mode based on hosting type
- Prepare a web application and microservice deployment
- Account for security in application deployment
Kubernetes for Container Orchestration
- Understand Kubernetes fundamentals
- Master container foundations and demonstrate how Kubernetes facilitates their management
- Deploy a simple application in Kubernetes
- Create a service to expose an application in a cluster
- Use kubectl to monitor cluster state and retrieve logs
Mastering the Kotlin Language
- Master Kotlin fundamentals and syntax
- Apply object-oriented and functional programming in Kotlin
- Consume REST APIs and manipulate JSON data
- Manage asynchronous tasks with threads
Developing Android Mobile Applications in Kotlin
- Create a native Android application in Kotlin
- Design and manipulate graphical interfaces (RecyclerView, menus, themes)
- Consume REST APIs with Retrofit and the MVVM architecture
- Manage activity lifecycle, permissions, and errors
Building a REST API with Spring Boot
- Discover the REST API concept
- Learn to generate a Spring Boot project
- Know how to interact with a REST API as a client
- Document your API for comprehension
- Validate your data with annotations
Block 4 - Advanced Software Architecture Design
SOLID Principles in Java
- Identify clean code challenges
- Understand SOLID principles
- Implement SOLID principles in Java
Software Architecture
- Identify and compare main software architectures (monolithic, SOA, microservices, event-driven, data-centric)
- Evaluate use cases suited to each architecture type
- Implement a software architecture in Java
Complex Application Design with UML
- Produce source code from a class diagram
- Represent a complex scenario using a sequence diagram
- Illustrate a software architecture using a component diagram
- Create a deployment diagram
- Produce a package diagram from source code
Design Patterns in Java
- Know the 23 Gang of Four (GoF) design patterns
- Apply key creational design patterns in Java (Singleton, Factory, Abstract Factory)
- Apply key structural design patterns in Java (Adapter, Proxy, Composite, Facade, Decorator)
- Apply key behavioral design patterns in Java (Observer, Strategy, Iterator, Interpreter, Chain of Responsibility)
- Adapt one or more design patterns to real-world situations
Web Application Security
- Understand OWASP recommendations
- Know authentication methods for web applications
- Implement token-based authentication in Java with Spring Security
Advanced Algorithms
- Be able to compare two algorithms
- Improve an algorithm in terms of execution time
- Improve an algorithm in terms of memory usage
- Apply a problem-solving strategy
Functional Programming in Scala
- Understand fundamental concepts of functional programming
- Know how to use functions as values
- Master immutable data manipulation techniques
- Apply recursion and higher-order function concepts
- Use Scala to practice functional programming concepts
Distributed Architecture and Big Data
- Understand Big Data challenges
- Master relational & NoSQL storage: their guarantees and limitations
- Explore distributed systems characteristics
- Master batch processing fundamentals: MapReduce, Data Flow Engines (Spark..)
- Analyze real-time data with Streaming
NoSQL
- Compare relational and NoSQL database models
- Master NoSQL databases: key-value (Redis), column (Cassandra), document (MongoDB), graph (Neo4j)
- Design and manage databases in a distributed environment
- Understand load balancing, data consistency, and fault tolerance
Data Structures
- Understand non-linear structures through graph data structures
- Represent a graph in a programming language
- Traverse a graph
- Solve common problems using graphs
Application Test Plans
- Build and execute a test plan adapted to the development methodology
- Differentiate test types and choose a strategy adapted to the context
- Create and execute automated tests on appropriate environments
- Analyze application security and apply corrections based on OWASP recommendations
Introduction to Machine Learning
- Define machine learning and its components
- Be able to prepare data
- Know how to train and use a machine learning model
- Identify relevant machine learning use cases
Block 5 - English Language Proficiency Preparation
Business English
- Know how to greet, inform, and have an information form filled out
- Be able to communicate and master the basics of business English
- Handle customer complaints in writing
- Enrich and use specific and adapted vocabulary
Advanced Business English
- Improve Business English communication skills
- Develop advanced sales techniques and strategies
- Enhance cross-cultural communication skills for international business
- Apply B2B sales and account management skills
- Understand marketing and customer communication skills
Intermediate Business English
- Communicate effectively with colleagues, clients, or suppliers in English
- Discover methods to improve pronunciation and articulation in English
- Master effective presentation techniques in English to captivate the audience
- Understand client needs and reformulate them
- Formulate commercial proposals and respond to objections
English: TOEIC Preparation
- Get familiar with the TOEIC test format
- Identify grammar points to master and vocabulary to acquire
- Avoid TOEIC "traps"
- Maximize your TOEIC score with preparation tips and a practice TOEIC test
Block 6 - Preparatory and Reinforcement Modules
Human Resources English
- Design and adapt English communication strategies for complex and international HR situations
- Develop and enrich a specialized HR lexicon to precisely formulate HR policies and procedures in English
- Create HR messages and materials (emails, interviews, presentations) in English integrating linguistic and intercultural dimensions
- Produce coherent, clear, and credible HR communication adapted to multicultural audiences and varied organizational contexts
National rankings of French engineering schools (2024-2026)
| Rank | Specialty |
|---|---|
| 1 st | IT Specialty |
| 3 rd | Specialized IT Schools |
| 4 th | AI & Data Science |
| 5 th | Top 20 Post-Bac IT |
| 6 th | IT Engineering Schools |
| 10 th | General Post-Bac Rankings |
| 11 th | Post-Bac Engineering Schools |
| 13 th | Post-Bac General Engineering |
26 Technical Skill · 8 Soft Skill
Technical Skill
Design scalable software systems using architectural patterns such as layered architecture, hexagonal architecture, microservices, event-driven architecture, and CQRS.
Apply SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) and clean code practices for maintainable software.
Implement Gang of Four design patterns (Creational, Structural, Behavioral) to solve recurring design problems and build flexible, reusable object-oriented software.
Define and execute comprehensive testing strategies including unit testing, integration testing, end-to-end testing, TDD/BDD practices, and software quality assurance processes.
Secure web applications by applying OWASP Top 10 guidelines, implementing authentication/authorization, preventing injection attacks, XSS, CSRF, and conducting security audits.
Master JavaScript programming paradigms including object-oriented programming, event-driven architecture, asynchronous patterns (Promises, async/await), and modern ES6+ features.
Develop type-safe applications with TypeScript, leveraging advanced type systems, generics, decorators, interfaces, and integration with modern frameworks and build tools.
Program robust applications in Java SE, mastering core concepts such as collections, generics, streams, multithreading, I/O, and the JVM ecosystem.
Develop enterprise applications using Spring Framework (Boot, MVC, Security, Data) and Hibernate ORM for database persistence, transaction management, and RESTful API development.
Design and implement RESTful APIs following best practices including resource modeling, HTTP methods, status codes, authentication, versioning, documentation, and API security.
Containerize applications with Docker, create optimized images, manage multi-container environments with Docker Compose, and integrate DevOps practices for continuous delivery.
Apply advanced Git workflows including branching strategies (GitFlow, trunk-based), pull requests, code reviews, CI/CD integration, and collaboration on GitHub and GitLab platforms.
Apply advanced Agile and Scrum practices including sprint planning, backlog refinement, velocity tracking, retrospectives, and scaling frameworks for complex software projects.
Execute and pilot software engineering projects end-to-end, managing scope, timelines, budgets, deliverables, and stakeholder expectations throughout the project lifecycle.
Analyze and design efficient algorithms, understand computational complexity (Big O notation), and apply advanced data structures and algorithmic strategies to solve complex problems.
Model complex application designs using UML diagrams including class diagrams, sequence diagrams, use case diagrams, component diagrams, and deployment diagrams.
Build enterprise-grade front-end applications with Angular, including components, services, dependency injection, routing, reactive forms, RxJS observables, and state management.
Develop native Android applications using Kotlin, including UI design with Jetpack Compose, MVVM architecture, data persistence, API integration, and mobile-specific best practices.
Design and implement distributed systems and big data architectures using technologies such as Hadoop, Spark, Kafka, and distributed databases for large-scale data processing.
Work with NoSQL database systems including Redis (key-value), MongoDB (document), Cassandra (column-family), and Neo4j (graph), selecting the appropriate model for each use case.
Apply functional programming paradigms using Scala, including immutability, higher-order functions, pattern matching, monads, and functional approaches to concurrent programming.
Understand and apply machine learning fundamentals including supervised/unsupervised learning, neural networks, model evaluation, and integration of AI capabilities into software applications.
Gather and analyze client needs, model functional specifications, and translate business requirements into actionable software requirements using techniques such as use cases, user stories, and requirements traceability matrices.
Design user-centered interfaces through UX research, wireframing, prototyping, usability testing, and applying design principles to create intuitive and accessible digital products.
Develop and execute project communication strategies including stakeholder reporting, progress dashboards, risk communication, and team alignment techniques.
Understand IT contract law including SLAs, intellectual property, GDPR compliance, liability clauses, and legal frameworks governing software development and digital services.
Soft Skill
Lead and coach development teams through mentoring, delegation, motivation, performance feedback, and fostering a culture of continuous learning and professional growth.
Coordinate cross-functional teams, align diverse stakeholders, and manage transversal projects spanning multiple departments with different priorities and constraints.
Collaborate effectively within Agile teams through pair programming, code reviews, sprint ceremonies, knowledge sharing, and cross-functional teamwork practices.
Apply Design Thinking methodology to drive innovation, including empathy mapping, ideation, rapid prototyping, and iterative validation with end users.
Build and maintain trusted client relationships through IT consulting, needs analysis, solution proposals, and advisory services that align technology with business objectives.
Produce clear technical documentation, write effective project communications, create architectural decision records, and present complex technical concepts to diverse audiences.
Communicate effectively in professional English across technical documentation, presentations, meetings, and international collaboration with global development teams.
Navigate HR communication in international and multicultural contexts, including intercultural awareness, diversity management, and effective communication across cultural boundaries.
MagicPlaylist - Android Music Discovery & Playlist Generator
Native Android application generating music playlists from seed tracks via Shazam similarity data and exporting to Spotify - 5,666 lines of Kotlin, 22 Compose UI components, 5-strategy mapping pipeline, built in 2 days with AI-assisted development.
Collaborative Project Management Platform
Full-stack web application for team project management with JWT authentication, role-based access control, real-time dashboards, email notifications, and complete CI/CD pipeline - 30,555 lines of code, 12 user stories, 7 database tables, Docker Hub deployment.
GamesUP - Board Game E-Commerce Platform with ML Recommendations
Complete backend API for a board game e-commerce platform with KNN-based recommendation engine, JWT security, SOLID architecture, and 81% test coverage - 32.6K lines of code, 364 tests, 65+ REST endpoints, 4 Docker containers, built with Spring Boot 3, Python FastAPI, and Docker.







