Articles in Software Engineering
Thoughts and opinions on various topics.
2026
How I vibe-code
A short description of my ever-evolving vibe-coding setup.
I am a Prompt addict
I used LLMs long enough to notice some concerning symptoms.
After 14 years, I finally built my dream personal finance app
It took me more than a decade, but I finally built my DREAM personal finance app. Let me tell you everything about it.
Farewell, Rust
Farewell, Rust for web. For now…
Introducing mjmx: a custom JSX runtime for mjml
I wrote and published an open source library to generate mjml using JSX
Isolating Claude Code
Being a paranoid vibe coder means you don’t trust Claude Code to not extract your secrets.
2025
I’m Netlify-Free!
My journey from Netlify to self hosting on a VPS
Working with systemd timers
Let’s learn how to work with systemd timers in order to create automated backups.
2024
Ghost Engineers
Let’s address the existence of so called Ghost Engineers
How to be a great manager
An insight from a non-manager perspective.
Why DX doesn’t matter
Developer experience, or shortly DX, seems to be the number one thing that people pay attention to in their chosen tools/frameworks.
Software Development Fragmentation
We used to build everything in-house, but today we just glue a bunch of APIs together.
One year of Rust in production
It’s been almost a year for me developing, maintaining, and running a production web application written in Rust.
Software development is hard
For the past few weeks I’ve been thinking about how hard it is to develop software.
Let’s blame the dev who pressed “Deploy”
Following the CrowdStrike outage, I’ve stumbled upon an articles that claims that developers should have consequences. Do they?
The day of the blue screens of death
Earlier today, an update from CrowdStrike caused global outages in Windows powered machines.
Tips for improving your CV
Recently, I’ve seen a lot people online asking for CV improvement tips. I decided to share my knowledge in this article.
Why your team might be holding you back
A tale on why software engineering might not be a team sports after all, despite what eveyrone wants us to believe
The Curse of the Senior Software Engineer
While looking for a job recently, I stumbled upon an interesting phenomen that I consider to be a curse for senior software engineers.
Serving Astro with Rust
I wanted to turn one of my side projects into a statically generated website. But the backend was written in Rust. So I decided to combine them.
Rendering emails with Svelte
Join me on an adventure to build a superb email preview and rendering for MJML and handlebars using SvelteKit.
How to stay junior forever
A step by step guide for staying junior forever
The Bloat in Software Engineering
An evening rant about the unnecessary bloat in Software Engineering
2023
Using AsciiDoc to write my two books
In the past six months, I wrote and self-published two books related to Software Engineering. Let me share with you the workflow and tools I used to do so.
Web app localization. In Rust.
Doing localization is complicated. Many websites, even big ones, get it wrong. Let me share how I did it. In Rust of course.
Building a Web App in Rust
After more than 6 years of building web applications in NodeJS, I finally published one in Rust. Here is what I learned in the process.
Typescript Monorepo with NPM workspaces
During the development of my recent project, I decided to split some components to their own packages, and used npm workspaces for that.
On APIs and their responses
HTTP modification verbs should return the modified resource in response. But, should they?
On types and JavaScript drama
Earlier this week, the entire JavaScript community was in shambles over a controversial decision in a popular open-source project.
How to auto-generate OpenGraph images
OpenGraph metadata is an important part of your blog or website. It can affect whether users will open your website or not.
Why engineers should focus on writing
All engineers are good writers of code. I argue that they should also write non-code.
An Essay on Burnout
I denied burnout as a concept, until life decided to teach me the hard way. So here I am, burnt out. How did I get there?
Inheritance, Composition, and everything in–between
There are many concepts in the OOP paradigm. Inheritance is the most known, and it allows us to model software as relations between objects.
How to get into programming in 2023
New year is a good time to create a resolution. What if your resolution is a career change to software engineering?
2022
The missing ingredients from your monitoring alerts
There is one thing engineers hate the most—waking up at night and troubleshooting production incidents.
Cursor based pagination
How to desing a robust pagination mechanism using cursors.
Why you should adopt Makefile in all of your projects
Somtimes, the best solution is a decades old, and proved method.
4 Ways to Minimize your Dependencies in Node.js
We all know the joke about how `node_modules` is the heaviest object in the universe.
Implementing Promisable setTimeout
setTimeout() is the most powerful execution control function. Sadly - it’s not async. Lets turn it into one.
Legacy is where companies go to die
Legacy. The one word engineers cringe when they hear. Nobody wants to work with legacy code or legacy systems.
It’s better to be (type)safe than sorry
Software should be predictable. By removing types, you make it unpredictable.
The Software Industry is Broken
The dire state of the software industry, leaves us with hopes for a better future. Why we ended up like this?
2021
NodeJS Native Module vs WASM
Let’s learn together how neon bindings compare to WASM.
JetBrains Fleet Preview - First Impression
My review of the recently launch Fleet IDE by JetBrains.
How to be a Great Technical Interviewer
The path to becoming a great technical interviewer is full of doubts, tough decisions, and self-discovery. But I believe every engineer should try to walk it.
Supercharge Your NodeJS With Rust
Let’s learn together how to combine Rust and NodeJS to achieve top performance.
Wrap your gifts not your dependencies
Stop wrapping your dependencies!
2017
React.JS Localization v0.2
In my last post I’ve discussed ReactJS localization. Now lets find the proper way to do localization.
2016
Validating Requests With a Simple Middleware for Express
There are two aspects of good API design: (1) a control of what it accepts, and (2) taking a brief look will help you understand what it does.
2015
The land of undocument react.js: The Context
A short overview of the React.js context.
A different approach for localizing react.js app
Using jquery/globalize to localize your React.js applications.