Roman Seyffarth

Software Engineer / Software Architect
Profile Photo of Roman Seyffarth

Great to have you around! Feel free to explore my web resume. Most of the items reveal more information when you click on them.

First off, here is what makes me tick: My happiness feeds off of motivated teamwork and people actually enjoying the products of my work. My ability to learn quickly and thoroughly allows me to regularly dive into exciting new fields and fuel my thinking. To balance my job, where everything revolves around precise and rather scientific tasks, I enjoy spending time with my family, playing musical instruments and creating my own music when I'm off duty.

Age
34
Work Experience
13 Years (+ 3 Years in Dual Study Program)
Location
Düsseldorf, Germany
Email

Me & My Skills

Professional Skills

System / Solution Design

I am able to design solutions that involve multiple components, services, and external dependencies. I construct and communicate key concepts and designs using concise texts and diagrams instead of writing novels for the shelf. I document the system (and interfaces in particular) clearly to ensure smooth collaboration between all involved parties. I also encourage healthy discussions and contributions whenever possible.

Software Engineering

I develop software using modern development methods involving test-driven development, code reviews / pull requests, continuous integration, and continuous delivery. I am able to bootstrap projects in my main languages and set up build and deployment pipelines for them. Being a strong supporter of the DevOps mindset, I am also able to operate the software, including aspects like observability, resilience, and maintenance. Doing those things alone is fine, but I find practices like pair or team programming to be much more enjoyable and valuable.

Technical Project Lead

I can take responsibility for the technical execution of a project by organizing tasks/stories, aiding and supporting team members, and handling communication with the stakeholders.

Customer Communication

I am comfortable and experienced in direct customer communication during requirement analysis and typical support situations. Additionally, I am a reliable classroom training host and technical support in sales pitches.

Mentoring

I believe that a friendly and well-thought-out onboarding process can improve the performance and motivation of new colleagues significantly. I have experience in supporting new employees and interns finding their way and getting up to speed.

(Public) Speaking

I enjoy packaging a topic in a well-structured, accessible, and fun way when giving a talk. I have experience in giving public talks at conferences, internal tech talks, and hosting customer training.

Technical Skills

JVM + Spring Stack

I have experience in developing server applications using Java or Kotlin. The integration of various SQL and NoSQL databases, as well as message queues and LDAP directories, is something I've done a lot — especially using the Spring ecosystem.

Python

Due to my work in the field of data engineering and machine learning, Python has become a go-to language for me. Whether it's a small helper script, a server application, a data pipeline, or a Jupyter notebook for analysis, it can get the job done.

Docker / Kubernetes

Containerization has improved the development, testing, and deployment of applications significantly. I have worked with both Docker and Kubernetes in all of my recent projects. I am continuously applying newly-learned best practices on my private cluster to strengthen my knowledge and discover pitfalls early.

Cloud + Infrastructure as Code

In most of my recent projects, I got used to the team provisioning and maintaining their own cloud infrastructure. While I am very comfortable in using Google's cloud offerings (GCP), I also worked with AWS. I use tools like Terraform and Ansible to manage cloud environments.

Search / Elasticsearch

I have designed and implemented many search solutions based on Elasticsearch, Apache Lucene, and proprietary products, running in multi-language, multi-regional, public or user-restricted contexts.

More

In addition to the technologies above, I have worked with:

  • Kotlin
  • Java
  • JavaScript
  • Bash
  • Golang
  • Maven
  • Gradle
  • React
  • Lucene
  • Git
  • Gitlab
  • GitHub
  • Google Cloud Platform
  • Terraform
  • Terragrunt
  • Helm
  • Flux
  • ArgoCD
  • Ansible
  • Linux
  • Prometheus
  • Grafana
  • Datadog
  • Istio
  • Linkerd
  • Redis
  • SQL
  • PostgreSQL
  • Kafka
  • Keycloak
  • GraphQL
  • Audio Production

Values

  • Respect & Diversity — A safe space and a rich variety of different views allow great ideas to flourish. Since most of our work affects people of all genders, beliefs, cultures, and life situations, I think it is important not to think of one's own views as universal. Ideally, there is someone in the company to ask for an opinion. I'm also always enjoying discussions where everyone feels psychologically safe to share their thoughts and ideas, and I try to create this space whenever I'm able to.

  • Learning — The world around us changes rapidly, and we need to adapt. I enjoy learning about new methods and technologies, either by reading, asking colleagues, at meetups/conferences, or hands-on, while focusing especially on sustainable best practices. I happily share my knowledge and support others in their own learning process. When facing a specific problem, I usually try to fully understand the underlying concepts before doing something prematurely.

  • Feedback — I'm always eager to maintain a respectful and blameless feedback culture where concerns and feelings are being heard. To me, feedback is important for both the personal learning process and a healthy working atmosphere.

  • Quality — Having insufficient quality standards during a project or in product development demotivates everyone involved and takes its economic toll later on. I have high expectations to keep the quality of my projects up, by valuing consistency, applying testing practices, taking reviews seriously, and keeping the documentation recent. The documentation should also enable new colleagues to onboard easily without frustration. I try to encourage others to care for these quality aspects as well. In my opinion, high quality is the best way to keep both colleagues and customers happy and engaged.

Certifications

  • Certified Professional for Software Architecture (CPSA-F)
    Description

  • Oracle Certified Professional (Java SE 7)
    Certificate

  • Google Cloud Certified Professional — Data Engineer
    (expired 01/2020)

    Description - Certificate

  • ITIL Foundation v3

Side Projects / Interests

I've built a custom nesting box to film and stream footage during breeding times.

I love learning music theory and creating my own music. Occasionally I post finished songs on my SoundCloud profile.

Experience & Projects

Today

Development and Operation of Central Metadata Services in the Context of a Large German Video Streaming Platform

As part of an engineering team, I develop and operate services crucial to exploring and playing content on the streaming platform. The need to handle high traffic with spikes far exceeding thousands of requests per second makes performance tuning, resilience, scalability, and observability play a huge role in our daily work. Furthermore, this project allows me to gain experience in an environment with many agile teams working together on the same product.

2023

Development and Operation of Recommendation APIs Based on Machine Learning and Metric-Driven A/B Tests

In a cross-functional team consisting of business analysts, data scientists, and data engineers, we worked on recommender systems for aiding customers and business processes of a large German wholesale company. My work was focused on providing a technical platform for the data scientists to develop and improve models, and on serving trained models as APIs operated on the Google Cloud Platform. Observability of both business and technical metrics was critical for having an ongoing feedback cycle on which to base A/B testing and model improvement.

2021

Design and Development of a Microservice Platform to Aid Core Insurance Processes

As part of an agile engineering team, I designed, developed and shipped microservices while shaping and improving the underlying platform architecture. Moreover, my role included coordination and consulting with regard to a plurality of stakeholders and third parties. The project gave me a chance to experience and handle tense political situations.

Senior Software Engineer

codecentric AG, since 2019

As a software engineer and consultant, I help customers design and build software solutions. Moreover, I am glad to be part of the codecentric culture that provides space to learn and experiment with new technologies and encourages sharing this knowledge by giving talks or writing articles.

2019

Cloud-based, Multisite and Multi-Language Elasticsearch Setup

As technical lead of the project, I was responsible for designing and executing the migration of our customer's search setup from a proprietary search product to a custom, cloud-based Elasticsearch solution. The setup powered multiple public websites in different languages spread across the globe. We developed microservices for handling all indexing and search traffic for fine-grained access control.

2018

On-Device Image Object Detection Using a Self-Trained TensorFlow Model

We developed an app to aid fitters for sanitary facilities. I was responsible for creating and integrating a machine learning model that recognizes sanitary products in order to automatically list corresponding spare parts and feed dimension information to the AR component of the app. The model was trained using the Google ML Engine and was included in the app for on-device inference.

Senior Software Engineer

TWT Business Solutions, 2017 - 2019

My responsibilities continued to include design, implementation, and customer communication in search-based and geo-based projects, but more focused on a technical lead role. Additionally, whenever a project in the company involved machine learning tasks, I was consulted or added to the project.

2017

Software Engineer

TWT Business Solutions, 2014 - 2017

I worked with proprietary and open-source search technology to design and implement custom search solutions in both public and permission-restricted contexts. Since the company is a Google Partner, I also developed geo-activated applications using Google APIs. I experienced the benefits of close and direct customer communication in most of my projects.

2014

Front and Back End Implementation for Industry-Level Mobile Devices

In the context of modernizing the entire system and process landscape of a customer in the steel industry, I was responsible for implementing the functionality of their mobile devices (web-based; with special scanning hardware) and the corresponding back-end APIs.

2013

Developer / Technology Consultant

Hewlett-Packard, 2012 - 2014

My role was to develop custom software for factory processes and to promote our solutions and ideas at trade fairs.

Study Team Project: Stock Car Game Using a Tablet as Racetrack and Smartphones as Controllers

In a team of three, we developed two Android apps as part of a stock car game. The app running on the tablet hosts the game and renders the racetrack. The smartphone app uses gyroscopic data to determine the desired amount of car acceleration and transmits it to the tablet. For communication, the apps use a performance-optimized custom protocol over Wi-Fi or Bluetooth. I learned a lot about performance optimization and efficient development in a team.

2012

Computer Science (B.Sc.)

Cooperative State University Stuttgart / Hewlett Packard, 2009 - 2012

I studied computer science in a "Dual Study Program" where every semester was followed by an internship phase in the company. This gave me a lot of practice in different sections of a global company. The curriculum focused mainly on theoretical and practical computer science, while also incorporating cross-disciplinary courses such as business administration. I took additional courses in the field of machine learning. I graduated with an overall score of 1.6 and a thesis grade of 1.2 (scale: 1 = best, 4 = worst).

2009