Wir schreiben Programme, die komplexe Probleme in Data Science, Numerik & Physik  lösen.

Recommendation: Virtual Testing Framework

Client

With locations in more than 20 countries and over 26,000 employees (December 31, 2023), as well as annual revenues of around EUR 4.0 billion (2023), T-Systems is one of the leading providers of digital services in Europe. (Website as of Juli 29th, 2024)

Recommendation Letter

Dr. Markus Dutschke (Algorithmus Schmiede) supported T-Systems International GmbH as a Senior Python developer from Jan. 2022 to Feb. 2024.

He was participating in the development of SPACE (Statistical Production and Compilation Environment), European Central Banks (ECB) latest enterprise analytics platform. The project was scheduled to run for 5 years and included up to 100 developers, working in parallel on the implementation of the approximately 120 repositories. The international Scrum teams worked 100% remote using tools as Gitlab, Slack and Confluence. Code quality was enforced by a large variety of tools such as Pytest, Pylint, Mypy, Black, Flake8, SonarQube. The main libraries used within the projects were pandas, typing, asyncio, requests, lxml. Also, connections to other tools and frameworks such as Camunda/BPMN, Swagger, SDMX, BPMS, Docker and Kubernetes were made.

During his time on the project, Markus developed a complete virtual testing framework. Utilizing Pytests „monkeypatch“ mocking functionality, he created digital twins of all relevant services, which were only available within the ECB infrastructure. In this way, developers could run unit tests fast, comfortable and reproducible, while keeping the computational load on the twined services low.

Markus further designed an architecture based on the factory method design pattern. This was used to define and administer unit tests for similar code structures on a central place. He thereby reached a clear separation of productive and testing code and additionally yielded a code design, which was flexible with respect to potentially changing future requirements. Due to the dynamic nature of the project and the large amount of repositories created, breaking changes in between repositories were a crucial
topic.

Markus implemented a deprecation module, supplying a variety of deprecation mechanisms for functions, classes and even module constants. This made it possible to refactor code in an organized manner, without creating customer complaints or bug
tickets.

He further developed a tool, utilizing the Gitlab API, to execute test cases of all 120 repositories with a given combination of library versions and compare the result to another library combination. By advertising the tool and even giving trainings for it, he had a leading role in decreasing the number of breaking changes occurring on the project. This decreased the administrative overhead among developers drastically and increased the stability of scheduled releases.

Markus was also heavily involved in the migration process of large ECB Jupyter notebooks into the project’s code base. He organized the migration process such, that a good tradeoff between holding timelines and code quality was achieved. Building up a very good relationship to the business areas of ECB, helped significantly during the migration process.

He volunteered several times to work during night and at the weekends to ensure a smooth release process. This further increased trustworthiness in the relationship between him and our client. Finally, he established a highly cooperative atmosphere with short response times on the clients side.Further aspects of Markus‘ communicative skills shall be highlighted here as well.

Markus initiated a revision of the onboarding materials. This accelerated the onboarding process for new developers and by this enforced a common set of best practices. He further created easily accessible tools for developers. To push the success of these tools, he wrote and maintained a clean documentation, gave trainings and recorded training videos. Markus‘ coding habits significantly contributed to the project.

Having a very clear and standardized coding style, he was able to break down complex relationships into simple data structures. This helped him also during performance optimization and when solving challenging mathematical problems. He also passed these habits to other developers by discussions and by code reviews.

We strongly recommend Markus and his enterprise „Algorithmus Schmiede“ for several reasons:

He is an excellent python developer,
working independently and
contributing to a clean and organized code base.

Markus does not take workflows for granted, but thinks critically about them and develops ideas for improvement. By actively following and advertising his ideas, he moderates the change process necessary to establish an improved workflow.

His positive attitude and friendly character, makes it easy for him to establish a highly cooperative atmosphere, even in tense situations.