I'm an experienced leader & product-minded engineer deeply interested in collaboratively building useful products. With a backround spanning from small startups to scaling unicorns, I bring a wealth of experience in Elixir, Ruby and SQL complemented by JavaScript. I love Open Source, participating in the community and giving talks. My passion for performance optimization and benchmarking led me to create benchee.
In my most recent role as a Senior Staff Engineer, I led teams to success by removing obstacles, fostering a culture of collaboration and filling the gaps. Whether managing a product department of 15 or mentoring junior developers, my greatest joy comes from empowering others. I am fascinated by the human side of software development and continually strive for the optimal balance between immediate value delivery and long-term sustainability.
Remote
04/2021 — 10/2023
Worked on a big Elixir & Phoenix monolith with a focus on the payments domain, automating processes to ensure safe, quick & reliable payments of millions while improving processes and technology company wide.
- Implemented features to help our payments efficiency and product offering: automatic invoice payments, bank integration via PAIN XML to automate payments, enable direct debit for huge sums & allowing non local currencies
- Design and implementation of central payment projects aiming to incorporate more providers
- Most senior engineering individual contributor for a long time, involved in high level technology decision making
- Introduced Background Job System to guarantee reliable asynchronous execution
- Improved processes such as branching strategy (death to long lived branches!) and the RFC process itself
- Advocated for hiring non Elixir engineers & setup a training camp and mentoring structure to help them succeed
Shopify
08/2020 — 03/2021
Engineering Lead for a team working in Ruby on Rails on topics ranging from local market adaptation, to legal and delivery promise.
Self-employed
08/2019 — 07/2020
Consulting, Teaching and Development.
- Helped a company develop their first Elixir project, introducing the technology to the team
- Loadtested a Rails ecommerce system leading to 100x the number of concurrent checkouts with fewer servers
- Worked on a complex microservice metrics visualization application in Ruby & NodeJS
- Open Source work on the code coverage tool SimpleCov sponsored by Ruby Together
- Consulted on the design, architecture & implementation of an open source project, including implementation
Liefery
11/2017 — 2/2019
Led a product department of 15 together with the CTO, handling the day-to-day needs of the team.
- Helped, mentored & guided colleagues through 1o1s, pairing sessions, pull request reviews and knowledge sharing sessions
- Ran retrospective and iteration meetings, continously adapting and improving processes
- Gathered issues from operations and partners to define and triage solutions
- Architected and designed features with the squads
- Monitored application performance and fixed performance problems
- Screened and interviewed candidates
- Ran integration projects with customers to onboard them as quickly as possible
Liefery
01/2017 — 11/2017
Built and maintained applications to track shipments, plan tours and manage all required logistics data in Ruby on Rails, Elixir and Phoenix as well as JavaScript (AngularJS, React).
- Functioned as interim-CTO during a sabbatical
bitcrowd
01/2015 — 10/2016
Built applications, helping companies blossom. Worked as part of a team or team lead on customer projects big and small. Introduced practices such as retrospectives and Continous Integration and mentored juniors.
Self-employed
05/2013 — 09/2018
Occassional projects related to teaching programming, such as an introductory course at Humboldt-University Berlin.
Conferences
05/2012 — current
I like to speak at conferences to share knowledge and spread ideas. I have spoken at conferences such as Øredev, Lambdadays, Polyconf and Full Stack Fest (overview of my talks). I also helped organize JRubyConf & eurucamp 2015 and was a member of the program committee of GOTO Berlin 2014.
- My talks cover a wide range, from Benchmarking to "Functioning Among Humans"
- One of the main organizers and host for Devs for Ukraine
Open Source
08/2011 — current
I live and breathe Open Source and contribute to a variety of projects big and small. This is a selection of bigger projects I maintain or maintained.
- benchee a powerful and extensible benchmarking library for elixir and erlang
- simplecov the popular ruby code coverage tool
- Shoes an easy to use GUI toolkit written in JRuby that I also worked on as part of Google Summer of Code
Ruby User Group Berlin
10/2012 — current
A monthly meetup about Ruby and related technologies, with anywhere between 40-120 attendees. Co-created the Berlin Code of Conduct to ensure and promote a safe environment.
Rails Girls / code curious
06/2012 — current
Rails Girls helps to diversify the tech community by helping beginners to get in touch with programming. I coach at workshops and since 2013 I also coach a weekly project group, the rubycorns, helping attendees grow into Juniors & beyond.
Hasso Plattner Institute / Blekinge Institute of Technology (Erasmus)
2008 — 2014
Final grade: 1.2 (A), Specialization in Software Architecture, Internet Security, agile & globally distributed software development
Enginneering Practices
- agile Software Development (XP/Scrum/Kanban)
- Test Driven Development (RSpec, ExUnit, Jasmine...)
- Pair Programming
- Version Control (git)
Programming
- Object Oriented Programming (Ruby, Smalltalk)
- Functional Programming (Elixir, functional JavaScript)
- Web frameworks (Ruby on Rails, Phoenix)
- Benchmarking & Performance Improvements
- Web Technologies (HTML, CSS, JavaScript, JSON...)
Leadership & Communication Skills
- Run and moderate meeetings such as Retrospectives
- one-on-ones
- Mentoring and Teaching
- Empathy
- Eye for process improvements and bottle necks
System Architecture
- Database Design (SQL)
- Domain Driven Design
- Design Patterns
- Monoliths, microservices and the in-between
- APIs (modules, REST)