Ahoy, glad you made it here!
I’m Stefan Exner (hence the domain name), currently working as Digital Solution Architect and living in Hamburg, Germany.
With 4 older brothers who all ended up somewhere in computer science or architecture, there might have been a slight nudge to go into the same direction - I’ve seen pictures of 3-year-old me with a computer keyboard. My starting point with programming was QuickBASIC at the age of 11, followed by Pascal, Delphi, VB.net, PHP, … until I fell in love with Ruby in 2008 due to its code aesthetic. Hard to describe, but I’m sure fellow Rubyists understand the beauty of good Ruby code 😌
I like helping people identify their technical needs and working with them to find a solution. Before starting development on a client project, it’s most important to make sure that it will actually solve their problem. Over the years, I learned a lot regarding translating business requirements into technology and communication with both parties to find the best possible solutions for everyone.
And to get a few buzzwords out of the way, here’s a excerpt of what I’ve worked with and as in the recent past:
- Gitlab (CI)
- Fullstack Development
- Tech Lead
- Backend Team Lead
- Technical Consulting
Apart from work, I love making music (Piano, Guitar, Violin, Singing), audio books (“Hörspiele”) and occasionally doing stupid voices (which lead to a role on “Die drei Fragezeichen” - a dream come true for me). Oh, and I started with Postcrossing again after a few years of hiatus to see a bit more of the world in times of Covid.
Digital Solution Architect / Fullstack Developer
2020-2021 at MVP Lab GmbH / Lokalportal
After the insolvency of my previous company, the intellectual property was bought by an investor who decided to continue development with a very small team. I was asked to join said team and decided to do so for a certain time as I still believe in the idea of Lokalportal as base of several possible products. Since I’ve been there since the beginning, I still felt a bit responsible for it as well.
Due to the circumstances, I’ve been doing a lot of backend development work again, including containerization, server administration and CI work - basically everything that’s not considered to be purely frontend and needs to be done.
Head of Technology Innovation
2016-2020 at Lokalportal GmbH
Lokalportal is a mix of a social network and publishing platform. It started with a closed neighborhood network (like nextdoor), but evolved into an open news and community building platform.
The title pretty much sums it up. After having started the company’s backend in Ruby on Rails as a freelancer while finishing my Master’s degree, I got an offer to work full-time for them. When I joined the company in 2016, we were just 5 people.
Since I knew the project since the beginning and generally had broad knowledge both of the product and its technology, I had to fill multiple roles as the company grew:
- Backend development
- Leading the backend team (including job interviews, etc.)
- Keeping an architectural overview over “Lokalportal” and various side projects
- Helping discover problems that might affect multiple teams and get them to find a common solution / keep each other in the loop regarding development.
- Provide advice to the product owner regarding the technical feasibility and time/effort of new features
- Do all the other stuff that is needed to keep development working and that’s only noticed when it’s not done anymore.
While all of these roles were important for the company, it was too much for one person. I never felt like I did enough for each of them and felt bad e.g. for not spending enough time with the backend team when working on something across teams.
In 2019 and with almost 20 developers, the founders and I decided to assign me the role of Head of Technology Innovation which meant I could concentrate on a high level view of all of the company’s projects without being too involved in daily development business. I’d describe it as a mixture of internal consulting, research and POC development.
Unfortunately, the company went into insolvency in early 2020 due to the situation in German publishing houses during Covid19.
Technical Projects during this time include:
- The Ruby on Rails API serving lokalportal.de
- An admin application (Rails and Vue 2)
- A system to automatically create localized ads on Facebook and Google Adwords based on content from different sources (e.g. posts from Lokalportal)
- On-the-fly mapping of external content to a generic import format using Google Cloud Functions
- A prototype for Google Assistant integration for Lokalportal (including Google Home)
- Building a complex CI setup (building containers, linting, unit tests, capybara/cypress feature tests)
You made it this far, well done! Sending you some energy in the internet's purest form - cat pictures!
Freelance Work while studying Computer Science (Master's Degree)
2009-2016 at CAU Kiel
Even though studying was my main job during this time, I started working as a freelance developer to gain more professional experience and be more prepared after getting my degree.
The project I’m most proud of during this time is the iLearn e-learning platform that’s still in use to this day for most computer science lectures and therefore by all attending students.
The system started as a bachelor project by a group of students who didn’t have a lot of previous experience in web development or projects of this size. After the students finished their studies, the university searched for someone who could continue development on it.
In the following time, I rewrote most of the application to give it a more modern look and feel (including AJAX content for the first time). Yes, it’s bootstrap with a few own extensions, but I’ve unfortunately never been much of a designer and it looked good enough 😅
While the iLearn system is still in use, it might be replaced by a commercial e-learning platform in the future. I might be able to open-source the code in the future as I don’t know of any other platform yet that’s so specialized for STEM lectures and exercises.
Apart from development work, I was booked as lecturer for the IQSH and helped training teachers to become computer science teachers in a practical module involving Lego Mindstorms robots. This is something I’m still involved in to the present day.
Full Stack Ruby on Rails Developer
2008-2009 at Webmedia/Visrez
While Visrez is specializing on 3D floorplans nowadays, the company was mainly developing booking engines for hotels and event venues in Ireland back then.
After a few weeks of internship at the company, I started working full-time on the main project which was a monolithic booking engine written in Ruby on Rails that was already in use by various venues all over Ireland.
My work included extending the application with a better backend and skin system (based on Shopify’s Liquid Template Engine) while working directly with our customers.
I still worked for them now and then during my time as a freelancer.
Ruby on Rails
I started with Rails development in 2008 and it’s the language/framework combination I know most about.
Over the years, wrote several gems, including the POC for a STM library for Ruby which was part of my Master’s Thesis.
Examples of my work can be found on my Github Profile
I’ve been a speaker at the Ruby Unconf in Hamburg in 2018 and 2019 (both times spontaneously with a presentation built in the night before, but enough people still voted for it 😅) and try to attend the Ruby Usergroup regularly.
After joining Lokalportal, I got myself into Angular (1.5 at the time) and later Vue 2 which I used a lot alongside Rails for dynamic components. I also worked on standard node projects, e.g. in Google Cloud Functions.
I don’t see myself as an expert in building a big SPA in either framework, but I know how they work and will find my way around after a short time.
Server Administration / CI / …
While I’m definitely not an expert in server administration,
I usually get where I need to with a bit of help from Google.
I love working with Docker due to its encapsulation,
scalability and the general feeling of creating something clean and tidy.
even complex microservice architectures became manageable again.
I also have experience in building complex CI pipelines based on Docker, e.g. in Gitlab-CI.
Example work: This website runs in Docker
nginx-proxy on an own vServer,
each push triggers a build through Github Actions and deployment is done via webhook.
I worked with a lot of languages over the years and studying computer science led to broad overview over many different programming concepts (functional, logical, etc).
In the end, development is development. When you start a new language, you just have to make sure you understand the core principles behind it and try to get into best practices. You can’t be an expert in everything, but you can work with everything.
An incomplete list of other languages I worked with in the past:
A complete client/server office management solution including employee management,
orders, time sheets, etc.
It’s still in use and works to the current day which is pretty mind-blowing and speaks for Windows 10’s compatibility with old software.
Also, various smaller applications which I just found out are still available on freeware.de.
PHP / MySQL
Various websites, the usual starting point for web development back then.
Later wordpress customizations.
Haskell, Erlang, Prolog
Since my master’s degree was in declarative and distributed programming, I came into close contact with a lot of programming languages that aren’t used wildly outside the academic context. Out of all of them, I love Erlang’s concepts (not its syntax!) and am glad that Elixir transferred it into modern times.