If you’d told me a few years ago that I’d be adopting scrum, I wouldn’t have believed you. Isn’t this what they do at boring corporates? Don’t scrum teams end up with tons of technical debt ? How much does a certification you earn in a two-day workshop really mean? Shouldn’t we be focusing on people instead? I had so many concerns and preconceptions about what scrum was and what it encouraged.…
Giving up control and creating room for failure is one of the most valuable skills I had to learn as a manager. It helped our team flourish and created many educational opportunities for individual contributors. However, a fear of disastrous mistakes and a misunderstanding about how people learn prevented me from taking this approach earlier. I hope that my story can help others in reaching this…
More and more people are being exposed to working remotely. One of the key factors for success in a remote workplace is a culture of written communication. It’s not always obvious how to create such a culture, and it takes at least some level of discipline from the people involved to make it a habit. I’ve worked with mostly remote teams over the past three years. Here are a few of my observations…
The itch to rewrite a piece of software from scratch can be one that’s hard to ignore. However, as many developers will learn throughout their career, rewrites can be tricky to pull off successfully because of the sheer amount of complexity and effort involved. If not executed correctly or done for the wrong reasons, then it will result in a loss or little to no gain if you're lucky. Thus, before…
Eight years ago, I started my first job at a web agency. The fact that I got to do programming for a living was very exciting to me. Only a few years earlier, I didn’t really know what to do and wasn’t sure if I could find a job that I would like. Now, I got to work on a lot of projects with a bunch of creative people and was super excited going to work every day. However, after a bit over a year…
Let’s say there’s a new software engineer in your team. Maybe it’s an intern or a new hire. Either way, you’ve been assigned as their mentor or onboarding buddy. How do you proceed? If you’re like many first-time mentors, then you might spend a lot of time answering any questions they have. Or you frequently help them solve problems, making sure they are never stuck. Maybe you also ensure they…
Onboarding is a great opportunity to create momentum and get people up to speed quickly. When a new engineer starts, it’s important that they get blocked as little as possible and can quickly figure out how they can be productive within this new team or company. Here are a few guidelines and things you can do, which I’ve found helpful in the past. Set up their most important accounts beforehand…
A few months ago, I discovered that an old website, which I used to visit during my childhood days, was back up again. This triggered a bit of nostalgia in me about my experience of learning to code as a kid and how it influenced my life. “DIV Arena” might not mean much to you, but I’m sure that for quite a few people it was an important part of their life. It used to be the main website where…
If you apply small, but relatively frequent stress to a muscle, then over time it will adapt and grow stronger. We don’t frequently talk about it in the context of software development, but I believe it holds here too. By frequently applying small amounts of stress to our software and processes, we can greatly improve them over time. If you look at the practices that exist today, you’ll find…
It's hard for me to express how much I value one-on-ones, but I'll give it a go. It would be the last meeting I scratched if I were asked to remove all but one. I've even left a company once with the lack of one-on-ones, and their reluctance to implement them, being the primary reason. In my opinion, it was leading to numerous recurring, yet preventable, problems. A process-oriented meeting like…
Sometimes it’s easy to forgot the value behind short iterations, so let’s discuss why they’re important. While it’s sometimes true that splitting a big change into smaller pieces can be hard, it’s still worth it. Whenever you’re going through a long iteration, you aren’t getting feedback. You’re working in a bubble, and you might be running headfirst into a wall. Short iterations are important…
A couple of months ago I read the book Crucial Conversations and started applying its concepts. The premise of the book is that we are bad at conversations where opinions vary, emotions run strong and the stakes are high. We’re bad as these kind of conversations because our brains have evolved a fight-or-flight response. This means we usually move to silence or violence when we feel unsafe. Which…