Marcus Schwarz

Code cleanup specialist since before it was cool

Hello! I have been a PHP developer for over 25 years. My focus is on making software efficient, fast, and resource-friendly. I am convinced that maintainability and performance are inextricably linked.

Most developers see legacy code as an obstacle or a chore, but I see the potential to not only improve maintainability through rigorous code cleanup and refactoring, but also to reduce TCO and avoid the often costly process of rebuilding a project.

I enjoy acting as a mentor with a focus on establishing a culture of code excellence and teaching teams how to actively manage and reduce technical debt — since the fastest line of code is the one that is never written in the first place.

This is what I do

I currently work at an agency as a Magento 2 developer. My focus is on optimizing and stabilizing existing Magento 2 shops. My responsibilities include ensuring code quality through unit and integration testing, API testing, code profiling, and code reviews. Of course, I also implement new features from time to time.

I specialize in:

  • Code refactoring and modernization: Converting outdated code structures that no longer comply with (Magento) standards into modern, testable components.
  • Performance audits and tuning: Analyzing program flows, database queries, and code quality to improve performance.
  • Monitoring compliance with coding standards: Maintaining existing CI pipelines and establishing new code standards and best practices.
  • Quality assurance: Code reviews and mentoring less experienced colleagues.

Tech Stack

An overview of the tools I usually work with.

That's what I did

I was already working with PHP back when the year still started with a one. And yet, even today, I still occasionally have to look up the parameter order for a particular method. Crazy!

What's also crazy is the experience I've built up over the last 25 years. In the late 90s, I ran a "cheat site" with friends, where you could find tips and tricks (and cheats) for a wide variety of computer and console games.

Soon, this was no longer manageable with vanilla HTML, so I started learning this strange language called PHP. There was a backend where you could enter cheats for games, and when someone called up a page, it was generated dynamically. Amazing!

"Crazy!" was also what our host said. The load on the database was far too high, and the costs for the host were absurd (we had a flat-rate offer and took full advantage of it). When he then threatened to shut down our project, one of the biggest single topic pages at that time, my interest in optimization was piqued.

In a cloak-and-dagger operation, I rebuilt the backend so that it generated static HTML code and stored it on disk. The hoster was satisfied, we were satisfied, the users were satisfied. Then school ended, the team went their separate ways, and the project was sold.

I secured my apprenticeship as an IT specialist (application development) by automating a week-long export/import/export process with a simple shell script during the trial day, saving several weeks of work.

After completing my training, I learned the tools of the trade for mentoring, recruiting, and training future IT specialists while studying business education with a focus on business informatics.

While still a student, I started working at a newly founded browser game company called "UpSim" as employee number 2. Initially, my job was simply to make finished games "translatable", but that situation changed quickly when I was asked to "make Kapiland, but in the Middle Ages". The rest was up to me. Instead of rebuilding everything from scratch, I decided to use the code from "Kapiland" and only adapt it where necessary. And so, in no time at all, "Kapi Regnum" was born.

The company grew quite quickly and later changed its name to "upjers". I developed other games (such as Kapi Hospital), but my responsibilities increasingly shifted toward a management role. My duties later included mentoring, training, partner management for technical service providers, technology analysis, and, of course, quality assurance and audits of our products. At upjers, I learned how optimizing a single bad loop can render 10 servers obsolete at a stroke and how important good and proper caching and load balancing are in complex production scenarios.

During a brief stint at Check24, I worked as a team leader. Here, too, my responsibilities included assisting with recruiting. Project management, deployment, and server management were also part of my job. At Check24, I learned that some developers don't shy away from code like $foo = @eval("@new ClassWhichNeedsArguments();");. And yes, that once worked in PHP, resulting in an empty shell of a class that shouldn't have existed at all.

This was followed by a position at SCNetworks in Starnberg until 2020. There, I was part of the team responsible for the further development of the workflow engine. It was interesting to see the contrast between the workflow engine, which was built according to modern standards, and the legacy monolith of the main application.

Since then, I have been working as a Magento2 developer at TechDivision. There, my team "Serenity" and I support several customers. As I already mentioned under This is what I do, my personal focus is on quality assurance. Unfortunately, I am not allowed to reveal many details here.

Personal life

I work remotely full-time for my current employer. In 2021, I fulfilled a long-held wish and got a dog. It quickly became apparent that the dog has special needs that make it impossible to leave him with third parties on a daily basis or even take him to work with me. I am very grateful to TechDivision for allowing me to continue working from home without any problems even after the official end of the coronavirus pandemic. This is also a basic requirement for any future employer.

In recent years, I have also come to appreciate not being constantly busy with code. Regular variety, e.g., through mentoring or administrative tasks, is very important to me. I don't enjoy topics such as CSS or pure software architecture at all.

Besides spending time with my dog, I spend my free time doing "typical nerd stuff" such as playing "Dungeons & Dragons" or running "HeXXen 1773" as a game master. The gaming groups are spread across half the world, which is why the gaming sessions take place online on self-hosted game servers. And as a former game developer, this list would not be complete without "computer games". I am not particularly drawn to any specific genre. The only games I don't like are horror games.

Contact

Please send me an email if you would like to get in touch with me. Please note that the + sign and the text after it are part of the address. They help me keep the ubiquitous spambots at bay.
Please send your message to: marcus.schwarz+ms2025@posteo.de