Architecture and Design: Core + Advanced Training Training Course
In this instructor-led live training, participants will master the foundational and advanced concepts of software architecture and design by engaging in a series of practical live-lab exercises and discussions.
Audience
- Software professionals
- Software designers
- Developers
Course Format
- A blend of lectures, discussions, exercises, and intensive hands-on practice
Note
- For customized training on this course, please contact us to arrange.
Course Outline
Architecture and Design – Core Training – 3 days
Introduction to Software Architecture and Design principles
Software Architecture Techniques
Security Architecture
Integration Architecture
Architecture Project – Group Assignment
Architecture and Design – Advanced Training – 3 days
Large Scale Software Design
Design for Serviceability
Role of modeling in architecture
Architecture Quality management
Enterprise Architecture
Cloud Architectures
Big Data Overview
Mobile and Social Networking
Latest trends in Microservices and API
Case Study
Summary and Conclusion
Requirements
- Software development experience
Open Training Courses require 5+ participants.
Architecture and Design: Core + Advanced Training Training Course - Booking
Architecture and Design: Core + Advanced Training Training Course - Enquiry
Architecture and Design: Core + Advanced Training - Consultancy Enquiry
Testimonials (1)
I liked the exercises that helped to open the mind and gain new insights into software architecture.
Gabriele - EAGLEPROJECTS S.p.A.
Course - Architecture and Design: Core + Advanced Training
Upcoming Courses
Related Courses
Creative Problem Solving with Gamification Techniques (Design Thinking)
14 HoursThis instructor-led, live training in Romania (online or onsite) is aimed at beginner-level to intermediate-level participants who wish to solve everyday workplace challenges through gamification techniques.
By the end of this training, participants will be able to:
- Understand the principles of Design Thinking and its application to problem-solving.
- Incorporate gamification techniques to foster engagement and innovation.
- Develop creative and practical solutions to common workplace issues.
- Collaborate effectively across teams to implement problem-solving strategies.
- Apply iterative approaches to refine solutions through feedback and experimentation.
Domain Driven Design: Concepts and Practices
21 HoursThis instructor-led, live training in Romania (online or onsite) is designed for intermediate developers, architects, and analysts seeking to learn and apply DDD concepts to their software projects.
By the end of this training, participants will be able to:
- Understand fundamental DDD concepts (bounded contexts, entities, etc.) and how to apply them.
- Apply strategic DDD to define and design the domain model, identify subdomains, and establish clear boundaries.
- Implement tactical DDD using patterns such as CQRS, factories, and event sourcing.
- Effectively refactor and modernize legacy systems using DDD techniques.
- Design and implement architectures oriented toward products, domains, and teams.
- Leverage Data Mesh to create a domain-oriented data platform that supports data discovery and governance.
Introduction to Domain Driven Design
14 HoursDomain Driven Design (DDD) is an approach for handling complex behaviors when developing software.
Domain-Driven Design: Concepts and Practices for Senior Developers
21 HoursDomain-Driven Design (DDD) is a software development approach that centers on designing systems around the business domain, leveraging a shared ubiquitous language along with strategic and tactical modeling techniques.
This instructor-led live training, available online or onsite, targets experienced senior developers looking to apply DDD principles to build robust, maintainable, and scalable systems.
Upon completing this training, participants will be able to:
- Identify and model core domain concepts using ubiquitous language and bounded contexts.
- Implement tactical DDD patterns, including entities, value objects, aggregates, repositories, and domain services.
- Create context maps and define strategic boundaries to manage complexity across microservices and teams.
- Integrate DDD practices into Agile teams and CI/CD workflows to enhance collaboration and delivery speed.
Course Format
- Interactive lectures and discussions.
- Extensive exercises and practical application.
- Hands-on implementation within a live-lab environment.
Customization Options
- To request customized training for this course, please contact us to arrange.
Design Patterns
14 HoursNumerous well-established design patterns are readily accessible to all. Often, the process involves adapting the nomenclature and applying the pattern within a specific technological context. This approach can save hundreds of hours that would otherwise be dedicated to design and testing phases. Training Goals This course has two primary objectives: first, to enable you to leverage widely recognized patterns, and second, to empower you to create and reuse patterns tailored to your organization. It aids in estimating how patterns can reduce costs, systematize the design process, and generate a code framework based on your specific patterns. Audience Software designers, business analysts, project managers, programmers, developers, operational managers, and software division managers. Course Style The course focuses on use cases and their relationship with a specific pattern. Most of the examples are explained in UML and in simple Java examples (the language can change if the course is booked as a closed course). It guides you through the sources of the patterns as well as showing you how to catalogue and describe patterns which can be reused across your organization.
Design Thinking: Empathize with Internal Clients
7 HoursDesign Thinking is a human-centric approach to problem-solving that utilizes empathy, definition, ideation, prototyping, and testing. This course version places significant emphasis on the Empathize phase, focusing on linking previously identified pain points to the actual needs of internal clients, while employing dynamic, collaborative activities to convert insights into actionable results.
This instructor-led live training, available online or on-site, is designed for teams and leaders at beginner to intermediate levels who wish to enhance their empathy capabilities, strengthen relationships with internal clients, and transform pain points into meaningful opportunities for improvement.
Upon completing this training, participants will be able to:
- Utilize empathy-based techniques to uncover and validate client needs.
- Convert mapped pain points into clear, actionable requirements.
- Participate in dynamic role-plays and simulations to practice client-centered conversations.
- Collaboratively redefine problem statements from the client’s viewpoint.
Course Format
- Interactive lectures and guided discussions.
- Dynamic, hands-on role-plays and empathy exercises.
- Group workshops for collaborative problem reframing.
Course Customization Options
- To request a customized version tailored to a specific internal process (e.g., procurement or equipment provisioning), please contact us to arrange.
Design Thinking: Empathize & Define for Internal Clients
7 HoursDesign Thinking is a human-centric methodology aimed at solving problems through empathy, definition, ideation, prototyping, and testing. By concentrating on the initial two phases—Empathize and Define—teams can gain a deeper understanding of their internal stakeholders and accurately pinpoint the issues that need resolution.
This instructor-led live training, available both online and onsite, is designed for beginner to intermediate-level teams and leaders who aim to strengthen their relationships with internal stakeholders, minimize resistance to change, and enhance operational efficiency through practical, collaborative approaches.
Upon completion of this training, participants will be able to:
- Apply active listening and interviewing skills to extract meaningful insights regarding internal stakeholders.
- Develop empathy maps to document user needs and pain points.
- Distinguish between actual root causes and perceived issues using tools such as the 5 Whys and problem trees.
- Formulate clear, actionable problem statements (POVs) to guide the solution development process.
Course Format
- Interactive lectures and discussions.
- Hands-on practical exercises and role-playing scenarios.
- Group workshops and plenary feedback sessions.
Customization Options
- For a customized version tailored to specific internal processes (e.g., procurement or equipment provisioning), please contact us to arrange.
Design Thinking Workshop for Software Developers
14 HoursIn this instructor-led, live workshop training in Romania (online or onsite), participants will learn how to apply the five stages of Design Thinking to better understand the problems experienced by end-users of a product or service, then develop the best approach for resolving them.
By the end of this training, participants will be able to:
- Use creative strategies to match customers' needs with technologically feasible solutions.
- Formulate a strategy to increase customer value and enhance product and service offerings.
Design Thinking: Innovation Methodologies
24 HoursThis instructor-led, live training in Romania (online or onsite) is designed for beginner to intermediate-level professionals who want to understand and apply Design Thinking methodologies to drive innovation and enhance business solutions.
By the end of this training, participants will be able to:
- Understand the core principles of Design Thinking and its role in innovation.
- Apply the five phases of Design Thinking to problem-solving.
- Utilize ideation techniques and tools to foster creativity.
- Implement Design Thinking strategies to improve processes and enhance efficiency.
Innovative Leadership through Design Thinking
14 HoursThis instructor-led, live training in Romania (online or onsite) is aimed at beginner-level leaders and HR professionals who wish to learn and apply Design Thinking methodologies to foster innovation, enhance problem-solving capabilities, and engage teams effectively.
By the end of this training, participants will be able to:
- Equip participants with tools and methodologies to foster innovation and team engagement.
- Develop skills in empathy mapping, ideation, and prototyping for solving complex challenges.
- Apply Design Thinking principles to leadership and HR scenarios.
- Promote a culture of innovation within tech teams.
Design Thinking: Innovation & Creative Problem Solving
4 HoursOverview:
The Design Thinking (DT) process comprises five distinct stages: empathize, define the problem, ideate, prototype, and test.
In today's increasingly complex world, we encounter challenges that often require specialized approaches. Design Thinking provides the framework to tackle these complex issues. By mastering Design Thinking, you can effectively address difficult problems, enhance communication, persuade more efficiently, improve business outcomes, and elevate both organizational and personal performance and behavior.
- How DT functions: learn from people and the problem, identify patterns, design a model (model drift), test the model, evaluate it, and re-engineer.
- The relationship between DT, innovation, and entrepreneurship.
- DT methods and tools: persona, stakeholder map, customer journey map, service blueprint, business model innovation.
- Application of DT: design mindset, disruptive innovation, iterative approach, agile estimation technique, critical thinking, problem solving, teamwork, leadership readiness, communication skills, technology savvy, forward thinking, intercultural and ethical competency, emotional intelligence, self-awareness, negotiating skills, conflict resolution.
Objectives:
- To grasp the fundamentals and nuances of DT.
- To explore key concepts, factors, theories, types, and models in DT.
- To experiment with, experience, and practice DT.
Delivery:
This is a 1-day (4-hour) training course consisting of:
- lectures (40% - presentation of theories, concepts, models, and interactions),
- group exercises (30% - group dynamics, games, group discussion, and mock-conflict resolution exercises),
- individual activities (15% - writing, designing and peer discussion)
- and others (15% - videos, reading).
Note: due to the nature of this course there is a minimum group size of 3
Design Patterns in C#
14 HoursTarget Audience:
Technical Team Leaders, Software Developers
Learning Objectives:
The objective of this training is to develop the capability to design advanced development and project structures in C#.
Throughout the course, students will become proficient with MSDN resources and tools that support the development process, such as Microsoft Visual Studio and ReSharper.
Design Patterns (GoF) for Java
21 HoursThis instructor-led, live training in Romania (online or onsite) is aimed at intermediate-level Java developers who wish to apply design patterns to improve software structure, maintainability, and scalability.
By the end of this training, participants will be able to:
- Understand the purpose and benefits of design patterns.
- Apply Creational, Structural, and Behavioral patterns effectively in Java.
- Improve code reusability, scalability, and maintainability.
- Refactor existing codebases using design patterns.
Design Patterns in PHP
14 HoursThis instructor-led, live training in Romania (online or onsite) is aimed at intermediate-level PHP developers who wish to apply design patterns effectively in their projects.
By the end of this training, participants will be able to:
- Understand the purpose and benefits of design patterns.
- Identify and implement appropriate design patterns for common scenarios.
- Structure PHP applications using industry-recognized best practices.
- Integrate patterns into modern frameworks such as Symfony or Zend.
JavaScript - Advanced Programming
14 HoursThis training program is tailored for JavaScript developers who are tasked with designing and implementing sophisticated web applications. The curriculum focuses on introducing best practices in JavaScript development while highlighting common pitfalls to avoid. A key emphasis is placed on exploring object-oriented programming techniques within the context of JavaScript's syntax.