ICT Coach for Learners at ICT Berufsbildungscenter AG
October 2022 - current
In my current role as an ICT Coach, I work with learners during their basic apprenticeship year, sharing my knowledge and expertise in various technology topics. My coaching responsibilities cover a broad range of subjects, which include:
- Introduction to programming with Python
- Operating systems (Windows/Linux)
- Telematics
- Databases with MySQL
- Internet of Things (IoT) fundamentals
- Application development with Java
- Web design with HTML, CSS, and JavaScript
- Frontend web development with ReactJS and NextJS
- Backend web development with Spring Boot
- Mobile app development with Android
By guiding these learners through these diverse subjects, I aim to equip them with the skills and knowledge they need to excel in their future careers in the field of information and communication technology.
Senior Software Engineer at N47 AG
May 2021 - October 2022
At N47 AG, I worked as a full-time developer for a health insurance company in Zurich. I started as the lead developer on a project to build a 360-degree customer view program, which provides a comprehensive picture of a customer from all surrounding systems for use in call centers. Using Spring Boot Java, my team and I connected the software through various interfaces such as Kafka, Postgres database, and REST interfaces, and successfully delivered the project to the customer's satisfaction.
Following the successful completion of the project, I joined the team responsible for the company's core systems. This role involved the development and maintenance of numerous microservices, as well as integration and operation. The microservices are deployed on the Google Cloud Platform using GitLab and managed as part of our daily responsibilities.
Senior Software Engineer at Netcetera AG
September 2018 - March 2021
At Netcetera, I worked with a team of software developers on a real estate estimation application, where I played an important role in the integration of other systems, such as active directory. I was responsible for ensuring smooth and safe upgrades to the production system using a Groovy application, and upgrading the internal framework called Girders from Spring to Spring Boot. The primary technologies used were Spring Boot, Java 8, Angular, and Hibernate.
One of my significant contributions was the redesign of a web application for a customer by simplifying the technology stack and creating a maintainable software architecture that followed clean code principles. I ensured the customer was involved in the development process by providing early access and collecting feedback. The application boasted strong stability from the outset, and its architecture allowed for high flexibility in addressing customer needs. The business requirements were designed using standard components, designs, and solutions recommended by open communities. The technology stack consisted of Spring Boot, Java 11, Spring MVC with Thymeleaf/JQuery, Spring Integration, and Hibernate/JPA.
Senior Software Engineer at Elca Informatik AG
January 2016 - July 2018
At Elca, I took charge of a high-critical project in the banking sector, focusing on the processing of cryptographic functionalities for financial data. I led the transition from our Lausanne team to Zurich, trained a new development team, and took on the role of lead developer for further expansions. My team and I successfully delivered the software on time and to the customer's satisfaction, with the application already running in a high-volume production environment.
To ensure smooth collaboration and communication within the team and with stakeholders, I translated the customer's requirements into clear, maintainable user stories and divided them into technical tasks. As a Scrum Master, I also established routine and structure in our processes, enhancing communication and collaboration. I also trained and headed the support team for the project, ensuring professional customer support.
The primary technologies used for the cryptographic functionalities project were Spring, Java 8, JSF, Hibernate, and Security.
Java Instructor at Propulsion Academy AG
October 2016
As a Java Instructor at Propulsion Academy, I was responsible for preparing and delivering the Java portion of the Full Stack Developer boot camp. During the course, I provided support and guidance to participants to help them learn the principles and best practices of Java programming.
The comprehensive curriculum covered various topics, including Java basics and advanced techniques for rapid application development, object-oriented programming and functional perspectives, Test Driven Development and Clean Code Development methodologies, and design patterns for structured and efficient programming.
My role at Propulsion Academy enabled participants to gain a deep understanding of Java programming principles and adopt a clean, structured approach to software development, setting them up for success in their future careers.
Software Engineer at Compax Software Development GmbH
March 2013 - November 2015
As a member of a Scrum development team, I contributed to various projects and had the following responsibilities:
Workflow engine application: I worked on extending the functionalities of a Compax product, participating in customer workshops to establish business requirements and transforming them into technical requirements. Our team employed Scrum practices and maintained close collaboration with customers.
March 2013 - December 2013
Legacy data management application replacement: I developed a modern software solution for a German ministry organization, replacing an outdated data management application. I utilized Thymeleaf, jQuery, and Spring MVC for the presentation layer, Spring Batch for data population in an in-memory database, and Spring Data JPA for data access.
External Software Engineer at Austrian National Bank
January 2014 - November 2015
Web application for managing ratio and transformation rules: As an external Scrum development team member, I contributed to a web application that managed ratio and transformation rules. This application was part of a distributed enterprise environment, utilizing technologies such as Spring, Java 8, Spring Data, Resteasy, and JSF.
Performance improvements for a document management system: I optimized the performance of a Java-based document management system, enhancing its efficiency and overall user experience.
Software Engineer at SPAR ICS GmbH
March 2011 - January 2013
As a technical project leader, my responsibilities included translating customer needs into technical requirements and dividing them into manageable tasks for the development team. I led several software projects and was responsible for:
Introducing new technologies, design patterns, and software architectures: I continuously improved our software development processes and techniques to ensure quality and efficiency.
Training developers in Spring, Java, and software architectures: I shared my knowledge and expertise with team members to strengthen their skills and enhance overall team performance.
Launching Continuous Integration with Jenkins: I implemented a Continuous Integration system using Jenkins, streamlining the development process and reducing the time required to identify and fix issues.
Increasing quality with Test-Driven Development (TDD) and Clean Code Development (CCD): I promoted the adoption of TDD and CCD practices within the team, resulting in improved code quality and maintainability.
Software Engineer at Conova Communications GmbH
May 2009 - February 2011
As a Java Developer at Conova Communications, I contributed to several projects, including:
Web application for derivatives business: I started as a Junior Developer and collaborated with a Senior Developer to build a web application for a prominent Austrian bank. My responsibilities included translating business requirements into technical specifications and communicating them to the Senior Developer. Eventually, I assumed full responsibility for the project and successfully implemented further extensions.
Analysis software for an education company: I developed a custom analysis software solution that helped the company streamline their data management and improve decision-making processes.
Internal employee working hours management software: I created a new software tool to manage employee working hours, improving the company's ability to track and analyze workforce productivity.