Michael Hegner

Michael Hegner

Senior Software Engineer

Personal Profile

I am a highly skilled Java Software Engineer with 14+ years of experience in developing web applications using open-source frameworks such as Spring. My expertise in Spring and Java is backed by industry-recognized certifications, which attest to my proficiency in these technologies.

Throughout my career, I have demonstrated my adaptability and ability to deliver tailored solutions across various industries in Europe. As a lifelong learner, I am always exploring new technologies and sharing my knowledge with colleagues. I have a track record of effective leadership, collaboration, and communication, which has enabled me to guide and train teams to successful project outcomes.

By translating complex business requirements into well-structured documents and user stories, I have consistently driven projects to completion, meeting or exceeding client expectations. My passion for creating flexible and robust software architectures sets me apart and guarantees high-quality results in every project I undertake.

Work Experience

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.

Beside Work Experiences

Software Engineer on private Projects

January 2014 - Present

Data Management Web Application: Developed a web application to explore new technologies and enhance my software architecture skills. The project focused on creating a flexible application using open-source frameworks to reduce code complexity and improve simplicity. Technologies used include Spring (MVC, Batch, Data), Java 17, JavaScript, Thymeleaf, and REST (JSON+HAL).

Real Estate Management Web Application: Designed and developed a web application to manage properties and calculate financial needs and cash flows for personal use. The application assists in making informed decisions about purchasing apartments based on specific requirements. The project has received positive feedback and can be found at Link.

Key Skills

Spring Professional

Certified by SpringSource (VMWare) in 2012 and 2013

Experience with Spring since 2009, starting with Spring 2.5. Completed several SpringSource courses on Spring 3.x, and self-taught Spring 5/6 and related projects such as Spring Boot, Spring MVC, Spring Data, Spring Batch, and Spring Integration.

Java Professional

Certified by Oracle in 2014, 2015 and 2018

Java experience since 2009, beginning with Java 5. Attended multiple Oracle courses on Java SE 7/8, and self-taught Java 11/17. Additionally, experienced in Java EE standards such as JPA, JSP, JAXB, JAX-RS, JSTL, and JSF.

Professional in Software Engineering

Certified by ISAQB, ISTQB, IREB and ScrumAlliance in 2013, 2014 and 2015

As a software engineer, my expertise goes beyond coding. I have a strong background in various phases of software development, including test-driven development, clean code techniques, and flexible software architecture. I also emphasize the importance of high-quality requirements for better understanding and implementation.

Miscellaneous Skills

  • Team Lead
  • Web-/Batchapplication
  • CCD & TDD
  • Java & Spring
  • Rapid Development
  • Version control
  • ORM & JDBC
  • System Integration

Education

Fachhochschule Trier

Bachelor of Science (Business & Computer Science) in 2009

The focus was on business science with specializations in computer science. During this time, I attended one semester of computer science at the "Auckland University of Technology".

Höhere Berufsfachschule für Wirtschaftsinformatik

Staatlich geprüfter Wirtschaftsinformatiker in 2005

This school offers an alternative to traditional studies and takes 2 years of full-time study. Alongside business science, I chose the specialization in application development.

Business School

Professional Education for Industrial Business Management in 2003

In a dual system, I completed education in industrial business with a focus on material management. I gained practical experience with a car supplier company.

Certifications

Awards

SPAR Business Services GmbH

Ranked 2nd in Customer Satisfaction in 2012

Additional Profession

Truck Driver with CZV Licence

since 2022

As someone who enjoys moving large objects occasionally, I decided to pursue this interest on the road by obtaining my Class C driver's license in 2021. Following the completion of CZV courses this year, I am now qualified to work as a truck driver.

Private Investor

since 2016

I have developed knowledge in various investment areas, including real estate, stocks/ETFs, trading (CFD/Options), and cryptocurrency.

Real Estate Enthusiast

Passionated in real estate since 2013

My passion for real estate began when I purchased my first apartment in Tirol for personal use. Since then, I have invested in 24 apartments in Austria and Germany. To further my expertise, I completed distance learning programs in "Property Management" and "Certified Estate Agent."

Property Management and Certified Estate Agent

SGD - Property Management in 2018

SGD - Certified Estate Agent in 2019