Photo Stefan Exner

Ahoy, glad you made it here!

I'm Stefan Exner (hence the domain name), currently working as IT freelancer (Development, Consulting, whatever is needed) 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 šŸ˜Œ

My favourite work could be described as simply helping people solve their technology related problems. This can include identifying the actual needs with them, choosing a proper technical stack to build on, developing a corresponding system myself, translating business requirements into technical ones and/or supporting an existing team. I love building MVPs and agile, iterative development. Start with something small and let it grow based on the respective circumstances.

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:

  • Technologies
  • Ruby/Railsļø
  • GraphQL
  • Solr
  • Docker
  • CI/CD (Gitlab, Github)
  • Javascript (Vanilla, Vue, node, Stimulus)
  • cypress
  • nginx
  • GCP/AWS
  • Experience
  • Full Stack Development
  • Tech Lead
  • Team Lead
  • Technical Consulting
  • Agile Development

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.

Past Work

Fullstack Development / DevOps
2022-Ongoing at Snaque GmbH

After creating the initial backend and backoffice applications as a freelancer, I was offered to join the team as its first employee and to continue my work on the platform.

With the official launch on the 20.10.2022, Snaque is now available to all interested publishing houses / advertisers.

Freelance Fullstack Development / DevOps
2022-2022 at Snaque GmbH

Snaque was/is a startup with the goal to introduce a way for casual readers to access articles currently completely locked behind paywalls. To do so, the idea was to get the user to interact with a Tinder-like ad (swiping, answering questions) and the corresponding advertiser paying the publishing house for the unlocked article. Thereā€™s more behind it, if youā€™re interested, please visit the company website!

My initial task was to build a backend application to handle the ad process, meaning the delivering of swipeable ads to the client, built by one of the companyā€™s founders.

The scope was enhanced over time to also cover an ad manager / editor and dashboards for various campaigns as well as setting up the necessary server infrastructure, monitoring and metrics.

Freelance Backend Developer
2021-2021 at sum.cumo / freeyou

While working as a freelancer at sum.cumo, I was deployed to a newly built team at freeyou. Our job was to extend all claims related aspects of the existing insurance platform, the underlying Rails engine and various additional gems.

My work included refactoring/streamlining the existing engine code and extending it by various helpers to keep future code clean and DRY. Apart from pure development, I worked closely with the PO and designer and on improving inter-team communication and the teamā€™s agile workflow.

Digital Solution Architect / Fullstack Developer
2020-2021 at MVP Lab GmbH

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.

Backend-Developer ? 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)

Training teachers to become certified computer science teachers
2013-2020 at IQSH

Iā€™ve been regularly booked as lecturer for the IQSH and helped training teachers to become computer science teachers in a practical module involving Lego Mindstorms robots.

Currently, these week long modules are paused due to the Covid19 situation, but will hopefully continue in the next years.

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.

You made it this far, well done!
Sending you some energy in the internet's purest form - cat pictures!

Kimmy the Cat Kimmy the Cat

Technologies and Skills

ruby-on-rails.md

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.

javascript.md

I started with Javascript a the time of IE6 and the Prototype framework. When jQuery came around, it was like a miracle regarding how fast and easy everything had become šŸ¦„. I had the same feeling again with ES6, Javascript had become a real and usable language.

For a few years, I was mainly working with Javascript in the context for Rails, meaning coffescript and jQuery. That was before bundlers like Webpack or Parcel came around and the asset pipeline was working great.

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.

Starting with my fullstack work at Snaque, I moved to using stimulus for most dynamic content instead of Vue and love it so far šŸ™‚

server_administration.md

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. With docker-compose/docker stack/docker-machine, even complex microservice architectures became manageable again.

I also have experience in building complex CI pipelines based on Docker, e.g. in Gitlab-CI or Github Actions. Automating large parts of the ā€œannoyingā€ or repetitive aspects of a developerā€™s work feels great.

other_languages.md

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:

Delphi 7

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.

Java, C

Mostly as part of my studies, but also later when working with Lego Mindstorms and the leJOS Firmware or NXC

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.