About Me
Who Am I?
Hello, my name is Eric-Alexander Schaefer. I am a husband, father, grandfather, and software engineer living near Munich/Germany.
What I Am Doing
I am developing software for all kinds of systems and tiers, always on the hunt for ways to become a better developer. I specialize in OOP with sprinkles of DDD and FP. Since the early 2000s, I am a firm proponent of Test Driven Development. When I am not developing software, I teach my fellow engineers.
Technologies
Over the course of my career, I worked with many programming languages and platforms. Most notable are Java, PHP (both since 1998, on and off), and C# (2003 - 2012).
From the early 90s until the early 2000s, I have been programming in C and C++ for DOS, Windows, and Unix. In between, I played with languages like PERL, Ruby, Closure, and F#, but never for anything productive. Lately, I am having a closer look at Go, Kotlin, Rust, and Python.
My ‘career’ started as a young teenager in the late 80s programming home computers in BASIC and Assembler (Sinclair ZX81, Commodore Amiga). When I attended university, I turned to PCs (DOS and later Linux) and UNIX Workstations (Sun, SGI, and DEC, mostly). I tortured those with C, C++, PERL, and Bash.
I have experience with various relational database systems like PostgreSQL, MySQL, and Oracle. For some projects, I used NoSQL databases like Redis, Dynamo, and Firestore.
Professional Development
I was born and raised in Dresden/Germany.
After studying Computer Science at TU Dresden, I got hired by automation systems company EAE Coswig. My projects there included a network abstraction layer for allowing control panels to communicate safely with control servers. I also built a large custom GUI/HMI application for said control panels for a theater automation system (a highly dynamic SCADA system frontend).
In 2012, I moved to Bavaria and got hired by Sixt in Munich and that’s where I am still at, most recently bearing the title “Senior Staff Engineer Software Development”. From the very beginning, I helped to build a vehicle telematics platform to facilitate various kinds of car-rental self-service products (think “car sharing”), which give a good scare to the competition.
In late 2019, I joined an internal consulting team of software architects advising development teams on topics of software architecture and software quality, as well as kickstarting vital new projects.
Apart from this, I was always doing in-house developer training and mentoring throughout my entire career. In the new team this became an even bigger role for me. I have trained hundreds of developers on our microservice platform and general application architecture in class-room and remote training courses and I created training video courses for self-paced learning.
Other Projects
From 2008 to 2013 I have been the maintainer of the Scheduler module for Drupal, which allows authors to publish their content on a schedule. Currently, I am the maintainer of the Auto Close Comments module, which closes posts for commenting after a specified time. More recently, I published an extension for commonmark-java for adding attributes to external links: commonmark-ext-external-links.
Since the early 2000s, I take care of the technical maintenance and development of macgadget and photoscala.