Intersecting interests
I’m a developer with a degree in philology and linguistics. This combination often surprises people. But for me, both are about crafting and interpreting texts, whether in code or in stories.
The Lego detective and playing with configs
The software I used most as a child wasn’t a game. It was Microsoft Publisher under Windows 3.1. Typing stories with my two pointing fingers was the ultimate game. One with no limits.
The main character was my Lego private investigator, my favorite minifigure. I always treasured the small plastic parts from the sets. When they were disassembled, everything was sorted by color and later by type. This internal drive to classify parts and understand their relationships made object-oriented programming easy for me to grasp later on.

Sure, I played a lot of video games, but we had an office PC, not a gaming rig. My father had a small publishing company. He edited the books on our PC before taking them to print. To play, I had to learn how to get out the most of that hardware. I was five or six, when I learned to use color emulation software to make games run in black and white. Later, I taught myself to edit config files through trial and error, forcing games to run at 640×480 when they defaulted to higher resolutions. Back then, there was no internet to search for answers and no one to ask. But I had plenty of time, patience, and curiosity to explore, listen and guess. Sometimes, solving the problem was more exciting than playing the game.
Epic stories and wild animated GIFs
The early experiments set the stage for my teenage years, when I started to use Word instead of Publisher. My mom, an IT teacher, taught me how to manage styles and keep formatting clean. FrontPage was also available, so I started creating webpages and static websites for fun.
One of them was a small Fighting Fantasy-inspired role-playing game with scanned hand-drawn graphics and sound effects collected from video games using an app called GAP (Game Audio Player). I also created an interactive map of my Lego City among other things. Everything was brightly colored, flashy, and full of animated GIFs, of course.
To be clear: FrontPage wrote terribly messy HTML. Through trial and error, I learned to clean up its output and write clean HTML manually.
I also wrote a lot of fiction. Epic high fantasy stories and space operas. I tried to create my own universes. I never wrote about elves or orcs, Asimov-like robots, or Star Wars-like stuff. My kingdoms and planets were inhabited by creatures of my own ideas. Looking back, I think, they were too simple and boring. I hated evil plots, treason and anything that would make a compelling conflict. I preferred exploration and adventure. Writing about it was exciting, but reading it was less so. No wonder I never became a successful author.
But I enjoyed visiting my school's creative writing group. I also built a website as a publication platform for the group. Later, as we connected with others interested in writing, authors joined from every corner of the country, and even from abroad.
Config tinkering evolved into basic web design, complete with a bit of JavaScript added, and it aligned perfectly with my creative writing ambitions.
From hobbies to studies
I always knew that I would work with computers for a living, yet I saw IT faculties unnecessarily tormenting students with outdated parts of the curriculum, producing in countless programming graduates who never wanted to touch code again. My goal at that time was to become a working, self-sufficient adult as soon as possible, not to let myself be screwed over for years.
So I went for a master's degree in arts instead, where I could leverage my interest in literature and linguistics. I was particularly fascinated by psychology. It was like debugging one's own life. Obviously, I loved psycholinguistics and sociolinguistics too.
I also took a special minor program designed to bridge computer science and the arts. It was awesome. Our work ranged from researching obscure pieces of sci-fi literary history to studying what kind of metadata could describe medieval codices to make it fully reproducible. We explored many fascinating topics.

I was one of the first students to take notes with a laptop. I bought it from an online auction site that was fairly new. The nearly 10-year-old laptop cost me about €50. It was a NEC Versa 4060h with Pentium I CPU and 640×480 screen resolution. It had no USB ports and only a 3.5" floppy drive so it took me an entire sunny summer afternoon in the garden to move the full Win98 SE and the Office installer to the hard drive. I loved being able to sit under a tree with a computer and no cables. Under Win98 I could attach a network card to the extension slot (PCMCIA) to connect a LAN cable. I overhauled Word with custom hotkeys, so I could take notes at lightning speed during university lectures.
My fellow students started emailing me for my notes. It was faster than borrowing and photocopying handwritten notes. The only downside was that I occasionally made mistakes. And they spread. During one exam, the teacher said: "Oh, you're the one with the laptop. There's a typo on page 3. Almost the entire class learned it wrong." I hadn’t realized how widely my notes had spread until then.
I also used the laptop for writing, focusing on realistic, smaller-scale subjects rather than epic fantasy or sci-fi. I explored how people deal with trauma, how couples can navigate everyday hardships without hurting each other. I focused on how to build trust, cope with imperfection, and, above all, how to establish emotional safety for oneself and together. These stories were far from perfect, but a regular audience formed on the portal where I published them, and they enjoyed reading them.
Seeking simplicity in tooling
By the time I earned my master’s degree four years later, I had published a collection of short stories and a scholarly monograph. I got an IT job in the government sector first, then became a developer at a Finnish company. I removed every trace of my presence from the creative writing portals and for a while, I only wrote for my blog. But writing had always been a way to connect with my innermost self. When I became trapped in an abusive relationship, I used writing to create hope, imagine a way out, and cope with my situation afterward.
By that time, Word had become over-developed, slow and distractive, so I no longer used it for writing. I felt nostalgic for the first word processor I had ever used, XyWrite II. So I turned to distraction-free writing in Markdown. I started with Calmly and later purchased Typora. I also built a tool to generate EPUB files from a Markdown project.
I stored the text in Git, a source code version control system that is primarily used by developers. Each evening, when I pushed (uploaded) the changes before going to sleep, an automated script generated a new ebook version. The next day, during my commute, I reviewed the latest version, added notes and corrections, and processed them that evening.
Nowadays, I use PyCharm to write my blog posts in Markdown. It is an integrated development environment, a source code editor with many built-in tools to help Python development. My blog also includes Python code, the Pelican framework and my own custom plugins, which help me convert my nearly raw-text posts into the website you are reading now.
Finding simplicity in writing
When I learned to code, it felt self-evident. One step after another, it always felt like writing a story I want to tell. Like expressing my thoughts in a different language that happened to be a programming language rather than a human one. Literary works have their own structural elements, which you build a story from like Lego bricks. And it is the same with programming.
Some scripts consist of a single file, much like a short story, others are built from many chapter-like classes. Have you ever played Fighting Fantasy? Following the execution flow of a program reminds me of playing such gamebooks.
As I gained work experience, I felt drawn to clean coding, a practice of writing code that is easy to read, maintain, and understand.
I realized that I could write well-tested and cleanly written source code faster than doing it hastily and ugly. Adding the time spent fixing undetected defects as they randomly appear, rushed work often ends up being slower than clean coding. What was interesting to observe was how refining my clean code skills also influenced the way I wrote my blog posts and stories. Instead of focusing solely on content, my attention shifted to the linguistic machinery that conveyed my thoughts. Improving this layer resulted in better, more consumable content.
Simplicity and clarity are key principles of clean coding. Some enjoy writing dense code: chaining function calls and using one-liners as much as possible, as if they want to highlight their expertise by making the code unnecessarily hard to read.
Learning to write code that is easy to read made me realize I wanted to pay more attention to clarity when writing normal text. I used to write long, complex sentences. I tried to pack too much into a single sentence. And I had spent too much time studying 19th-century rhetorical speeches, where convoluted sentences were a way to show off professionalism and knowledge, and the style stuck with me. Now, I see that shorter, clearer sentences allow me to communicate my thoughts far more effectively.
Accuracy in naming is another important aspect of clean coding. Instead of using single letters or abbreviations, using slightly longer and more descriptive variable names can help you to understand that part of the code later, when you don't remember exactly what is happening there. Descriptive names also help your fellow coders grasp your intentions and follow your logic. Even errors in the code become easier to spot when the variable name reveals that the value is completely different from what the original developer expected.
After learning these principles, my natural language writing skills improved as well. I began to notice and became able to fix cases where I used ambiguous phrasing, skipped a word or two, or left too much room for misunderstanding. Just because something is clear to me doesn't mean it will be clear to others.
Final thoughts
Currently, I don't feel any inner drive to write fiction. However, I feel that whatever I write including emails, blog posts and Mastodon toots, I can now create with better structure and more understandable text than before I learned to code. I’ve also become more disciplined and have learned to better understand the reader’s viewpoint. In this way, programming has improved my writer’s empathy and helped me focus more on the reader or listener.
What started as a childhood love for stories and my Lego hero, has grown into a career where I see language and logic intertwined. The journey never ends, and I can’t wait to see where it leads next.

My Computer
Categories
Network neighborhood
Degoogling
Along the Edge
My oldest things
My Phones
Road 96 - My Journey
Custom Font in JetBrains Terminal
Snowfall
Refactoring: Yeelight GUI
Gaming backlog
Clean patching
Company culture
Blaugust - Summary
Space Colony
Friendships in my life
Jousting in video games
Helsinki Biennial
Data & Encryption
Intro through traits
Hospital visit
Win 3.1 nostalgia
Poets of the Fall
Project done!
Video games that made me learn
Treasure of the Pirate King
Chimera Squad
Family history
Random facts about me