Passionate about software development, programming and software design - that's me.
I like writing code, clean code. Maintainability of code is key. Quality is key. And it's the right thing to do. For the businesses and our own sake (developers), to improve ourselves and what we do.
But what is 'clean-code'? Isn't this subjective?
No, it is not. Start with Robert C. Martin's book 'Clean-Code'. It describes principles that are today more and more commonly accepted.
This quote from Michael Feathers also is quite on spot: "Clean code always looks like it was written by someone who cares."
I like good software-design and I strive to know more and do better. That means I follow and apply the principles of SOLID and various software patterns. That also includes various architectural patterns. I try to think of the bigger picture of the software, looking at it from a higher-level.
I do practice the discipline of test-driven development (TDD). It is part of my daily job since ca. 2014 and I must say that I wouldn't want to do serious development without TDD anymore.
Why? Because it is a superior technique to reduce software defects to a minimum. Also does it help with designing testable, separated and decoupled code.
I'm an advocate of software craftsmanship. It is a growing community of developers that adhere to the principles of master, journeyman and apprentice together with a mindset of teaching and learning and helping each other.
But most of all does it bring back the principles of writing good software as they were envisioned by the people that did originally sign the Agile Manifesto.
My experience in software development ranges from simple bash scripts over assembler routines and Linux device drivers to large business applications with web UIs in the cloud with cluster and failover features.
I work extensively with the Java Virtual Machine. Writing Java code since 2000, and Scala code since 2010. I've also using Kotlin, Clojure and other languages running on the JVM.
But, in addition I have also done large projects with Cocoa on macOS, iOS. Projects for and on Android. Projects in .Net with C# and ASP.Net, C++, C, Python.
I also like Elixir (and the whole Erlang landscape). I've done a few small projects with it. It is a really attractive purely functional language with pure immutable data types, running on the battle proven Erlang VM.
As of late (in early 2019) I found the world of Common Lisp very intriguing. This web page was re-implemented lately in Common Lisp coming from Apache Wicket.
Why Common Lisp you may ask. Isn't it old? Well, it is, but old things are not necessarily bad. Sometimes it's the contrary.
Here are a few links where you might get more information about what I do:
In 2003 I received the degree in computer science at the Georg Simon Ohm university in Nuremberg, Germany.