DescriptionThe course introduces the main concepts and context of software architecture. Participants will learn about practices such as essential requirements identification, design, documentation, and analysis, in other words about a rather general all-around methodology not bound to specific technological base or area of expertise.
Theoretical material is corroborated by cases from trainer’s experience and reinforced with the help of small exercises. Every day, in the afternoon students will participate in team games and will try to apply these practices in some cases related with business issues of software development.
is issued on the Luxoft Training form
- in current projects as means of quality maintenance of the delivery system, problem solving and customer expectations management,
- in pre-delivery inspection as means of analysis, preliminary design, and estimate for reducing risks related to a commercial offer.
- Technical leaders and senior developers
- System analysts and designers
- Project managers, quality managers, pre-delivery preparation managers
- Business analysts
- More than three years of experience in software engineering (any role).
- More than one year of experience in software development projects in any role from the Target Audience list (see above).
- Main concepts
- Software design and architecture analysis
- The software architect role
- Identifying stakeholders and business goals
Identifying, formalizing and prioritizing the requirements to quality system characteristics
- Performance and scalability
- Changeability and other quality attributes
- Concepts of tactics
- Approaches and styles
- Typical tactics applied for achieving main quality characteristics
Documenting software architecture
- The purpose and structure of architectural description
- Viewpoint-based approach and architectural views
- Detailed overview of the most popular viewpoints (4+1 and Rozansky&Woods)
- Using modeling techniques in documenting
- The prospects of applied tactics for achieving the desired quality system characteristics
- Using simplified description in pre-sale activities
- Formal process of architecture analysis and assessment involving stakeholders
- Identifying compromise solutions and architectural risks
- Further working with risks
Catalin is an experienced and dedicated software engineer with expertise in a variety of areas such as requirements analysis, project management (Waterfall and Agile), people management, Java technologies, database design, software architecture and software technologies for Enterprise Applications. Between 2003 and 2015 he has held several roles in telecommunications and financial projects, from Java senior developer to Java technical team lead and architect.
In addition to his role as a software engineer, Catalin has also been involved in developing and facilitating trainings on programming and databases for companies and universities. He has delivered courses on subjects such as Java, Web technologies, analysis of algorithms, SQL and database design.
- Development with Java® SE. Extended
- Spring Advanced
- Design Patterns for Java (GoF)
- Code Refactoring for Java
- Spring Framework 5 for Application Development
- Effective Java
- Spring Core
- Spring Databases
- Contexts and Dependency Injection Java
- Java Message Service
- Java Networking – TCP/UDP Sockets
- Java Behavior-Driven Development (BDD)
- Java Advanced: Functional, Asynchronous, and Reactive Programming
Catalin was also the lead facilitator for the Corporate Junior Program (CJP) which took part in Luxoft Poland (Krakow and Wroclaw). This program has prepared about 50 new Java developers to join delivery projects inside the company.
Together with Luxoft, he initiated and introduced the “Advanced Java Programming” course for the students pursuing their master’s degree at the Faculty of Automation and Computer Science in Bucharest.
He is an Agile Certified Scrum Master with a deep understanding of project management techniques and plenty of experience in managing software development projects.