Architecture and Design: Core + Advanced Training Training Course
Through this instructor-led, live training, participants will gain a deep understanding of both foundational and advanced concepts in software architecture and design. The curriculum is structured around a series of practical live-lab exercises and interactive discussions.
Target Audience
- Software professionals
- Software designers
- Developers
Course Format
- A balanced mix of lectures, discussions, exercises, and extensive hands-on practice
Important Note
- For those seeking a customized training program for this course, please reach out to us to make arrangements.
Course Outline
Architecture and Design – Core Training (3 Days)
Introduction to fundamental principles of Software Architecture and Design
Essential techniques in Software Architecture
Foundations of Security Architecture
Principles of Integration Architecture
Architecture Project – Collaborative Group Assignment
Architecture and Design – Advanced Training (3 Days)
Strategies for Large-Scale Software Design
Designing for Serviceability
The critical role of modeling in architecture
Managing quality within architecture
Insights into Enterprise Architecture
Exploration of Cloud Architectures
Overview of Big Data concepts
Mobile and Social Networking landscapes
Current trends in Microservices and API development
In-depth Case Study
Summary and Conclusion
Requirements
- Experience in software development
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 Bulgaria (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 Bulgaria (online or in-person) is designed for intermediate-level developers, architects, and analysts who wish to learn and apply DDD concepts and practices 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 in software projects.
- Apply strategic DDD to define and design the domain model, identify subdomains, and establish 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 focused on products, domains, and teams.
- 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 methodology aimed at managing complex behaviors during software development.
Domain-Driven Design: Concepts and Practices for Senior Developers
21 HoursDomain-Driven Design (DDD) is a software development methodology that focuses on constructing systems based on the core business domain, leveraging a shared ubiquitous language along with strategic and tactical modeling techniques.
This instructor-led live training, available online or on-site, is designed for senior developers with advanced expertise who aim to implement DDD principles to build robust, maintainable, and scalable systems.
Upon completion of this training, participants will be able to:
- Identify and model essential domain concepts using ubiquitous language and bounded contexts.
- Apply tactical DDD patterns, including entities, value objects, aggregates, repositories, and domain services.
- Design context maps and establish strategic boundaries to manage complexity across microservices and cross-functional teams.
- Integrate DDD practices into Agile teams and CI/CD pipelines to enhance collaboration and delivery efficiency.
Course Format
- Interactive lectures and discussions.
- Extensive exercises and practical application.
- Hands-on implementation within a live laboratory environment.
Course Customization Options
- To request a customized training session for this course, please contact us to arrange details.
Design Patterns
14 HoursNumerous proven patterns are readily accessible to everyone. Often, the process simply involves renaming them and applying the pattern within a specific technology. This approach can save hundreds of hours that would otherwise be devoted to design and testing. Course Objectives This course aims to achieve two goals: first, it enables you to reuse widely recognized patterns; second, it allows 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. Target Audience Software designers, business analysts, project managers, programmers and developers, as well as operational managers and software division managers. Course Format 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-centered methodology for solving problems through empathy, definition, ideation, prototyping, and testing. This version of the course places a strong emphasis on the Empathize stage, focusing on connecting previously identified pain points to the real needs of internal clients, and applying dynamic, collaborative activities to transform insights into actionable outcomes.
This instructor-led, live training (online or onsite) is aimed at beginner-level to intermediate-level teams and leaders who wish to deepen their empathy skills, strengthen relationships with internal clients, and translate pain points into meaningful opportunities for improvement.
By the end of this training, participants will be able to:
- Apply empathy-based techniques to uncover and validate client needs.
- Translate mapped pain points into clear, actionable needs.
- Engage in dynamic role plays and simulations to practice client-centered conversations.
- Collaboratively redefine problem statements from the client’s perspective.
Format of the Course
- Interactive lecture 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 approach to problem-solving that relies on 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 core issues that need resolution.
This instructor-led live training, available both online and onsite, is designed for beginner to intermediate-level teams and leaders aiming to strengthen their relationships with internal clients, minimize resistance to change, and enhance operational efficiency through practical and collaborative methods.
Upon completing this training, participants will be equipped to:
- Employ active listening and interviewing techniques to collect valuable insights about internal clients.
- 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) that direct the solution process.
Course Format
- Interactive lectures and discussions.
- Practical, hands-on 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 Bulgaria (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 guided, live training in Bulgaria (online or in-person) is intended for beginner to intermediate-level professionals seeking to understand and apply Design Thinking methodologies to stimulate innovation and enhance business solutions.
By the conclusion of this training, participants will be able to:
- Comprehend 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 Bulgaria (online or in-person) is designed for 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
4 HoursOverview:
The Design Thinking (DT) methodology is structured around five distinct stages: empathizing, defining the problem, ideating, prototyping, and testing.
In an increasingly complex global landscape, we frequently encounter challenges that demand specialized strategies. Design Thinking provides the framework to address these complexities. By mastering this approach, individuals can effectively resolve intricate problems, enhance communication and persuasion skills, drive better business outcomes, and improve both organizational and personal performance and behavior.
- How DT operates: learning from people and the problem, identifying patterns, designing the model (including model drift), testing the model, evaluating its effectiveness, and re-engineering as necessary.
- The relationship between DT, innovation, and entrepreneurship.
- DT methods and tools: personas, stakeholder maps, customer journey maps, service blueprints, and business model innovation.
- Application of DT: cultivating a design mindset, driving disruptive innovation, utilizing an iterative approach, employing agile estimation techniques, critical thinking, problem-solving, teamwork, leadership readiness, communication skills, technological savvy, forward-thinking, intercultural and ethical competency, emotional intelligence, self-awareness, negotiation skills, and conflict resolution.
Objectives:
- To grasp the fundamentals and nuances of DT.
- To explore key concepts, factors, theories, types, and models within DT.
- To experiment with, experience, and practice DT.
Delivery:
This one-day (4-hour) training course comprises:
- Lectures (40% - presentation of theories, concepts, models, and interactive discussions),
- Group exercises (30% - focusing on group dynamics, games, discussions, and mock conflict resolution),
- Individual activities (15% - writing, designing, and peer discussion),
- And supplementary materials (15% - videos and reading).
Note: Due to the interactive nature of this course, a minimum group size of 3 participants is required.
Design Patterns in C#
14 HoursTarget audience:
Technical Team Leaders, Software Developers
Learning objectives:
This training aims to equip participants with the skills needed to design sophisticated development and project structures in C#.
Throughout the course, students will become proficient in using MSDN resources and development tools such as Microsoft Visual Studio and ReSharper to streamline the development process.
Design Patterns (GoF) for Java
21 HoursThis instructor-led, live training Bulgaria (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 Bulgaria (online or onsite) is designed for intermediate PHP developers who want to effectively apply design patterns within their projects.
Upon completion of this training, participants will be able to:
- Grasp the purpose and advantages of using design patterns.
- Identify and implement suitable design patterns for common scenarios.
- Organize PHP applications following 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 who specialize in designing and implementing advanced web applications. The curriculum focuses on disseminating best practices in JavaScript programming while highlighting common pitfalls. A key emphasis of the course is exploring object-oriented programming concepts within the context of JavaScript syntax.