Skip to content

Software Engineering

About

  • Design Patterns This training focuses on classic software design patterns that offer reusable solutions to common problems in software architecture and object‑oriented design. Participants learn how to apply patterns such as Singleton, Factory, Strategy, and Observer to make their code more modular, extensible, and maintainable. Learn more...

  • Testing The TDD (Test‑Driven Development) course teaches developers how to adopt a test‑first approach, writing automated tests before implementing the corresponding functionality. Students learn to design reliable and maintainable codebases, improve software quality, and reduce bugs through iterative test writing and refactoring cycles. Learn more...

  • DevOps DevOps training introduces the principles and tools used to automate and streamline the software delivery lifecycle, including continuous integration/continuous deployment (CI/CD), infrastructure as code, monitoring, and collaboration practices that bridge development and operations teams. Learn more...

  • Refactoring In this course, students learn systematic techniques for improving existing code without altering its external behavior. Refactoring sessions emphasize readability, simplicity, and performance — teaching how to identify code smells and apply well‑tested strategies to clean and optimize real codebases. Learn more...

  • Profiling Profiling teaches developers how to analyze and measure program performance, identify bottlenecks, and use profiling tools to optimize CPU usage, memory consumption, and runtime. This course equips students with the skills to make data‑driven improvements to application performance. Learn more...

  • Regular Expressions This training covers the syntax and usage of regular expressions, a powerful tool for searching, matching, and manipulating text. Students practice crafting patterns to efficiently validate input, extract data from unstructured text, and perform complex string transformations. Learn more...

Format

The course is delivered as a blended learning experience, comprising numerous short videos that progressively introduce concepts and techniques through a series of practical examples. The course format combines e-learning modules with weekly online teleconferences with the instructor for Q&A, discussions, and code reviews.

During the self-study phase, students complete practical exercises that apply the learned techniques. Each exercise is designed to have 100% test coverage, allowing students to verify their solutions. Additionally, students will have access to a spreadsheet to track their progress.

Students will also receive downloadable resources, including code samples, exercise templates, and reference materials to support their learning journey. Since 2015, we have refined our materials based on student feedback to ensure clarity, engagement, and practical relevance. All code listings undergo automatic testing (over 28,000 tests) to ensure accuracy and reliability. All materials, code listings, exercises, and assignments are handcrafted by our trainers without the use of AI. All case studies and examples are based on real-world scenarios drawn from our extensive experience in software engineering.

Working language of the course is either English or Polish.

Organization

This training course is conducted by, Matt Harasymczuk. A software engineer with over 20 years of experience. Matt have been programming since 2003, using Python since 2009, and teaching it since 2015. So far, 31,000 students have completed his program over 11,000 training hours.

The program offered on our website is a mentorship format. You meet once or twice a week for 1, 2, 3, or 4 hours per session (you choose the duration and frequency). During each meeting, instructor covers new topics, and assigns exercises for you to complete before the next session. All assignments have automatic tests for self-check. If you encounter any difficulties with the exercises, when we meet next time, we work on them together until you fully understand the concept. You control the pace and decide how many topics we cover in each meeting. You can contact instructor anytime you have problems, and we can work on your project together. We meet online at times that suit both our calendars.

Cost

The cost is 25 EUR per hour. VAT tax is included, we can issue VAT EU invoice if needed. Payment is made in advance, before the each session. You can pay for one session at a time, or buy a package of several sessions in advance.

It is entirely up to you how much you want to invest and what you want to focus on during our sessions.

The first meeting, during which we set up your environment and prepare everything, is free.

Apply

If you are interested in taking any of those courses, please contact us at info@aatc.pl