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.

Previous
Previous

User Research and Prototyping