Hans-peter Martini

Developer

Neukirchen, Germany

Experience

Sep 2022 - Apr 2024
1 year 8 months
Germany

Developer

Systemhaus der Bundesagentur für Arbeit

  • Portal for submitting and processing child benefit applications.
  • Developed microservices and front ends for processing child benefit applications within the Federal Employment Agency’s infrastructure.
  • Backend: Developed event-driven microservices with REST controllers and services; mapped data with JSON models; produced and consumed Kafka streams; generated PDFs.
  • Frontend: Developed smart components, services, guards; processed REST streams using observables following the reactive programming paradigm; integrated web components; implemented user authentication via OIDC/OAuth2 and JWTs; integrated Keycloak for simplified identity provider connection and introduced two-factor authentication; created mockups for planning, implementation analysis, and feasibility studies.
  • General: Analyzed and implemented functional requirements; conducted code reviews; maintained CI/CD pipelines; performed refactorings; led sprint reviews; monitored production applications via Kibana and Grafana.
  • Technical environment: OS: Linux, Windows; IDE: IntelliJ IDEA, WebStorm; Languages: TypeScript, Java 17; Frameworks: Angular, Spring Boot; Build tools: Jenkins, NPM, Maven; Tools: Jira, Confluence, GitLab, Bitbucket.
Jan 2021 - Jul 2022
7 months
Germany

Architect, Developer, Coach, Consultant

Bundesdruckerei GmbH

  • Portal for searching public contracting notices on behalf of the federal government.
  • Architecture planning and development of the web platform (frontend and backend), integration into existing infrastructure.
  • Increased development efficiency by ~200% by selecting and introducing an appropriate framework.
  • Technical lead of the development team.
  • Re-implemented the existing application with Vue.js, including drafting justification for re-implementation, architecture planning, and implementing components and application structure.
  • Defined project structure and style guide.
  • Established coding standards.
  • Introduced Redux on the frontend and coached the team.
  • Defined a view model based on an eForms abstraction (European standard for tender exchange).
  • Developed methods to optimize local development environments.
  • Optimized backend code following hexagonal architecture.
  • Defined database structure.
  • Implemented REST endpoints for user login via ELSTER authentication (OAuth2).
  • Technical environment: OS: Linux, Windows, macOS; IDE: IntelliJ IDEA Ultimate; Languages: TypeScript, Java 17; Frameworks: Vue.js, Spring Boot; Build tools: NPM, Maven; Tools: Jira, Confluence, GitLab; Architecture: Hexagonal architecture.
Jul 2021 - Oct 2021
4 months
Germany

Developer, Architect, Coach, Consultant

Emil Frey

  • Planned, architected, and developed submodules of a vehicle trading platform.
  • Implemented custom components for a client-developed component library.
  • Coached staff on Angular usage, clean code, and common programming principles.
  • Developed input and control components.
  • Applied an existing atomic design framework.
  • Implemented submodules, services, and routing.
  • Trained and shared best practices and Angular knowledge.
  • Integrated external scripts.
  • Advised IT leadership on optimizing the development process.
  • Delegated SEO optimization to an external provider.
  • Technical environment: OS: macOS; IDE: IntelliJ IDEA Ultimate; Language: TypeScript; Framework: Angular 12; Build tool: Angular CLI; Tools: Jira, Bitbucket.
May 2020 - May 2021
1 year 1 month
Germany

Developer, Founder, CEO, Architect, DevOps Engineer

Martini Labs

  • Implemented a platform for managing, analyzing, and collecting leads via online marketing campaigns.
  • Developed business idea, business plan, and application architecture.
  • Built the MVP and set up cloud infrastructure with Firebase as an Angular Material application.
  • Conducted feasibility studies.
  • Performed requirements analysis.
  • Designed the architecture.
  • Implemented the MVP.
  • Selected and configured a cloud-based backend.
  • Managed users via Firebase Authentication with JWT.
  • Stored data in Firestore.
  • Reporting.
  • Funnel page and application form.
  • Technical environment: OS: macOS; IDE: IntelliJ IDEA Ultimate; Language: TypeScript; Framework: Angular 10; Build tool: Angular CLI; Database: Firestore; Tools: Firebase, YouTrack, GitLab; Testing: Jasmine.
Mar 2020 - Jun 2021
1 year 4 months
Germany

Developer

BG-Phoenics GmbH

  • Implemented a customer portal with Angular and Angular Material.
  • Re-implemented one of several applications and consolidated into a monorepo as a coherent customer portal.
  • Migrated the existing application into a monorepo (Nx).
  • Re-implemented legacy components and services.
  • Applied sustainable architecture, coding standards, and common programming principles.
  • Refactored and extracted shared components and services into a library for repo-wide availability.
  • Introduced an NgRx store with the façade pattern.
  • Negotiated REST APIs with the backend.
  • Connected underlying microservices via REST interfaces.
  • Developed unit tests with Jest.
  • Technical environment: OS: Windows; IDE: IntelliJ IDEA Ultimate; Language: TypeScript; Frameworks: Angular 10–12; Build tool: Angular CLI; Tools: GitLab, Jenkins, SonarQube, OpenShift; Testing: Jest.
Sep 2018 - Dec 2020
1 year 4 months
Germany

Developer

SMA Solar Technology AG

  • Contributed to energy plant control and monitoring projects.
  • For energy plant control: Developed Modbus and SunSpec protocol implementations for RS485 and TCP.
  • Tasks (energy plant control): Requirements analysis, Scrum ticket preparation; refactoring (simplified project structure, optimized data flow, introduced interfaces); implemented a hardware communication and control module; extended API with Swagger; wrote unit tests; code reviews.
  • Technical environment (energy plant control): OS: macOS; IDE: IntelliJ IDEA, Eclipse; Language: Java; Frameworks: OSGi, Apache Felix; Build tools: Gradle, bnd; Databases: PostgreSQL, TimescaleDB; Tools: YouTrack, GitHub, GitLab CI, Docker, Swagger; Testing: JUnit.
  • For monitoring: Developed a new web service to monitor devices at customer sites.
  • Tasks (monitoring): Requirements analysis, Scrum ticket preparation; implemented components for filter input application and display; extended the test backend; extended API endpoints for database operations; wrote unit tests; code reviews.
  • Technical environment (monitoring): OS: macOS; IDE: IntelliJ IDEA; Languages: Kotlin, TypeScript; Frameworks: Angular, Spring Boot; Build tools: Maven, Gradle; Databases: PostgreSQL, TimescaleDB; Tools: YouTrack, GitHub, GitLab CI, Docker, Kubernetes, Helm; Testing: JUnit, Karma.
Sep 2018 - Sep 2018
1 month
Germany

Developer, Team Lead

Werkstattportal (project)

  • Web portal for searching and matching automotive services.
  • Requirements analysis, Scrum ticket preparation.
  • Implemented a microservice to fetch and deliver scraping data.
  • Negotiated data formats delivered by the scraping API.
  • Parsed, stored, and provided data.
  • Defined API for data retrieval.
  • Implemented endpoints for data retrieval.
  • Wrote unit tests.
  • Code reviews.
  • Managed customer communication.
  • Team leadership.
  • Technical environment: OS: macOS; IDE: PHPStorm; Language: PHP7; Framework: Laravel; Tools: YouTrack, Bitbucket, ScrapingHub; Testing: PHPUnit.
Aug 2018 - Aug 2018
1 month
Germany

Developer

4Mular (project)

  • Rebuilt a web portal for automated photovoltaic system registration.
  • Improved code quality by applying common programming principles.
  • Wrote unit tests.
  • Code reviews.
  • Technical environment: OS: macOS; IDE: IntelliJ IDEA; Languages: TypeScript, Kotlin; Frameworks: Angular 5, RxJS, NgRx; Build tools: Maven, npm; Database: PostgreSQL; Tools: YouTrack, Bitbucket, Git, Docker Compose, Selenium, Kubernetes, Helm.
Oct 2017 - Jul 2018
10 months
Germany

Developer, Consultant

Facto (project)

  • Web platform for reversing life insurance contracts.
  • Platform for customers, caseworkers, and lawyers to submit applications, manage documents, calculate refund amounts, assess reversal claims, and manage clients.
  • Symfony 3–based monolithic backend.
  • AngularJS frontend.
  • Rights and roles system: chosen paradigm (ACLs vs. voters); implemented base system with voters; refactored the application to use it.
  • State machine to model lifecycle statuses: advised and selected tools/approaches; implemented a state machine using decorator and visitor patterns.
  • Designed and implemented database structure, repositories, and services for DB communication.
  • Created fixtures for test data population.
  • Wrote a Docker Compose script to ensure a consistent local environment.
  • Wrote unit tests; code reviews.
  • Technical environment: OS: macOS; IDE: PhpStorm, WebStorm; Languages: PHP, JavaScript; Frameworks: Symfony 3, AngularJS; Build tool: Yarn; Database: PostgreSQL; Tools: GitLab, YouTrack, Docker, Docker Compose; Testing: PHPUnit, Karma.
Sep 2017 - Sep 2017
1 month
Germany

Developer, Mentor, Coach

timeBuzzer GmbH

  • EVA microservice server.
  • Middleware linking time-tracking tools and project management platforms.
  • Stateless worker, I/O via connected platform APIs.
  • Minimal UI as an authentication proxy using JWT.
  • Requirements analysis and customer communication.
  • Designed and implemented a stateless microservice: database design; import module triggered by webhook consuming a service-specific API; internal and external data models; parsed API data into the internal model; provided parsed data to client systems; used client system for authentication (system issues JWT after login, token caching).
  • Designed login UI: retrieved user token via backend; minimal user management.
  • Wrote unit tests; code reviews.
  • Coached, handed over, and supported working students.
  • Technical environment: OS: macOS; IDE: IntelliJ IDEA; Languages: Kotlin, TypeScript; Frameworks: Spring Boot, Angular 5; Build tools: Maven, npm; Database: PostgreSQL; Tools: Webhooks, JWT; Testing: JUnit, Karma.
Nov 2016 - Sep 2017
11 months
Germany

Developer

CI platform (project)

  • Ongoing development of a CI platform, implementing new features and bug fixes.
  • Tasks: requirements analysis, customer communication, level 3 support, feature implementation on customer request, writing unit and UI tests, documentation and updating platform docs.
  • Technical environment (development): OS: Linux; IDE: PHPStorm, GoLand, IntelliJ IDEA; Languages: PHP, JavaScript, Go; Frameworks: Symfony 2, AngularJS, Doctrine, Swiftmailer; Tools: GitHub, Bitbucket, GitLab, shell scripting, Sublime Text; Testing: PHPUnit, Selenium, Behat.
  • Implemented a server daemon with a CLI control client for container management to provision Docker machines due to Docker containers’ incompatibility with LXC (July 2017).
  • Tasks (container management): requirements analysis (container provisioning failures for code analysis platform), system message debugging with XTrace, technology and library selection, daemon implementation as a client/server application.
  • Technical environment (container management): OS: Linux; IDE: GoLand; Languages: Go, Unix shell; Tools: Sublime Text, Docker, Docker Machine, Boot2Docker, KVM, libvirt, virsh, XTrace.
  • Re-implemented a matching component for the CI platform: switched to context-based matching (April 2017).
  • Tasks (matching component): requirements analysis, algorithm design and implementation, performance profiling, unit tests.
  • Technical environment (matching component): OS: Linux; IDE: PHPStorm; Language: PHP; Framework: Symfony 2; Testing: PHPUnit, Backfire.
  • Implemented VNC recording for the CI platform: recorded UI tests, partially re-implemented VNC capture tools, adapted to CI environment (February 2017).
  • Tasks (VNC recording): requirements analysis, codec evaluation and selection (FFmpeg), X Server output capture and compression, automated AWS EC2 upload, stream provision and display.
  • Technical environment (VNC recording): OS: Linux; IDE: CLion, PHPStorm; Languages: C, PHP, JavaScript; Frameworks: AngularJS, Symfony 2; Tools: various VNC implementations, X Server, Chef, Node.js.
  • Implemented VNC browser view for the CI platform: video debugging of UI tests, partially re-implemented noVNC and reverse proxy routing (January 2017).
  • Tasks (VNC browser view): requirements analysis, technology evaluation for X Server capture (LXC container), noVNC adaptation, Node.js reverse proxy implementation, stream delivery.
  • Technical environment (VNC browser view): OS: Linux; IDE: CLion, PHPStorm; Languages: C, PHP, JavaScript; Frameworks: AngularJS, Symfony 2; Tools: various VNC implementations, X Server, Node.js.
Aug 2011 - Oct 2016
5 years 3 months
Germany

Developer, Admin, Team Lead, Technical Project Lead, Technical Strategy Consultant, Project Management

Employer in the tourism sector

  • Developed and maintained various systems and projects in the tourism sector.
  • Printing system for travel documents (smart client WinForms application): continuous enhancements for producing printed and electronic travel documents and invoices; implemented timed server jobs and Aztec code generation; maintained/calibrated production printers; server administration; deployment; recruiting; team leadership.
  • Tasks (printing system): analysis, design, implementation, testing, consulting.
  • Technical environment (printing system): OS: Windows, Windows Server; IDE: Visual Studio; Languages: C#, JavaScript; Frameworks: .NET, WinForms; Databases: Microsoft SQL Server, MySQL; Tools: Git, Sublime Text; Testing: Microsoft Unit Test Framework, manual.
  • Outsourced the printing system: developed and deployed a print system with an external provider (02/2015 – 10/2016).
  • Tasks (outsourcing printing): requirements analysis and client coordination, conception, implementation, testing, consulting, commissioning.
  • Technical environment (outsourcing printing): OS: Windows; IDE: Visual Studio; Languages: C#, JavaScript; Frameworks: ASP.NET, .NET, WebForms, WinForms, Microsoft MVC; Database: Microsoft SQL Server; Tools: Git, Sublime Text; Testing: Microsoft Unit Test Framework, manual.
  • Re-implemented a printing system: replaced a legacy smart client application and migrated existing logic (02/2015 – 10/2016).
  • Tasks (re-implementation printing): requirements analysis, client coordination, design, implementation of desktop application and databases, testing (unit and manual), consulting management and clients.
  • Technical environment (re-implementation printing): OS: Windows, Windows Server; IDE: Visual Studio; Languages: C#, JavaScript; Frameworks: ASP.NET, .NET, WebForms, WinForms, Microsoft MVC; Database: Microsoft SQL Server; Tools: Git, Sublime Text, Hyper-V; Testing: Microsoft Unit Test Framework, manual.
  • Desktop application for flight refund processing (smart client WinForms): ongoing enhancements; manual SQL queries for custom client requests.
  • Tasks (flight refund): requirements analysis, client coordination, design, frontend/backend/database implementation, testing (unit and manual), consulting management and clients.
  • Technical environment (flight refund): OS: Windows; IDE: Visual Studio; Languages: C#, JavaScript; Frameworks: .NET, WinForms; Databases: Microsoft SQL Server, MySQL; Tools: Git, Sublime Text; Testing: Microsoft Unit Test Framework, manual.
  • Web applications for travel data management: apps for maintaining master and travel data (02/2015 – 10/2016).
  • Tasks (travel data): requirements analysis, client coordination, design, frontend/backend/database implementation, testing (unit and manual), consulting management and clients, web app deployment.
  • Technical environment (travel data): OS: Windows, Windows Server; IDE: Visual Studio; Languages: C#, JavaScript; Frameworks: ASP.NET, WebForms, Microsoft MVC; Database: Microsoft SQL Server; Tools: Git, Sublime Text, Hyper-V, IIS; Testing: Microsoft Unit Test Framework, manual.
  • Outsourced IT infrastructure to a provider (project management, 01/2015 – 06/2015): saved ~20% development capacity by transferring admin tasks; introduced security and backup concepts.
  • Tasks (infrastructure outsourcing): resource, budget, and capacity planning; process monitoring; coordination with provider; downtime planning and system preparation.
  • Technical environment (infrastructure outsourcing): OS: Windows, Windows Server; Databases: Microsoft SQL Server, MySQL.
  • Web applications for electronic travel documents: customer portal for travel info viewing.
  • Tasks (electronic travel docs): requirements analysis, client coordination, design, frontend/backend/database implementation, testing (unit and manual), consulting management and clients, web app deployment.
  • Technical environment (electronic travel docs): OS: Windows, Windows Server; IDE: Visual Studio; Languages: C#, JavaScript; Frameworks: ASP.NET, .NET, Microsoft MVC; Database: Microsoft SQL Server; Tools: Git, Sublime Text, Hyper-V, IIS; Testing: Microsoft Unit Test Framework, manual.

Summary

  • Analysis, conception, architecture
  • Enterprise software development
  • TypeScript, JavaScript, Kotlin, Java
  • Vue.js, Angular, React(Native), Node.js, Spring Boot
  • Agile methodologies

Languages

German
Native
English
Advanced

Education

HS Fulda

Applied Computer Science · Fulda, Germany