Cookie

I created this site to share the knowledge about technical challenges I had to deal with during my programming career. It reflects my opinion and experience and may not be taken as a dogma. I hope it will help someone dealing with similar problems.

I work as a programmer on web projects - especially enterprise-related long-term apps. Some of them have been running already 20 years. They often need a major refactoring and architectural change. Since the team I work with consists only of a few freelancers, I work most of the time alone, and that’s why I have to be very effective during these transitions.

Technology

Although I have been working on many projects involving C++ and Java, I ended up mostly with PHP. I’ve heard a lot of complaints against PHP, but most of them are simply not valid these days. PHP has evolved into an interesting programming language with features comparable with other respected languages. Most of the hate comes from people who don’t know news from the PHP world for versions above 8.0.

List of currently used technology

  • PHP
  • Symfony
  • Docker / Kubernetes
  • NginX
  • Javascript
  • React
  • AlpineJS
  • Rabbit
  • ElasticStack
  • MariaDB
  • Git
  • S3 file server

History of challenges and achievements

  • transition to version control (CVS -> Subversion -> Git)
  • transition from webhosting app to dedicated server app
  • transition from a dedicated server to local Kubernetes
  • transition from local Kubernetes to cloud Kubernetes
  • command query segregation
  • message bus based business logic
  • breaking the heavy app into APIs
  • unit testing
  • type control
  • layering the app