RSSAmplifier

Blog

Nicolas Dular

nicolasdular.comRSS feed ↗17 posts

Latest posts

Leaving GitLab

I have nothing but appreciation and gratitude for my time at GitLab. It was the chance of a lifetime to join a company during a hypergrowth phase, through an IPO, and beyond. But after almost seven years, I felt it was the right time for me to move on. The beginnings It still feels like pure luck, but in 2019, I changed my LinkedIn profile to “Fullstack Engineer”. Shortly after, I was contacted by…

Side Projects in 2025

Similar to last year’s post about the value of side projects , this post is a tour of the side projects I shipped (and abandoned) in 2025. So let’s go back and start with my favorite time of the year for side projects: the Christmas holidays. LLM Quiz Game I attempted to build another game, again in Elixir. The initial plan was to learn Go, but I gave up after two weeks. I just couldn’t get used…

Let AI handle the tedious parts

I fell in love with programming early in my life. The first time I built a website and tried to vertically center an image was around the time when Internet Explorer 6 was the latest and greatest. Little did I know that the problem of vertical alignment would take another ten years to be solved. But how could I have known back then? There was no StackOverflow, only Google and me, 12 years old, not…

Sprinkles of tips don't cut it

I finally did it — at the end of 2024, I got myself a trombone! Learning it as my second instrument had always been a goal of mine. When I came home from the shop, I immediately started trying it out. Unsurprisingly, it sounded mostly cranky and wrong. But I didn’t expect anything else — I know it takes years of practice. My first lesson with my teacher was still a few weeks away. So I used my…

The value of side projects

Do you know that feeling when you receive a renewal reminder for an abandoned side project domain? I just got one again for Sweatmaps and decided to pull the plug. While Sweatmaps may be abandoned, at least I shipped it—something I can’t say about most of my side projects. After reviewing my domains, I realized how many projects I started and abandoned over the past year. I don’t feel guilty,…

Shipping Always Wins

As I progressed in my career, I found myself having less time to code. While I am far more efficient than I was at the beginning of my career, there is only so much one can produce in a limited amount of time. There is a significant difference in coding time between a small company with minimal overhead and a large company with more processes. It also depends on the project. Are you working on a…

Programming music

I am awfully repetitive when it comes to my daily music for programming. Often, I just repeat my newest liked songs on Spotify over and over again. However, I also have a few albums and bands that I love to listen to in order to concentrate and get myself into “The Zone”. These are the favorites: Albums Camo & Krooked – Red Bull Symphonic I am a huge fan of live albums, and this one is an…

Ruby's instance_eval Gotcha

Recently, I worked with the AfterCommitQueue module at GitLab. It provides a simple way to run code after committing a transaction or immediately if no transaction is present. We often use this to run jobs after a model is saved and prevent running the job within a transaction. class Service def execute record. after_commit do # schedule job end record. save end end This module is useful and may…

Building Sweatmaps

We have this nicely drawn poster with a map of Vienna in our apartment. One day I thought Wouldn’t it be cool to have my cycling routes on a poster? On my next ride, I explained the idea to my cycling friend. She immediately got excited! User research – done ✅. I started a project called Sweatmaps. The name was supposed to be temporary, but a temporary name always sticks. After a few hours and…

Complaining is easy

Imagine there is an error in a product, or a feature missing, or there is an outage. And then you see comments like: “Why haven’t they had tests for this?” “How can they not think about this beforehand?” “I can build this over a weekend!” I see these sorts of comments either on Twitter or Hacker News. And unfortunately, I started to think in similar patterns. But the truth is: complaining is easy.…

To Engineering Management and back

When my professional career as a software engineer started, a friend asked about my career goals. I wanted to move to management at some point, so I half-ironically answered, “I no longer want to write code as soon as I turn 30” . He laughed as he didn’t believe me. “You enjoy creating things too much to quit programming” , he replied. Fast forward a few years, and I became an Engineering Manager…

Structured problem solving

When I built the first implementation of Text Annotations for PSPDFKit for Web , the goal was the rendered text should look the same on every browser. When I got the task, I chose contenteditble to let users edit the content and thought it would handle all problems for me. I started with a prototype, and the rendered Text Annotation actually looked similar in Chrome and Firefox. I was young and…

Working remotely – Expectations

In September I will join GitLab and while this a very exciting challenge on its own, it will also be the first time I will work fully remote. While having worked with a distributed team before, I have high hopes that a fully remote lifestyle will improve the quality of my life. This post will go over all the expectations I have. The plan is to write another blog post later about the reality.…

Applying For a Software Engineering Job

After being an interviewer and an applicant, I want to share my experience and give you ideas on preparing for interviews. I will go through each step you will face when interviewing for a company. Disclaimer : My advice is tailored to software engineering positions and based on my own experience. Resume & Cover letter Before you even come to interviews, one small step needs to be done:…

REST in Peace – Welcome to GraphQL

Thanks for clicking on this clickbait title 😉. The post is a transcript of my talk about GraphQL I gave at the Open Tech Table Meetup . The goal was to give everyone who hasn’t used GraphQL so far an introduction and give them reasons to switch from REST APIs. For everyone who is already using GraphQL some tips and lessons that I’ve learned. What is GraphQL? GraphQL was developed by Facebook and…

Test your GraphQL API in Elixir

While developing a new GraphQL API, I thought about the best way to actually test GraphQL endpoints when using Phoenix. In the end, the test coverage is similar to a controller test. GraphQL APIs have a different structure compared to REST APIs. Therefore, we will build some helpers to have an easy way to test our queries and mutations. Example Schema For our example, we’ll assume to have the…

My Experience as Coach at Rails Girls

I was invited to coach at Rails Girls Vienna 2016 — it was the second time and a great experience. Because it was such an amazing time for me as a coach and I got so much motivation from the participants, I wanted to share my day at Rails Girls Vienna 2016. For everyone who has never heard about Rails Girls before: it basically gives women an introduction to programming (with Ruby on Rails) in a…