Leonhard Holz, Developer in Berlin, Germany
Leonhard is available for hire
Hire Leonhard

Leonhard Holz

Verified Expert  in Engineering

Serverless Developer

Location
Berlin, Germany
Toptal Member Since
July 19, 2019

Leonhard is a passionate Go developer with web related programming experience and a professional background as a project and product manager. He strives for simplicity, productivity, and scalability. His strong communication skills, thorough knowledge of agile software development, and in-depth expertise on server-side web development enable him to design and deliver high-quality software in a reasonable time frame.

Portfolio

Packet Computing, Inc.
Docker, Amazon EC2, AWS Lambda, C, GoLand, Go
Experience One AG
OAuth 2, Swagger, MySQL, MongoDB, Go
Online Travel Agency Startup
JSON, Bootstrap, jQuery, JavaScript, CSS, HTML, Java

Experience

Availability

Part-time

Preferred Environment

Jenkins, Jira, Sublime Text, Git, Linux

The most amazing...

...thing I've coded is a headless CMS based on NG Admin.

Work Experience

Golang/C Developer

2020 - PRESENT
Packet Computing, Inc.
  • Developed, tested, and benchmarked a distributed transactional POSIX filesytem for serverless computing.
  • Enhanced system call interception of filesystem related functions via shared objects written in C.
  • Implemented semaphore- and spin-synchronized IPC communication using shared memory with C and Golang.
  • Ran existing benchmark applications (filebench, TPCC) in AWS EC2 and Lambda to improve performance.
  • Created makefiles for building the file system and run tests and benchmarks using Docker.
Technologies: Docker, Amazon EC2, AWS Lambda, C, GoLand, Go

Senior Back-end Developer

2017 - 2020
Experience One AG
  • Developed various middleware components (REST APIs) for apps and websites with Go and MongoDB/MySQL.
  • Implemented a very scalable image transformation service (resize, crop, blend, convert) on top of libvips.
  • Implemented a Swagger to Go generator that completely handles and hides the HTTP layer.
  • Connected the websites with OAuth2 identification providers.
  • Maintained an old J2EE web app using JPA 2.0 and an Oracle database.
  • Modularized existing projects to enable reuse of core components and API clients.
  • Encouraged dockerization, TDD, and CI.
Technologies: OAuth 2, Swagger, MySQL, MongoDB, Go

Technical Co-founder and Web Developer

2015 - 2017
Online Travel Agency Startup
  • Implemented the front-end in Bootstrap and jQuery.
  • Developed the back-end with Java and Contentful.
  • Aggregated travel offers from various sources.
  • Implemented SEO for the website.
  • Implemented a back-office for travel suppliers.
Technologies: JSON, Bootstrap, jQuery, JavaScript, CSS, HTML, Java

Product Manager IPTV

2013 - 2015
Deutsche Telekom AG
  • Conducted a feasibility study for an IPTV value proposition.
  • Conducted a feasibility study and implementation plan for the IPTV "Instant Replay" feature.
  • Conducted market research for IPTV products.
  • Created a comparison of TV-related recommendation engines.
Technologies: Microsoft 365

Technical Project Manager

2010 - 2013
Deutsche Telekom AG
  • Managed an external development team for a social TV guide using Scrum.
  • Shadowed the Immoscout24 Scrum Master team.
  • Managed the T-Systems team building a virtual set-top box using Scrum.
  • Recruited and managed a freelance team developing a social digital products platform.
Technologies: Jira, Microsoft 365

Web Developer

2005 - 2010
McTec, Ltd.
  • Enhanced websites of Axel Springer newspapers built on top of PHP CMS.
  • Built special-interest PHP microsites and apps like DPA reader.
  • Built a web app for Axel Springer's newspaper pre-print verification.
  • Developed for a migration project from PHP CMS to Java CMS for two major Axel Springer newspapers in Germany.
  • Led the technical aspects of the implementation of polish newspaper website on top of Java CMS.
  • Oversaw technical projects related to the introduction of streaming media content to Axel Springer newspaper websites.
Technologies: Linux, MySQL, XML, JavaScript, CSS, HTML, Java, PHP, LAMP

Web Developer

2000 - 2005
New Media Agency
  • Implemented small business websites with LAMP stack and PHP CMS while attending university.
Technologies: Linux, MySQL, JavaScript, CSS, HTML, PHP, LAMP

Serverless Distributed Transactional Filesystem

Packet Computing, Inc. hired me to make further progress with the prototype of a POSIX compatible filesystem for serverless computing. The test setup consists of a shared objects that intercepts GLIBC filesystem calls, an IPC mechanism to forward these calls to the filesystem runtime, and several different implementations of the filesystem. My tasks are to add features to the filesystem(s) and syscall interception library, set up tests, improve performance, and run benchmarks on AWS Lambda/EC2 and Docker-based OpenFaaS providers.

Mercedes Benz Online Store (MBOS) Germany

The existing J2EE web app from 2013 had severe performance problems and stability issues. The MBOS was implemented with JPA 2.0, Wicket 6, and an Oracle database. I solved the performance problems by adding indices to the database. In mid 2018, the it was decided to relaunch the MBOS on new technology (Angular and Go). I implemented the necessary APIs using my Swagger-to-Go generator and connected the system to MB APIs providing vehicle, financing, dealer, pictures, and rest appreciation data (JSON/REST and SOAP), also an remote ident and the MB OAuth2 service.

Implemented a headless CMS on top of NG Admin, configured to act as a UI for defining and providing CRUD interfaces for content types. Added user and permission administration and webhooks for CRUD events, e.g., an XML file could be uploaded and then parsed by a background service to fill in fields of an associated content type. Stuck to standard SQL to support SQLite, MySQL, PostgreSQL and Oracle 11g.

Also worked with libvips and developed a PDF generator for vehicle offers using wkhtmltopdf.

Mercedes Me Flexperience

https://media.daimler.com/marsMediaSite/en/instance/ko/Flexible-change-of-vehicle-with-Mercedes-me-Flexperience-A-Mercedes-Benz-for-every-occasion.xhtml?oid=33905760
Using Go, co-developed a MongoDB-based back end enabling customers to book multiple vehicles per year on one contract. Included customer registration, filtering of available vehicles, vehicle booking, starting and ending the actual rent (with upload of photo documentation), and an option to open and close the vehicle via the app. The API connected to a legacy system via SOAP and leveraged an OAuth2 service for others.

Implemented a Swagger/OpenAPIv2-to-Go generator. Made an HTTP proxy where users could add chained image transformation commands to an image URL using libvips. Added alpha blending—not part of libvips—using a C wrapper.

Later added support to the main API for multiple rental systems and added another German rental service provider.

Coordinated rollout in Russia: Developed a component duplicating personal data to Russian data storage to comply with Russian law. Wrote a detailed system description including UML diagrams, approved by the legal department of Mercedes Russia.

Implemented a notification service for iOS and Android using AWS SNS. Notifications were time-based ("send a message three days before booking begins"), so a scheduling system with the ability to cancel and update notification was implemented.

Mercedes Benz Customer Insight App

The CIA App aggregated customer profiles with related information like purchases and marketing activity. I helped with implementation of the API connecting to OAuth2, customer management, dealer management, and purchase systems of Mercedes Benz using Go and MongoDB.

Online Travel Agency

Design and implementation of front and back end for an online travel agency with HTML/CSS, jQuery, Java, and Contentful. Aggregation of travel offers from various sources. Implementation of SEO and catalog-related functionalities. I also implemented a back-office for travel agents and to upload travel offers from non-digitized suppliers.

Map of Recycling Projects in Berlin

https://www.remap-berlin.de/
Find an alternative to the trash bin for your superfluous or broken stuff!

This project was implemented with jQuery, Bootstrap, Java and the Directus CMS (PHP, https://directus.io/). It features a Google map with project filtering, extended info to every project and editorial content including WYSIWIG text, images, and videos. I also did the concept and coordinated production with the graphic designer and the HTML/CSS/JS from PSD2HTML.

Local Event Sharing Platform

Share events of your local community online for free!

This project was implemented with jQuery, Bootstrap, Golang, and MongoDB. The website is SEO optimized and imports events from external sources. It features extended search, including full text search via the Bleve package (https://blevesearch.com/), and email updates for saved searches. Events can be shared via Facebook and Twitter. I did the concept, coordinated the graphic designer and did all the front-end and back-end coding.

Languages

Go, SQL, Java, PHP, Bash, C, JavaScript, CSS, HTML, XML

Tools

Jira, Git, Sublime Text, GoLand, Jenkins, Apache Tomcat, Mantis, Postman, Make, Makefile, Amazon Simple Notification Service (Amazon SNS)

Paradigms

Agile Software Development, Scrum, Concurrent Programming

Platforms

Linux, Apache2, LAMP, Amazon Web Services (AWS), Docker, Amazon EC2, AWS Lambda

Storage

MySQL, MongoDB, SQLite, PostgreSQL, JSON, Elasticsearch

Frameworks

Swagger, Bootstrap, OAuth 2

Libraries/APIs

jQuery

Other

Microsoft 365, Certified ScrumMaster (CSM), Serverless

2000 - 2005

Master's Degree (Dipl.-Informatiker) in Computer Science

FU Hagen - Hagen, Germany

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring