Online or onsite, instructor-led live Software Design training courses demonstrate through interactive discussion and hands-on practice the fundamentals of Software Design.
Software Design training is available as "online live training" or "onsite live training". Online live training (aka "remote live training") is carried out by way of an interactive, remote desktop. Onsite live Software Design training can be carried out locally on customer premises in Sofia or in NobleProg corporate training centers in Sofia.
NobleProg -- Your Local Training Provider
Crystal Business Center
ул. "Осогово" 40, Sofia, Bulgaria, 1303
Crystal Business Center is located in the central part of Sofia, on the corner of "Osogovo" street. and "Todor Aleksandrov" blvd. The building is easily accessible by metro (only 50 m from Opalchenska station) and other public transport. Its total area is 8000 sq.m. The office area is 6171 sq.m.
Design 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 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.
This guided, live training in Sofia (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.
This instructor-led, live training in Sofia (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 (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.
This instructor-led live training in Sofia (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.
This instructor-led live training in Sofia (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.
This instructor-led, live training Sofia (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.
This instructor-led, live training in Sofia (online or onsite) is aimed at beginner to intermediate-level software and systems designers who wish to get a structured and comprehensive understanding of Sparx Enterprise Architect.
By the end of this training, participants will be able to:
Navigate and effectively use Sparx Enterprise Architect, understanding its interface and tools.
Model various business structures including organization charts, processes, and systems using different diagrams.
Implement change tracking, version control, and team collaboration strategies within Sparx EA.
Utilize advanced Sparx EA features like modeling with stereotypes, customization, and task automation.
The rapid advancement of microservices and container technologies in recent years has fundamentally transformed the way we design, develop, deploy, and operate software. Contemporary applications must be engineered to optimize scalability, elasticity, resilience against failures, and adaptability to change. To meet these evolving demands, modern architectures necessitate a distinct set of patterns and practices. This training explores methods to identify, comprehend, and adapt to these new requirements.
Audience
This course is designed for individuals who possess a moderate understanding of container technology and Kubernetes concepts but may lack practical, real-world experience. Based on use cases and lessons learned from actual projects, the training aims to inspire participants to create and manage even more effective cloud-native applications.
Developers
Operations
DevOps
QA Engineers
IT Project Managers
Course Format
Interactive lectures and discussions
Extensive exercises and hands-on practice
Practical implementation in a live lab environment
Course Customization Options
To request customized training for this course, please contact us to make arrangements.
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.
The core objective of these training sessions and workshops is to equip participants with the knowledge, tools, and techniques necessary to enhance the effectiveness of activities aimed at identifying business value. This approach aligns with the client's specific needs and fosters consensus among functions, technology, and quality teams during the requirements creation process through brainstorming techniques.
Course Format
Interactive lectures and discussions.
Extensive exercises and practical application.
Hands-on implementation within a live-lab environment.
Course Customization Options
To arrange customized training for this course, please contact us.
Domain-Driven Design (DDD) is a robust software development methodology that emphasizes modeling intricate software behaviors by synchronizing technical execution with essential business concepts. This course examines how DDD enables teams to manage complexity and mitigate risk through strategic and tactical patterns. Participants will acquire the skills to construct a "Ubiquitous Language," establish clear boundaries via Bounded Contexts, and leverage specific structural elements such as Entities, Value Objects, and Aggregates. The primary objective is to develop flexible and maintainable software architectures that remain aligned with the evolving business domain.
Numerous 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.
In this instructor-led, live workshop training in Sofia (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.
The Design Thinking (DT) methodology comprises five distinct stages: empathize, define the problem, ideate, prototype, and test.
In today's increasingly complex landscape, we frequently encounter challenges that demand specialized strategies. Design Thinking provides the framework to navigate these complexities. By mastering design thinking, you can address intricate issues more effectively, enhance communication, persuade with greater efficiency, drive better business outcomes, and improve both organizational dynamics and individual performance.
Understanding DT Mechanics: Learn from stakeholders and problems, identify patterns, develop a design model (monitoring model drift), test the model, evaluate results, and re-engineer as necessary.
The Interplay of DT, Innovation, and Entrepreneurship.
DT Methodologies and Tools: Persona development, stakeholder mapping, customer journey mapping, service blueprints, and business model innovation.
Practical Application of DT: Cultivating a design mindset, fostering disruptive innovation, utilizing an iterative approach, applying agile estimation techniques, sharpening critical thinking and problem-solving skills, enhancing teamwork and leadership readiness, improving communication, leveraging technology, practicing forward thinking, demonstrating intercultural and ethical competency, boosting emotional intelligence, self-awareness, negotiation skills, and conflict resolution abilities.
Objectives:
To grasp the fundamental principles and subtleties of DT.
To explore core concepts, influencing factors, theories, types, and models within DT.
To experiment with, experience, and practice DT methodologies.
Delivery Format:
This intensive one-day training (4 hours) includes:
Lectures (40% - delivery of theories, concepts, models, and interactive discussions),
Group exercises (30% - group dynamics, gamification, group discussions, and simulated conflict resolution),
Individual activities (15% - writing, design tasks, and peer feedback),
Other resources (15% - videos, readings).
Note: Due to the interactive nature of this course, a minimum group size of 3 participants is required.
This instructor-led, live training in Sofia (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.
This guided, live training session, available online or in-person, is designed for C developers looking to master the fundamental principles of embedded C design.
Upon completion of this course, participants will be equipped to:
Grasp the design considerations essential for creating reliable embedded C software
Articulate the specific functions of an embedded system
Establish the necessary program logic and structure to achieve intended outcomes
This 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.
Kubernetes is an open-source platform for automating all development stages of containerized applications. Design patterns are iterable solutions to software development problems pertinent to software design. Kubernetes extensions are utilized for configuring and supporting Kubernetes clusters. With the help of Kubernetes design patterns and extensions, users of the platform can achieve CI/CD approaches while maintaining scalability and flexibility of software applications.
This instructor-led, live training (online or onsite) is aimed at developers and DevOps engineers who wish to leverage Kubernetes design patterns and extensions to create enterprise applications on Kubernetes clusters.
By the end of this training, participants will be able to:
Set up a Kubernetes cluster and configure the necessary DevOps tools.
Understand the fundamentals of software design patterns and Kubernetes extensions.
Utilize Kubernetes extensions and design patterns when interacting with Kubernetes API.
Develop customized Kubernetes resources and apply dynamic controllers to a cluster.
Manage and secure any Kubernetes environment with the help of Kubernetes plugins.
Integrate DevOps networking models to existing and prospective Kubernetes projects.
Format of the Course
Interactive lecture and discussion.
Lots of exercises and practice.
Hands-on implementation in a live-lab environment.
Course Customization Options
To request a customized training for this course, please contact us to arrange.
Model-Based Development (MBD) is a software development methodology that enables faster, more cost-effective development of dynamic systems such as control systems, signal processing and communication systems. It relies on graphic modeling rather than the traditional text based programming.
In this instructor-led, live training participants will learn how to apply MBD methodologies to reduce development costs and accelerate the time to market of their embedded software products.
By the end of this training, participants will be able to
Select and utilize the right tools for implementing MBD.
Use MBD to carry out rapid development in the early stages of their embedded software project.
Shorten the release of their embedded software into the market.
Format of the course
Part lecture, part discussion, exercises and heavy hands-on practice
This course is tailored for seasoned programmers seeking to delve into the intricacies of design patterns and refactoring. Participants will gain a solid understanding of the core concepts and practical applications of these patterns, empowering them to write more efficient and robust application code.
As distributed systems grow increasingly complex, the primary challenge has shifted from the intricacy of individual systems to the complexity of their collective architecture. This course explores the interplay between Software Architecture and Technical Enterprise Architecture. Although these two domains are deeply interconnected, the nature of their relationship is not always clearly defined. For instance, decomposing a complex monolithic application into two separate systems that communicate via web services necessitates significant adjustments to both the new systems and the architectural interface between them.
The course will examine the trade-offs involved, as well as current best practices and solutions for managing complexity and facilitating communication within and between disparate systems.
Developers, programmers, business analysts, project managers, software architects, testers, documentation specialists, and anyone engaged in the software development lifecycle.
Course Objectives:
Equips you to work with a wide variety of UML elements Teaches you how to create complex UML models Prepares you to become a qualified senior member of a UML Development Team.
Read more...
Last Updated:
Testimonials (6)
Trainer knowledge, involvement, and rapport
Adam Kuklewski - GE Medical Systems Polska
Course - Technical Architecture and Patterns
complete, subject-focused, with multiple exercises and examples
Grzegorz Sposob - ASSECO POLAND S.A.
Course - OCUP2 UML Certification - Preparing for the UML2 Intermediate exam.
The explanations and interactivity of the trainer, he really brought the subject well; and even-though I was probably not experienced enough, I did learn a lot from it!
Pieter Bruynseels - Spot Buy Center BV
Course - Design Patterns
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
I liked the platform we used. It was really nice and easy to use. I liked the typescript section, the part about namespaces and modules.
Online Software Design training in Sofia, Software Design training courses in Sofia, Weekend Software Design courses in Sofia, Evening Software Design training in Sofia, Software Design instructor-led in Sofia, Weekend Software Design training in Sofia, Software Design on-site in Sofia, Software Design private courses in Sofia, Online Software Design training in Sofia, Software Design instructor in Sofia, Software Design boot camp in Sofia, Software Design coaching in Sofia, Software Design trainer in Sofia, Software Design instructor-led in Sofia, Software Design one on one training in Sofia, Evening Software Design courses in Sofia, Software Design classes in Sofia