Software Development with AI: A Powerful Tool with Limitations

AI has become an invaluable tool in software development. It’s fun to use, makes coding more efficient, and, most importantly, lowers the barrier to entering new domains. For anyone exploring a new technology, AI-generated suggestions, code snippets, and explanations can rapidly accelerate learning. Need to write a web scraper, deploy a cloud function, or optimize a SQL query? AI can help you get started in minutes. However, the magic fades when you step into less popular or unconventional territories—such as game development using Golang and Raylib. That’s when software development with AI transforms from a fun, smooth ride into a tricky endeavor filled with gaps and blind spots. ...

December 12, 2024

Refactoring and Abstractions: Lessons from a Monolith to Microservices Migration

For a long time, we faced a major refactoring challenge at work. Our goal? Break apart a tightly coupled monolith and transition to microservices, making the system more modular, scalable, and robust. But there was a problem—the monolithic code was too intertwined. Every part depended on another, making it difficult to extract and separate concerns cleanly. Part of the issue? My own junior decisions played a role in creating the tangled mess. ...

September 17, 2024

Creativity and the State of Play: How to Unlock Your Best Ideas

Most people think creativity is about having more knowledge, better techniques, or finding the perfect method. And all of that helps, but the truth is, creativity is more about your mental state than your skills. A creative mind isn’t one that just knows how to be creative—it’s one that feels free enough to play. Creativity Comes from a Playful Mind, Not a Stressed One Think about when you get your best ideas. ...

July 7, 2024

How to Learn a Completely New Domain: Depth-First vs. Breadth-First Search

When diving into a completely new domain of expertise, there are two primary approaches you can take: Depth-First Search (DFS) – A structured, deep dive into a single topic at a time. Breadth-First Search (BFS) – A more scattered, high-level overview of many topics to quickly understand the landscape. Each approach has strengths and is useful depending on the context. Let’s break down when and how to use them. Depth-First Search: Going Deep into a Topic The depth-first approach is all about immersing yourself in a single topic until you master it. It involves picking one area of a new domain and studying it extensively before moving on to another subtopic. ...

April 14, 2024