Hello world :)

I am Sakis, a software architect based in the Netherlands

I’m always keen on implementing simple yet performant, scalable, and cost-efficient solutions.

About

The present: I am a Software Architect with ~ 11 years of professional experience as a Software Engineer. My main qualities are the ability to work independently, critical thinking, and fitting well into a team. My current interests are software architecture, distributed systems, and functional programming.

The past: Like many other computer fans, my first contact with computers was purely for entertaining reasons. I remember myself playing games like Titus the Fox and Prince of Persia on the 486 of my friend. I also remember my friend trying to show me how to move a turtle using simple commands (Logo).

Years later, my brother brought at home our first computer. An AMD Athlon Thunderbird 1 GHZ. Another friend of mine passionate with computers (who was lucky enough to own a computer a couple of years before me) started to teach me the basics of HTML. At the same time we were also learning about computer hardware (basically we were assembling and disassembling our own computers to find out what’s inside), the CLI of MS-DOS, and Windows programming (AFAIR Visual Basic). Apart from the hardware and the CLI parts, I don’t remember myself being extremely fascinated by the rest stuff. And then…

One day I saw my brother playing with an unfamiliar user interface (GNOME). I asked him to give me some details. The system was called Red Hat Linux 7.1. It was something different and I really liked the idea. I found myself reading my brother’s Red Hat books and trying to learn more and more about it. When my brother removed Red Hat because he wasn’t patient enough to learn how to use it in practice, I was extremely annoyed. I bought my own SuSE box and installed it on the computer. That was it. From that day, I said goodbye to the Windows world. Nothing could be compared with the CLI of GNU/Linux, shell scripting, configuring and compiling my own kernels, etc. During 2005-2015 I was using Debian GNU/Linux as my primary system. In 2015, I decided to try something different and switched to macOS.

In the meantime, after studying the fundamentals of Electronics in a Technical High-School, I decided to switch directions and follow an Computer Engineering related BSc education. After the BSc, the MSc followed. I believe that through the years, some of the things that I have been taught or chose to study were (and still are) very useful and some were (and of course still are) a bad choice. But as W. W. Sawyer once said ‘If you start by trying to be perfect, you will get nowhere. The road to perfection is by way of making mistakes’.

A few technologies I've been working with professionally recently:
  • AWS
  • Terraform
  • Quarkus
  • Python

Portfolio

Mastering Python Design Patterns
book python design patterns author
Mastering Python Design Patterns
Whether you're working on user interfaces (UIs), web apps, APIs, data pipelines, or AI models, this book equips you with the knowledge to build robust and maintainable software.
Copy On Write Based Filesystems
MSc thesis copy-on-write filesystems
Copy On Write Based Filesystems
I evaluate the performance and scalability of ZFS and Btrfs, and propose a transaction oriented file system call interface.
My GitHub repos
GitHub repositories
My GitHub repos
Check my GitHub repositories. From implementing common algorithms in different programming languages, to solving Sudoku puzzles in Prolog, I hope that you can find something interesting there!
My goodreads book list
goodreads books collection
My goodreads book list
If you love reading books, your are more than welcome to check my goodreads collection. Find out which books I have read and which books I'm planning to read. I'm always open to good recommendations.
Hardware prototypes
microcontrollers prototypes electronics
Hardware prototypes
I like tinkering with hardware, although I haven't done that enough lately. If you are curious about this, take a look at my prototyping videos.

Contact

There are different ways to reach out. In general I prefer asynchronous communication, so please use email, LinkedIn, or X (former twitter). Calling should be the last resort. You can find my email and phone number in my CV.