I really like this quote because it reflects one oy my beliefs in software programming that I developed over the years; Building software that can easily be understood by fellow software engineers.
Having spent a lot of time pounding my head in agony trying to understand (legacy) code, I have come to the conclusion that I thrive to not be the cause of someone else's headache ๐
I have been doing software development for over 35 years now. Ranging from some disgraceful Assembler code hacking on home computers to ai-assisted microservice coding for the cloud.
In most recent years I have been expanding my playing from pure coding to cover the whole software development lifecycle, from refining requirements to definition of continuous deployment pipelines.
I am also a huge fan of agile software development. Since I not only see it as the best way to produce tangible results that actually benefit the customer, but also as the best way of collaborating and working together as a team.
Currently I am working as a software developer on the migrating of legacy systems to kubernetes. Which includes:
- Redesigning these systems to a cloud native architecture (where possible)
- Shifting deployment to GitOps with flux
- Definition of GitLab pipelines for Continuous deployment
- Configuring various CNCF projects like helm, flux or keda.
Besides that I also try to contribute to the Open Source community whenever possible. Mostly documentation or bug fixes like my least pull request for the trivy-operator.
I also have a strong interest in AI and Machine Learning, working with Tensorflow, Open AI and GitHubs Copilot.
It's interesting that in hindsight, the things I remember most are the things that were not really the shinning examples of software development. So please take the following list withe the appropriate grain of salt ๐
- Having to convince fellow team members that putting an Apache Webserver into the internet without any security measures might not be the best idea.
- Feeding a Red Hat Satellite server with RPMs through at least 3 ssh tunnels and a SOCKS proxy to implement Continuous Delivery.
- Defining SOA systems and BPEL workflows using ESBs with such fine-sounding names like Talend or webMethods that would push the xml parsing to a new, unprecedented level.
- Carefully gardening Spring Boot Monoliths to size in all dimensions where no application had gone before.
- Having to witness dozens of pitiful developers being tortured by having to code SQL statements for hundreds of JEE Entity Beans with bean managed persistence.
- Bringing down whole clusters of banking servers by rather unconventional exception handling in a static initialization block.
- Witnessing probably the biggest online bond trade in 2000, using a Java Applet.
- Consulting french customers on Linux and Databases in such annoying french that these poor people voluntarily talk german.