What I look for in an interview

When recruiting for developers, I start with initial screening by CV and perhaps phone interview, followed by a technical test, and then a face-to-face interview. I often find that people are nervous about interviews, but there’s really no need. By this stage, if I’m spending a significant chunk of time on an interview, it’s because … Read more

Act on retrospectives!

Strip away the marketing and at its heart being agile is about continuous change. The product offering is continually improved by incrementally adding valuable features; and the team continually improve by collecting and acting on feedback about how they are working together. Unfortunately in many teams, this mechanism doesn’t work anything like as well as … Read more

Making time for learning

As software professionals, there is always something to learn. It’s a vast field, with so many different technologies and techniques, within which everyone will have their own particular personal interests. When I come across software developers who are perhaps a little jaded or disinterested, I try to encourage them to pick off a fresh topic, … Read more

Coupled components

The concepts of coupling and cohesion are key in designing robust software solutions, but are still not understood deeply enough. Introducing things like small deployable components – often under the name of microservices, used incorrectly – can make coupling harder to see, but also more painful. Feedback that in a monolith codebase would be immediately … Read more

JIRA tickets represent conversations

One of the core and most important values in the agile manifesto is “Individuals and interactions over processes and tools”. Tools like JIRA can provide value, but the value they provide comes from facilitating interactions, never from replacing them. Another of the principles from the agile manifesto is to value “Working software over comprehensive documentation”. … Read more