close

Niko Heikkilä

BERJAYA

👋🏻 Hello, traveller! I’m a software craftsperson with a strong passion for making work and life better for software engineers. This blog contains insights related to modern software engineering practices. Read the longer story of me, and if you liked what you read subscribe to my feed.

Latest Articles


Generating Alt Texts for Images with Claude

August 17, 2026 ☕️ 3 minutes read

A longstanding grievance with several social media platforms has been how they promote the use of AI in content creation, but for all the wrong use cases. For…

Healthcheck for You, Developer

August 15, 2026 ☕️ 4 minutes read

I was watching Scott Tolinski’s insightful video on Syntax about the negative mental health effects developers experience while coding with AI. Measuring it…

Hello, Neovim, My Old Friend

August 5, 2026 ☕️ 4 minutes read

I’m writing this post with Neovim editor. You probably haven’t heard of it. Or if you’ve ever come close to talking with a software developer, you’ve probably…

My Vibe-Coding Workflow

February 18, 2026 ☕️ 3 minutes read

Ha, got you there, did I? For once, the title of my blog post intentionally deceives you. Well, as a matter of fact I do have a vibe-coding workflow. It goes…

Craftsperson's Guide to GitHub Actions

December 3, 2025 ☕️ 1 minute read

Originally published on Polar Squad blog. Have you ever rushed to push a GitHub Action, only to watch it fail in the pipeline? Or inherited an action so tightly…

Everyday Design

November 25, 2025 ☕️ 7 minutes read

I’m going to show you two code snippets that solve the same problem of comparing two inputs. One takes ten lines. The other takes seventy. Which one would you…

My AI Agents Are All Nuts

June 10, 2025 ☕️☕️ 9 minutes read

Thomas Ptacek published this article in the Fly.io company blog. You might ask why such a one-sided and belittling rant with plenty of toxic vitriol could be…

Film Review: Poor Things (2023)

January 15, 2024 ☕️ 5 minutes read

Whenever there is a new film from the master of anarchistic cinema, Yorgos Lanthimos, I must remind myself to bring something to support my jaws into the…

A Practical Guide to Micro-Commits

November 5, 2022 ☕️ 4 minutes read

In software development, there’s a lot of talk about small vs big batches. However, that talk mostly comes from the Lean methodologies perspective, which, while…

Layman's Guide to Higher-Order Functions

September 27, 2022 ☕️ 4 minutes read

The single most important topic in functional programming is to understand what a function is. Inherently, a function is a way to map the input value of some…

The Definitive List of Things I Don't Know

September 18, 2022 ☕️ 5 minutes read

I often ponder my work and where I want to head with it. Thus, it’s only logical to understand what I need to learn to get there. Moreover, the more I think of…

Test-Driven Development on a Bus Ride to Hell

September 17, 2022 ☕️☕️☕️ 17 minutes read

I’m going to admit something: I had trouble understanding test-driven development (TDD) and it took me a long time to get over it. TDD felt mysterious…

Be Effective, Not Productive

August 22, 2022 ☕️ 2 minutes read

I’ve recently participated in discussions related to developer productivity. I think productivity is harmful because it can fool us into thinking high-frequency…

The Essentials of Simple Design

June 27, 2022 ☕️ 1 minute read

Few rules in designing clean code have been as crucial for me as Kent Beck’s four rules of simple design. To jog your memory, they are as follows: Well-designed…