Projects during my Dual Apprenticeship as a Software Developer
Project: Semi-Automated Software Installation Tool
Project Lead & Responsible Developer | Final Practical Project (Dual Apprenticeship, 70 hours)
As part of my final apprenticeship project, I designed and implemented a semi-automated installation and configuration tool to standardize the deployment of local software instances and significantly reduce manual effort in technical setup and maintenance tasks.
In many environments, installing and configuring applications manually introduces inconsistencies and increases the risk of configuration errors. The goal of this project was to create a solution that could execute installations based on dynamic parameters, ensure consistent configurations, and integrate essential operational safeguards into the process.
The application provided a guided installation interface built with WinForms, allowing users to configure installations through a structured graphical workflow rather than manual command-line steps. The system dynamically processed configuration parameters and integrated services such as a message bus (RabbitMQ) during setup.
To improve operational reliability, the tool automatically created backups of existing installations before executing changes. This ensured that systems could be restored quickly if an installation step failed or produced unexpected results.
The installation logic and configuration routines were validated through unit testing, helping ensure the reliability and repeatability of the process. The project demonstrated how structured automation can improve DevOps workflows by reducing repetitive tasks, minimizing human error, and increasing deployment consistency.
Technologies and tools
Programming language: C#
Framework: .NET Framework
GUI development: WinForms
Development environment: Visual Studio Professional
Data handling: JSON (Newtonsoft.Json)
Messaging integration: RabbitMQ
Through this project, I gained hands-on experience in:
designing installation and deployment workflows
automation of configuration processes
building user-friendly technical tools
integrating external services into software systems
testing and validating technical processes
Project: Digital Apprenticeship Record System
Software Developer & Project Owner | Private Project
In this project, I designed and developed a digital training record application to replace manual apprenticeship documentation with a structured, searchable, and exportable system.
The goal was to simplify documentation processes and improve data consistency by allowing training activities, subjects, and learning progress to be recorded digitally. The system supported configurable user profiles, allowing adaptation to different training contexts, instructors, and subject areas.
A key feature of the application was the implementation of XML-based interfaces for structured data storage and processing. This enabled reliable handling of training records and made it possible to selectively export data when needed.
To improve usability and reporting, I implemented a PDF export function, allowing users to generate formatted reports of training activities, including the option to export only selected content or time ranges. The system also supported custom branding, such as integrating a company logo into generated documents.
Technologies and tools
Programming language: Java 11
Data format and interfaces: XML
Build management: Apache Maven
Through this project, I strengthened my skills in:
application architecture and feature design
structured data handling and interfaces
usability-oriented development
report generation and export functions
independent planning and implementation of software projects
Looking back, projects like these reveal a recurring truth in software engineering: many of the most valuable tools are not the ones users notice immediately, but the ones that quietly remove friction from everyday work. Automation, structured data, and clear workflows rarely look spectacular—but they compound in value every single day they run.

