About me
My name is Martin Vielsmaier. I work as a software developer & consultant in southern Germany & remote. My main focus of expertise and interest is in backend technologies. I speak both German and English.
I can help companies on different levels: If you have a strong team with good practices I can just pitch in to get more things done. If your team lacks some skills or practices (DevOps, TDD, Architecture or OOP), I can help establish those. If you don’t have a team and work with an agency, I can be your technical advisor to ensure you get the most out their work.
I have several years of experience in building software solutions for various problems using a wide range of technologies. I have used Ruby, Python, Typescript, Scala and Java in backend systems and Javascript & Typescript (using Angular and React) in UIs. In most projects UIs were made of web technologies, but I also worked with Desktop and Mobile environments. On the database side, I have mainly worked with MySQL, PostgreSQL, Redis, MongoDB and Google BigQuery. I also have solid experience with both SOLR and Elastic Search. In recent years, I also gained experience in Event-driven and Event-sourced systems. Messaging platforms I have used include Kafka and RabbitMQ.
Another part of my work spanned activities around build, testing, integration, deployment and operations of the systems I built (aka DevOps). In this area I worked with several testing frameworks, CI tools and deployment options: RSpec, Cucumber, Selenium, nosetest, pytest, Jenkins, Cirle CI, Github Actions, dedicated Linux servers /w automatic provisioning, AWS (EC2, RDS, Cloudformation, Lambda, Elastic Beanstalks, ECS, CDK, EKS), Azure (AKS, ARM, Bicep, PostgreSQL Flex Servers, Networking), Terraform, Docker and Kubernetes.
Though not professionally, I have some experience in building and programming small hardware gadgets from various parts of the Raspberry Pi and Arduino ecosystem.
For more detailed information, here is an excerpt from my CV:
Freelance Project Experience
Project: SaaS in the EDI space: sento.io (August 2021 - April 2022)
Helped the start up with the first steps in developing the product and coached the team on Python, Software Architecture & processes.
Technologies: Python 3, FastAPI, Celery, PostgreSQL, Kubernetes, Helm, EDIFACT
Backend for Web-Application: Internal Test application (March 2021 - July 2021)
Built the backend for an internal test management application. A main challenge was the implementation of a event-sourcing storage that supports branching & merges.
Technologies: Python 3, FastAPI, PostgreSQL, Event Sourcing, Docker, Kubernetes
Consulting: SaaS Platform: teleclinic (August 2020 - January 2021)
Advising CTO & engineering team on software architecture, performance & DevOps.
Technologies: Python 3, Django, PostgreSQL, Docker, Amazon ECS, AWS CDK
SaaS Platform: Alasco (June 2018 - Dec 2018)
Helped a startup with the first steps in development of their product & coached the team around Python 3 & Django.
Technologies: Python 3, Django, PostgreSQL, React.js, Selenium, CircleCI, Docker, Elastic Beanstalks
Backend for web app: medical motion (May 2018 - Oct 2019)
Built the backend & infrastructure for a MVP web application.
Technologies: Python3, Flask, PostgreSQL, Bitbucket pipelines, Ansible, EC2, RDS
Online dictionary: Spread the sign (Nov 2017 - July 2018)
Replace old UI of the sign language video dictionary with a new website. Integrate new formats (360 degree images, Maps) for showing the video content.
Technologies: Python 3 (Flask), PostgreSQL, Elastic Search, Pannellum, Google Maps
Overhaul & extension of quantitative analytics library (Nov 2017 - June 2018)
The main focus of the project is to increase the code quality, readability, and extensibility of the library.
Technologies: Python 2, Pandas, Numpy
Replacement of administration tool for an online dictionary (Oct 2017 - Dec 2017)
Replaced a legacy application for the administration of an online dictionary. Because the public part stayed the same the changes to the legacy database schema had be minimal.
Technologies: Python 3 (Flask, flask-admin), PostgreSQL, Elm/JS/CSS, Bootstrap 3
IoT Sensor Module @eluminocity (Aug 2017 - Oct 2017)
Helped building the prototype for a IoT sensor module which will be deployed on street lamps and collect radar data about traffic. Main responsibilities in the project was to coach people around Python 3, do code review & pitch in during time of approaching deadlines.
Technologies: Python 2 & 3, C, Raspberry Pi, XMC4700, AWS IoT, EC2
Skimio (June 2017 - May 2018)
Building a prototype for a web application (SaaS) for competence profiles & personal development.
Technologies: Python (Flask & friends), Elm/JS/CSS, MongoDB
Work Experience as Employee
Lead Software Architect, Markant Services International GmbH, Offenburg (January 2024 - December 2024)
After sento shutdown one of their products, Markant bought it. I lead the migration to their infrastructure and helped to hire and train a team of developers that will continue with the development. The engagement is limited to one year at my request and will end in December 2024 as the goals are reached.
Technologies: Python 3, PostgreSQL, Event-driven Architecture, GraphQL, Kafka, Kubernetes, Terraform, Modular Monolith
Lead Backend Developer, sento GmbH, Munich (April 2022 - Dec 2023)
After helping as a freelancer, I joined sento as a fulltime employee. I lead the development of two products from zero to first market successes.
Technologies: Python 3, PostgreSQL, Event-driven Architecture, GraphQL, Kafka, Kubernetes, Terraform, Modular Monolith
Head of Engineering, Alasco GmbH, Munich (Jan 2019 - Nov 2019 and April 2020 - Feb 2021)
At Alasco, after 6 months of freelance consulting, I took over the role of Head of Engineering. The contract was limited until Nov 2019 from the start, as I planned to move out of Munich at this date.
I was responsible for both processes around software development and software architecture of the Alasco application.
Stylight GmbH, Munich (Mar 2014 - May 2017)
At Stylight, I worked in three different teams:
Product service team: Lead backend developer (Feb 2016 - May 2017)
A team that took over the responsibilities for on-site search data and product relevance calculations. We created a service layer between the search engine and consumer teams (Website/Mobile apps) and moved some ranking functionality from daily processes to a on-request basis.
Technologies: Scala (Finatra/Finagle), Python (Flask, Tornado), MySQL, PostgreSQL, SOLR, Google BigQuery, Docker, AWS (EC2, Cloudformation, RDS), Varnish
Search Engine Advertising team: Backend developer (Jan 2015 - Feb 2016)
In the move towards cross-functional teams, I took over the technical responsibilities for the SEA team. We moved a lot of functionality from a monolithic application to smaller services and from self-hosted servers to EC2- and Docker-based deployments. In this time I also took over people management duties for 2-3 other developers.
Technologies: Python (Flask), JS/CSS, PostgreSQL, Docker, AWS (EC2, Cloudformation, RDS)
Backend team: Software developer (Mar 2014 - Jan 2015)
A scrum team that developed mostly internal tools for most of Stylight’s departments. I was part of the feature development (both frontend and backend) as well as internal support.
Technologies: Python (Tornado, Celery), HTML/Javascript/CSS, MySQL, Java, PHP, Jenkins
Backend Developer, crealytics GmbH, Passau (Oct 2012 - Feb 2014)
I worked as a software developer in a Scrum team (distributed between Passau and Berlin) on the main product, a SEA campaign management tool. My responsibilities included (mostly backend) feature development, support for internal users and the setup of the CI pipeline.
Technologies: Ruby (with and without Rails), Scala, Coffeescript, TDD (RSpec/Cucumber), PostgreSQL, MongoDB, Jenkins