Notes on architecture, code quality, data, agility and the craft, drawn from my experience.
Career In government, almost everything happens in French; in the private sector, and especially in Montreal, English quickly becomes essential. An overview for anyone looking to work in IT in Quebec.
Read article Method Reaching your goal, or reaching it with the fewest resources possible: these aren't the same thing. You can be one without the other — and ideally both.
Read article Career A college diploma gets you into the field; a bachelor's degree opens more doors. But over the long run, personal skill often matters more than the diploma.
Read article Analysis Before it reaches a developer, a requirement has passed through several sources — sometimes contradictory ones. A quick tour of the origins an analyst must learn to weigh against each other.
Read article Trends AI coding assistants aren't just a better version of existing tools — they change the pace and the very nature of our craft.
Read article Data Languages and tools are born and die. Data remains. Caring about its structure from the start is an investment in durability.
Read article Architecture Between the classic monolith and microservices lies a third, often ideal path: the modular monolith, also known as the majestic monolith.
Read article Architecture Error handling is one of the most misused aspects of programming. Separating the exceptional from the normal changes a lot.
Read article Architecture If I had to keep two ideas above all others in programming, they would be coupling and cohesion.
Read article Architecture Technical debt is often compared to a loan. But unlike financial debt, the goal isn't always to erase it — it's to keep it under control.
Read article Code quality No, writing tests before the code isn't a mistake. It's the very principle of test-driven development — and it's a game changer.
Read article Code quality Developers read more code than they write. Do comments shorten that reading time, or do they get in the way?
Read article Code quality That's what I call the developer who spends much of their time digging through code to find a bug or the right place to act. How can we dig less?
Read article Career Mastering a language isn't enough to be competent. The nuance between 'good at programming' and 'a good programmer' makes all the difference.
Read article Data Many developers who are excellent at the web can't write a simple JOIN. Yet SQL is one of the few languages that will still be here decades from now.
Read article Data Should you store dates in UTC in a database? Almost always yes. Here's why thinking global from the start saves you a lot of trouble.
Read article Practices Before reaching users, an application moves through several environments. A quick tour of these stages and what each one is for.
Read article Agile Running sprints and retrospectives doesn't make a team agile. Agility is first and foremost a manifesto, its values and its principles.
Read article Design We know software must be useful and performant. But does beauty really matter? I believe it does — and that it pays off.
Read article Career An experienced developer once shared his frustration about his salary. The conversation led straight to a question: how far can you grow while staying a developer?
Read article Career Switching projects regularly, discovering technologies, growing your network: consulting offers a learning ground that's hard to match.
Read article Career A recruiter's question, asked early in my career, never left me. It separates experience that accumulates from experience that merely repeats.
Read article Collaboration After a meeting meant to align us, we'd each understood a different version of the same topic. Here's how to avoid that kind of mix-up.
Read article Collaboration Interdisciplinary collaboration is an asset. But without clear role boundaries, it quickly turns into gridlock and frustration.
Read article