Resume

My Vision & Me

My name is Simon.

Hello, that's me.
Hello, that's me.

I'm a visionary for software engineering and a pragmatist in writing code. Since my studies I’m inspired by the expressive power of computer science. Numerous processes from the physical world can be simplified with a digital product. The computer is our tool to soon start realizing at low cost. It’s fine if it fails with the first attempt. With an iterative process, constant feedback from users and data-driven observations we can validate our idea early and regularly and improve our development process organically.

During my three years as a professional full stack developer I got the chance to move to the beautiful city of Lisbon. On top of my daily coding time in various projects I became a mentor for new hires. For each new portuguese colleague I had to come up with an optimal strategy for his onboarding. My key to success was to be patient to understand his level of knowledge first. I wanted to understand if he is a top-down or bottom-up learner. Then I thought of different ways to explain a subject and visualize it such that my mentee could actively dive into the complexity of a big software system. It makes me happy when people succeed with my support. And it's also selfish: I feel deepening my own knowledge every time I share it.

The amount of acquirable skills in IT are endless. One can get lost. The best ways to learn coding and software engineering is to collaboratively work an a project that matters to you. Information needs a purpose to stick in our brains. That is why I encourage people to learn tech to achieve a certain goal, one that you stand behind. It might be a pet project you are passioned about, or it might be something that is useful for the public or even a company from the very start. That motivating factor is the first key to learn how to connect technologies to a working system.

The second key is a mentor. Information technology its derivatives tend to be complex (at least as complex as the complexity of the problems it solves). The first dive can perfectly happen on the basis of an online course, but soon a mentor to answer specific questions and to guide through a focused learning path becomes crucial. That is why every software engineering company does peer reviews of code and architectural decisions.

The conclusion for working on software in teams is straightforward: If a culture of conveying know-how to team mates prevails, even complex software projects will succeed, simply because everyone stays motivated and is at the edge of the team's proficiency.

For the craft of coding, I’m supporting the following credos:

Explicit is better than implicit

Simple is better than complex

Complex is better than complicated

Recently I decided I'm still too young to stay at one company until all my hair is grey and I started to work as a trainer and freelancer in various fields. Checkout what I can offer for you.

Technology that I use and still like

The only cliche about programmers that holds true for me is my adoration of coffee. I usually enjoy a Flat White I produce manually by my old-school Bialetti. Definitely a good start into a high motivation day using some of this technologies:

GolangUsed it daily for my full-time job to build microservices. The language and its great standard library is so easy to learn. I became an expert in this language and enjoy working with it.
PythonUsed it at university, my student jobs, mostly together with Django for web projects and Jupyter / Pandas for scientific projects. I like it for its diversity, ecosystem and it is still the fastest way to build prototypes or combine existing systems.
Docker & KubernetesIt's my go-to solution for products that demand high development scalability; the only way to achieve this for the long-term is to strive for incrementally updatedable microservices from the very start. When integrating microservices into modern cloud platforms' ecosystem, the main focus should be on clean APIs between services, to the "outside world" and the fine tuning of the services' interaction with the cloud's built-in infrastructure. Over the course of three years, I learned how to make it a rock solid deployment strategy.
Google Cloud & Microsoft Azure (managed with Terraform)I was lucky to work with both clouds on projects scaling to multiple regions. I'm used to having a staged deployment strategy with at least three stages and automated tests to ensure continuous deployments never break the production system. I was specifically involved in configuring cloud infrastructure to enable system tests running over multiple services, both on deployed systems and as part of a continuous integration pipeline.
PostgreSQLSome classic things are here to stay. For most problems, even in distributed microservice architectures, (multiple) PostgreSQL databases are still the best choice for clean data organization.
FlutterIn my last project at work, we built a stock receipt management platform interfacing with a Flutter app developed by us as well. The app facilitates the work of thousands of employees. I was code owner for the distributed & offline capable authentication process and ensured its security. I also architectured asynchronous data synchronization mechanics for extensive base data. Currently I'm using Flutter in a pet project where I build an App to democratize transparent food production.
ReactJSMy choice for web frontends, at least if I start from scratch. For example, this very site is built using Gatsby, a static site generator based on React allowing me to write my blog articles in lovely simple Markdown.
Java EEIn my internship at ergon I got in touch with the Java EE stack and built a visual configurator with Java Swing and custom extensions. In my first project at freiheit.com I also used Spring Boot to build a customizable real estate search.

Companies

I worked for

Dec 2017 - Dec 2020
freiheit.com Lisbon
Full stack developer

My journey at freiheit.com got extra exciting when I was selected to build up the first international engineering hub in Lisbon, Portugal. The initiative got a huge success and I could outgrow myself in one of my strength: integrating new hires into a highly motivated and effective team following highest engineering standards.

Dec 2017 - Dec 2020
freiheit.com Hamburg
Full stack Developer

At the pure engineering company freiheit.com I was building highly scalable systems as a full stack developer. From requirements engineering to SRE, I was involved in all steps to build world-class software products, mostly deployed to the cloud but also inside the cars of a major car manufacturer.

February 2013 - July 2013
ETH Zürich
Online polls for didactic research

Development of a tool for flexible polls with PHP/MySQL.

January 2014 - July 2014
Ergon Informatik AG
Internship

Development of an interactive visualization of telecommunication products/services with Java Swing.

Education

My Qualification

2014 - 2017
tanzquotient.org
IT & Board Member (Volutary work)

My educational path might be impressive, but I'm more proud of my contributions to this students association, where I helped to scale dance classes to thousands of pariticipants every year by digitizing all repetitive processes. The team backing that association was built by students of various backgrounds and all of them did join the project solely by intrinsic motivation (and some free pizza). Since I experienced this environment of people with a strong common goal, helping each other to push boundaries, I believe every team should carefully cultivate the sources of motivation.

2015 - 2017
ETH Zurich
MSc., Computer Science

I specialized in distributed systems and programming methodology. My Master Thesis about a static analyser was awarded with the highest possible grade.

2010 - 2015
ETH Zurich
BSc., Computer Science

My roots are swiss and after Gymnasium I moved to Zurich to start my studies in Computer Science at ETH Zurich. While I enjoyed the diversity of subjects at my beautiful Gymnasium in Wohlen AG, I was eager to enter the world of science and challenges that would really ask for my focus. The first years were tough, but priceless to learn how to get self-organized and tackle any level of complexity.

My work stack

Text EditorVisual Studio Code and sometimes IDEs from Jet Brains
TerminalOh my Zsh
ComputerThinkpad X1 Carbon Gen 8
KeyboardThe self-soldered version of an Ergodox EZ Mechanical Keyboard
UI DesignPen & blank paper, sometimes Figma
HeadphonesI love silence at work, but I do play the violine or the guitar when I need a virtuosic break.
InspirationThis I get from mindful Yoga breaks or by having a swim in the beautiful atlantic ocean.

Caparica beach near Lisbon
A shot I took at the Castelo Beach (Caparica) near Lisbon.

The site is hosted on GitLab Pages.