Experience
Pitch Software GmbH
Senior Software Engineer
Berlin, Germany
January 2019–January 2024
- Contributed to the development of Pitch's backend and frontend systems, working over 4 different product areas and specializing in the offline-first sync system
- Introduced a reproducible development environment and tooling, improving workflows and productivity across the engineering team.
- Led a cross-team documentation working group, making technical onboarding smoother and improving internal knowledge sharing
- Took initiative to fix many frontend and backend problems, gaining buy-in from leadership
- Designed and implemented improvements to the core sync system to address data loss and developer productivity issues in offline-first functionality, working with senior leadership on a long-term roadmap
- Mentored junior engineers, guiding them through their first feature implementations and fostering technical growth
Geeny/Telefonicá Next GmbH
Backend Developer
Berlin, Germany
March 2017–December 2018
- Hired as part of the full-time expansion of the Geeny IoT Cloud platform from Telefonicá Next GmbH, a corporate startup, to build a data privacy-first IoT solution
- Designed and realized architectural level design and communications in a microservices environment
- Defined internal Docker development workflows, implemented CI and CD between microservice repositories with GitLab.
- Worked with a range of microservice and data engineering technologies
Red Pineapple Media GmbH
Software Engineer
Berlin, Germany
April 2015–February 2017
- Helped rewrite the video ad delivery system from PHP to a modern Clojure stack
- Rewrote business-critical APIs, improving performance and reliability with fewer resources
- Developed the company's Real Time Bidding (RTB) bidder
- Played a key role in system design, partner communication, and architecture decisions
lifelife UG
Full Stack Developer
Berlin, Germany
November 2014–April 2015
- Created a decoupled separate service to interact with the main Rails application
- Implemented funnel metrics, multiple locale support, and more
Skyscanner Ltd
Intern at Change the Market (R&D)
Edinburgh, UK
June–August 2013
- Built a better R&D frontend interface by writing a small DSL and parser in JavaScript
University of St Andrews
Research Intern
St Andrews, UK
June–July 2012
- Created a population simulation tool for demographic and graph database testing
Outside Responsibilities
Co-Organizer
Clojure Berlin Meetup
Berlin, Germany
October 2016–Present
- Part of a small team taking turns to MC, filling in for speakers, and getting to know the Clojure community across Berlin
Orga Team Member and Coach
ClojureBridge Berlin
Berlin, Germany
4 events, Summer 2015–Summer 2017
- Conducted outreach, triaged attendee invitations, organized catering, and more
Coach and Host
ClojureBridge Learner Group
Berlin, Germany
Summer 2015–Present
- Host weekly learner group sessions
Education
BSc (Hons) in Computer Science
University of St Andrews
United Kingdom
2010-2014
- Graduated with a 2:1 in June 2014
- Heavy practical education with subjects including: Data Encoding, Artificial Intelligence, Operating Systems, Computer Architecture, Knowledge Discovery and Datamining, and Programming Language Design and Implementation (PLDI)
University Thesis
Senior Honours Project (2014)
A System to Perform Sentiment Analysis of Tweets
- Wrote a program in Clojure and Python to judge different methods of feature extraction for sentiment analysis of Tweets using simple Machine Learning
Software Developer
- email: ben@lovell.io
- website: https://ben.lovell.io
- github: socksy
- mastodon: @socksy@toot.cat
Experience
Pitch Software GmbH
Senior Software EngineerBerlin, Germany
January 2019 – March 2024
Contributed to the development of Pitch's backend and frontend systems, working over 4 different product areas and ending up specializing in the offline-first sync system. Some of the stuff I worked on:
- introduced a reproducible development environment and tooling, improving workflows and productivity across engineering team
- led a cross-team documentation working group, making technical onboarding smoother and improving internal knowledge sharing
- took initiative to fix many frontend and backend problems, gaining buy-in from leadership
- designed and implemented improvement's to the the core sync system to address data loss and developer productivity issues in the offline first functionality, working with senior leadership on a long-term roadmap
- mentored junior engineers, guiding them through their first feature implementations and fostering technical growth
Geeny/Telefonicá Next GmbH
Backend Data EngineerBerlin, Germany
March 2017 – December 2019
Hired as part of the full time expansion of the Geeny IoT Cloud platform from Telefonicá Next GmbH, in order to build a data privacy first IoT solution I've:
- architected a microservices infrastructure on AWS with Docker, Kafka and HTTP/JSON
- analysed and translated product requirements into technical implementations
- delivered 3 crucial Clojure services under a month-long time constraint
- led the effort to have a 15-repo continuous integration and deployment process with GitLab CI/CD, reducing the release cycle from weeks to minutes
Red Pineapple Media GmbH
Software EngineerBerlin, Germany
April 2015 – February 2017
I was brought on to help the urgent rewrite of the video ad delivery system from PHP using a modern Clojure stack. Working in teams from 2 to 6 people I've:
- rewritten business-critical APIs, improving performance and reducing hosting infrastructure costs by 70%
- developed the company's Real Time Bidding (RTB) bidder, expanding their reach into a multibillion dollar market
- played a key role in system design, partner communication, and architecture decisions
lifelife UG
Full Stack DeveloperBerlin, Germany
November 2014 – April 2015
Created a decoupled separate service to interact with the main Rails application. Implemented funnel metrics, multiple locale support, and more.
Skyscanner Ltd
Intern at Change the Market (R&D)Edinburgh, UK
June 2013 – August 2013
Built a better R&D frontend interface by writing a small DSL & parser (in JavaScript).
University of St Andrews
Research InternJune 2012 – July 2012
Created a population simulation tool for demographic and graph db testing.
Outside Responsibilities
Clojure Berlin Meetup
Co-OrganizerBerlin, Germany
October 2016 – Present
Part of a small team taking turns to MC, filling in for lack of speakers, and keeping our 900 member meetup connected
ClojureBridge Berlin
Orga Team Member and CoachSummer 2015 – Summer 2017
Conducted outreach, triaged attendee invitations, organized catering, etc.
Education
University of St Andrews
2.1 June 2014, BSc (Hons) in Computer ScienceSt Andrews, UK
2010 – 2014
Heavy practical education with subjects including:
Data Encoding, Artificial Intelligence, Operating Systems, Computer Architecture, Knowledge Discovery and Datamining, Programming Language Design and Implementation (PLDI)