CV

Frank Schröder, Amsterdam, NL

@magiconair LinkedIn Profile

Full-stack distributed systems engineer with 25+ years experience who likes building and running high-scale production systems in Go.

Over the years I have worked at Netscape, eBay and HashiCorp dealing with all aspects of the system engineering lifecycle. I have written a couple of open-source tools and contributed to several projects. At HashiCorp I have been a Consul maintainer.

I have lived in Germany, Cameroon and The Netherlands and have experience working remote and on-site both as employee and external consultant.

For the most part I have worked in the telecommunications and e-commerce sector but would like to work in other industries like Energy, IoT, Automation, Robotics, Biotech or Logistics. Preferably fully or partially remote, in the Amsterdam area or somewhere in southern Germany.

  • 25+ years software development
  • 20+ years building and running distributed systems
  • 6+ years writing production grade Go software
  • Several open-source projects, e.g. fabio HTTP reverse proxy, properties library for Go, vendorfmt tool
  • Built a medium sized team of senior engineers
  • Performed 200+ interviews to find them
  • Line management of the team members
  • Presentations in front of large, technical audiences
  • Responsible for multi-million Euro project with high-visibility and low tolerance for failure
  • Focus on deadlines, deliverables, automation and simplicity
  • Fluent in English, German and Dutch

Experience

2017-2018: Kramp Hub, Utrecht, NL (Freelance)
Software Engineer, Go Developer

Google Cloud, Kubernetes, CI/CD, Go

  • Build CI/CD workflow for Kubernetes with Google Container Builder
  • Build Go reverse proxy for complex rewrite rules
2017: HashiCorp, Amsterdam, NL (Remote)
Software Engineer, Consul Maintainer, Go Developer

Go, Consul, fabio, github, community, Open-Source

Consul (https://github.com/hashicorp/consul) maintainer.

  • Stabilized and sped up tests (4m to 40sec), builds and startup time.
  • Removed race conditions, refactored config system, bug fixing, community support
  • Developed https://github.com/hashicorp/go-discover for cloud auto-discovery
  • First commit on day 2, #3 committer after six months

Worked on https://github.com/fabiolb/fabio as project owner and maintainer. fabio is my consul aware cloud load balancer.

Worked remote from Amsterdam with the rest of the team on US west coast.

2012-2017: eBay/Marktplaats, Amsterdam, NL
Architect, Team Lead, Manager, Go Developer

DevOps, Full-Stack, Distributed Systems, Scaling, Databases, Go, Java, Python, MySQL, Linux, Kafka, Riak, Redis, Consul, Nomad, fabio, Team Lead, Architect, Hiring, Line Management, Open-Source

Responsible for turning the pay-per-click advertisement system of the eBay Classifieds Group (eCG) into a scalable, multi-tenant SaaS platform within eCG (first of a kind within eCG). Deployed in three countries (NL, DK, CA) and more to come.

Responsible for growing the team from 3 to 15 senior developers. Performed 200+ interviews with senior candidates.

Responsible for converting the Java/Scala based microservice approach into a manageable and scalable set of services in Go.

Responsible for tuning every aspect of the whole development cycle from team composition, bug tracking, code organization, processes, build tools, integration tests, code and architecture review and training.

Open-sourced a zero-conf HTTP(S) load-balancer (https://github.com/fabiolb/fabio) and a properties library in Go (https://github.com/magiconair/properties).

Hands-on and coding the entire time.

2010-2011: Enaikoon GmbH, Berlin, DE (Remote from Cameroon, Freelance)
Web Application and Geo Location Developer

Geo Tracking, Java, JavaScript, PHP, GPS

Built a single page web application and the supporting backend for geo tracking of GPS devices.

Fully asynchronous, message-driven, stateless architecture. Frontend in JavaScript, backend in Java and PHP, messages with JMS and custom AJAX push events, clustering with Hazelcast.

Virtualization Consultant, Software Developer

VMware ESXi, ghettoUI

Planning and installation of a virtualization solution based on VMware ESXi 4.x to reduce maintenance and operations cost.

2010: Ministry of Environmental Protection/CIDE, Yaoundé, Cameroon
Linux Consultant, Trainer

Linux, KVM, Training

Setup of a web server and training environment on Linux with KVM virtualization.

Development of hands-on training courses for the administrators.

2004-2010: SharpMind, Frankfurt, Germany
Partner, Architect, Software Developer, Ops and Support

DevOps, Distributed Systems, Scaling, Linux Vserver, Datacenter, Provisioning, Java, MySQL, Postgres, Scaling, GSM, GPS

Responsible for all aspects of the software development and product lifecycle including design, setup and maintenance of SharpMind’s 24x7, scalable and highly available hosting infrastructure with 50 physical and 150 virtual servers (containers).

Design, implementation, deployment and maintenance of SharpMind’s distributed, scalable, highly-available server based applications based on Java, Spring, Hibernate, RESTEasy, MySQL on Linux.

  • custom linux installer for fast bare-metal provisioning
  • offboard navigation server for mobile phones
  • customer and product registration system
  • call center interface for 400 call center agents
  • software update server for one million customers
  • game server for mobile game
  • map application for iPhone
  • level editor for mobile game on macOS
  • offline location aware public transit routing app for iPhone (“Big Red Zebra”)
  • GSM cell tracker for offline geo-location
  • automated VoIP PBX systems with Asterisk and Bluetooth on Linux
  • various tools for automation, build and packaging
  • 24x7 on-call support for hosted applications

Strong interaction with customers and 3rd party suppliers.

2000-2004: AirFlash/Webraska, Frankfurt, Germany
Senior Software Engineer

DevOps, Distributed Systems, Scaling, Networking, Linux, Java, SQL, Bash, Informix

Responsible for building and running scalable distributed systems and the network server infastructure in Germany, France and the US.

Wrote proximity search algorithms and render frameworks for WML/HTML/HDML in Java. Tuned database queries and layout. Sped up build process, wrote automation with shell scripts.

Management of small teams of developers. Work with teams in the US, France and Australia.

2000: CSC Ploenzke AG, Frankfurt, Germany
Senior Consultant, Architect

Architect for a news portal project for a bank.

Review of the existing portal architecture. Design and implementation of data input drivers for managing content feeds. Management of a team of developers for implementing the data import modules

1997-2000: Netscape, Munich, Germany
1997-2000: Senior Consultant, Architect, Software Developer

Distributed Systems, Scaling, Networking, Solaris, Java, JavaScript

Built large scale web-hosting and email systems with Netscape products on Solaris.

Developed user interface frameworks for LDAP servers in JavaScript.

Trained 3rd party support staff of our customers.

1989-1997: Multiple Locations, Germany, 1989-1997
Freelance Software Engineer

C, C++, Windows, Delphi, HyperCard

Perform code reviews for software projects, train developers in C++, software development

Built multi-media system on MacOS for the housing areas of the US Forces in Germany.

Development of several shareware programs, e.g. StickyNotes for Windows 95

Management of a small development team

Education

University of Saarbrücken, Germany - Masters of Computer Science, 1997

References