Architecture and Design: Core + Advanced Training Training Course
In this instructor-led, live training, participants will learn the foundational and advanced concepts of software architecture and design as they step through a series of hands-on live-lab exercises and discussions.
Audience
- Software professionals
- Software designers
- Developers
Format of the Course
- Part lecture, part discussion, exercises and heavy hands-on practice
Note
- To request a customized training for 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 – Advance 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 Serbia (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 Serbia (online or in-person) is designed for intermediate-level developers, architects, and analysts who want to learn and apply DDD concepts and practices to their software projects.
Upon completion of this training, participants will be able to:
- Understand fundamental DDD concepts, such as bounded contexts and entities, and their application in software projects.
- Apply strategic DDD to define and design the domain model, identify subdomains, and establish clear boundaries.
- Implement tactical DDD using patterns like CQRS, factories, and event sourcing.
- Effectively refactor and modernize legacy systems using DDD techniques.
- Design and implement architectures that are product-focused, domain-oriented, and team-aligned.
- Leverage Data Mesh to build a domain-oriented data platform that supports data discovery and governance.
Introduction to Domain Driven Design
14 HoursDomain-Driven Design (DDD) is a robust software development methodology that emphasizes modeling complex behaviors by aligning technical implementation with core business concepts. This course examines how DDD assists teams in managing complexity and mitigating risk through strategic and tactical patterns. Participants will learn to establish a 'Ubiquitous Language', define clear boundaries via Bounded Contexts, and utilize specific architectural building blocks such as Entities, Value Objects, and Aggregates. The primary objective is to develop flexible, maintainable software architectures that stay consistent with the evolving business domain.
Domain-Driven Design: Concepts and Practices for Senior Developers
21 HoursDomain-Driven Design (DDD) is a software development approach that focuses on designing systems around the business domain, leveraging a shared ubiquitous language along with tactical and strategic modeling techniques.
This live training, led by an instructor and available either online or onsite, is designed for advanced senior developers who want to apply DDD principles to create robust, maintainable, and scalable systems.
Upon completing this training, participants will be able to:
- Identify and model core domain concepts using a ubiquitous language and bounded contexts.
- Implement tactical DDD patterns, including entities, value objects, aggregates, repositories, and domain services.
- Design context maps and strategic boundaries to manage complexity across teams and microservices.
- Integrate DDD practices into Agile teams and CI/CD workflows to enhance collaboration and delivery efficiency.
Course Format
- Interactive lectures and discussions.
- Numerous exercises and practical activities.
- Hands-on implementation within a live-lab environment.
Customization Options
- To request customized training for this course, please contact us to make arrangements.
Design Patterns
14 HoursNumerous proven patterns are readily accessible to everyone. Often, the key lies in adapting their names and applying them within a specific technology. This approach can save hundreds of hours that would otherwise be devoted to design and testing phases. Training Goals This course has two primary goals: first, it enables you to reuse well-established patterns, and second, it empowers you to create and reuse patterns tailored to your organization. It helps you estimate how patterns can reduce costs, systematize the design process, and generate a code framework based on your patterns. Audience Software designers, business analysts, project managers, programmers, and developers, as well as 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 relies on empathy, definition, ideation, prototyping, and testing. This course variant places significant emphasis on the Empathize phase, aiming to link identified pain points with the genuine requirements of internal stakeholders. It utilizes dynamic, collaborative activities to convert insights into tangible results.
This instructor-led, live training (available online or onsite) targets beginner to intermediate teams and leaders who want to enhance their empathy capabilities, strengthen relationships with internal clients, and convert 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.
- Translate 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.
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-centered approach to problem-solving that leverages 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 clients and accurately identify the problems that require resolution.
This instructor-led live training, available both online and onsite, targets beginner to intermediate-level teams and leaders who aim to strengthen their relationships with internal clients, minimize resistance to change, and enhance operational efficiency through practical, collaborative techniques.
Upon completion of this training, participants will be capable of:
- Employing active listening and interviewing skills to extract meaningful insights about internal clients.
- Developing empathy maps to document user needs and pain points.
- Distinguishing between genuine root causes and perceived issues using tools such as the 5 Whys and problem trees.
- Formulating clear, actionable problem statements (POVs) to direct solution development.
Course Format
- Interactive lectures and discussions.
- Hands-on practical exercises and role-playing scenarios.
- Group workshops and plenary feedback sessions.
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 Workshop for Software Developers
14 HoursIn this instructor-led, live workshop training in Serbia (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 Serbia (online or onsite) is designed for beginner to intermediate professionals seeking 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 Serbia (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) framework is composed of five distinct stages: empathizing, defining the problem, ideating, prototyping, and testing.
In our increasingly complex world, we frequently encounter challenges that require specialized approaches. Design Thinking provides a robust method for tackling these complex issues. By mastering design thinking, individuals can address complex problems more effectively, communicate with greater clarity, persuade more efficiently, improve business outcomes, and enhance both organizational and personal performance and behavior.
- Understanding DT: Learning from people and problems, identifying patterns, designing a model (including model drift), testing the model, evaluating it, and re-engineering as needed.
- Exploring the relationship between Design Thinking, innovation, and entrepreneurship.
- Key DT methods and tools: including personas, stakeholder maps, customer journey maps, service blueprints, and business model innovation.
- Practical applications of DT: cultivating a design mindset, fostering disruptive innovation, adopting an iterative approach, utilizing agile estimation techniques, enhancing critical thinking and problem-solving skills, improving teamwork and leadership readiness, strengthening communication and technological proficiency, encouraging forward-thinking and intercultural/ethical competence, developing emotional intelligence, self-awareness, negotiation skills, and conflict resolution abilities.
Objectives:
- To gain a solid understanding of the fundamentals and nuances of Design Thinking.
- To explore key concepts, factors, theories, types, and models within DT.
- To experiment with, experience, and practice Design Thinking firsthand.
Delivery Method:
This is a one-day (4-hour) training course structured as follows:
- Lectures (40% - covering the presentation of theories, concepts, models, and interactive discussions),
- Group exercises (30% - focusing on group dynamics, games, group discussions, and mock conflict resolution),
- Individual activities (15% - involving writing, designing, and peer discussions)
- Additional materials (15% - including videos and reading assignments).
Note: Due to the interactive nature of this course, a minimum group size of 3 participants is required.
Design Patterns (GoF) for Java
21 HoursThis instructor-led, live training in Serbia (online or onsite) is designed for intermediate Java developers seeking to apply design patterns to improve software structure, maintainability, and scalability.
Upon completion of this training, participants will be able to:
- Grasp the purpose and advantages of using design patterns.
- Effectively apply Creational, Structural, and Behavioral patterns in Java.
- Enhance code reusability, scalability, and maintainability.
- Refactor existing codebases by employing design patterns.
Design Patterns in PHP
14 HoursThis instructor-led live training in Serbia (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 is tailored for JavaScript developers focused on designing and implementing sophisticated Internet applications. The curriculum emphasizes best practices in JavaScript programming while addressing common pitfalls. A key objective is to explore object-oriented programming concepts within the context of JavaScript syntax.
Kubernetes Design Patterns
21 HoursThe rapid evolution of microservices and container technologies in recent years has fundamentally transformed the way software is designed, developed, deployed, and operated. Modern applications need to be optimized for scalability, elasticity, fault tolerance, and adaptability. To meet these evolving demands, contemporary architectures require a distinct set of patterns and best practices. This training explores methods for identifying, understanding, and adapting to these new requirements.
Audience
This course is designed for professionals who possess a foundational knowledge of container technology and Kubernetes concepts but may lack hands-on, real-world experience. It draws on use cases and lessons learned from actual projects, aiming to inspire participants to design and manage superior cloud-native applications.
- Developers
- Operations staff
- DevOps engineers
- QA Engineers
- IT Project Managers
Course Format
- Interactive lectures and discussions
- Extensive exercises and practical work
- Hands-on implementation within a live-lab environment
Customization Options
- For requests regarding customized training for this course, please contact us to arrange details.