Category: Software Engineering
-
What Makes a Great Software Engineer?
Reading Time: 2 minutesAs a people manager, I’ve had the privilege of working with some truly exceptional software engineers. Based on my experience, here’s a non-exhaustive list of the key traits that make them stand out. 🔍 They care deeply They dig into problems, understand their impact on the organization and users, and take the…
-
Thoughts on the Liability of the Product Surface
Reading Time: 11 minutesIs your product surface area sustainable? Lately, I’ve been reflecting on how software product teams operate and what they are incentivized to focus on. It’s not uncommon for many teams to face increasing friction when working on the software product they manage: – bugs surface in unexpected, seemingly untouched areas – new…
-
Balancing Metrics and Perceptions: Assessing Developer Experience in Software Delivery
Reading Time: 7 minutesI’ve recently had the opportunity to lead on measuring aspects of the developer experience of my engineering organization. Specifically, I focused on how efficiently we deliver software to our customers and what the experience around delivering software looks like for the engineers. I think the rationale is common to many organizations: delivering…
-
Presumed technical debt: how to recognise it and avoid it
Reading Time: 7 minutesThe programming community unanimously considers technical debt an aspect of our work to keep under control and reduce. Personally, I’ve been vocal about the perils of technical debt in one of my early blog posts about the organizational issues it can cause. While I still stand by the majority of what I…
-
How to communicate efficiently as software engineers
Reading Time: 5 minutesEfficient communication is key to maximise the flow of information within an organization and facilitate valuable outcomes. Still, it might be an overlooked soft skill for engineers. This blog post explores some key recommendation on how to become more efficient communicators as software engineers.
-
The best teams I’ve worked with
Reading Time: 6 minutesDiscover the keys to building successful teams: autonomy, customer focus, accountability, psychological safety, and continuous improvement. Explore how empowered teams drive projects to success, require minimal management, and adapt often. Learn how effective leadership fosters a culture of transparency and continuous improvement, empowering teams to deliver exceptional results. Unlock the potential of…
-
How to miss a delivery date
Reading Time: 2 minutesEstimating a delivery date is hard. Missing it, on the other hand, is quite easy. When it happens try not to focus on pleasing stakeholders by committing to a new date that is very close to the original one.
-
Embracing genuine deadlines as software engineers
Reading Time: 11 minutesGenuine deadlines are there to help the organization seize an opportunity. Let’s explore how they impact engineering organization and how not to antagonize them.
-
Is software quality attainable in Agile contexts?
Reading Time: 8 minutesWhat does quality software mean in Agile? Does it make sense to invest in upfront design and architecture to guarantee higher quality? In this post I try to dissect what Quality means in Agile.
-
Yes, TDD slows you down
Reading Time: 3 minutesTDD is a strict software development methodology that might make you feel as if you’re doing things slower than you actually could. Is it a bad thing?