There’s a lot of abstract talk about data normalisation and having a single source of truth within your organisation for each type of data. Sometimes this goes very wrong. I moved house this year, and whilst I accept the extra administration that comes from each organisation needing to be updated individually (after all, why should … More Moving house and denormalised data
Once you start getting experience, you’ll find other developers asking for your help. I started tutoring at university so that I could help, and reflect and improve my own knowledge. Mentoring isn’t about answers. It’s about learning how to find the answer. The most interesting problems we deal with are the ones that no-one knows … More How to mentor
Sometimes the best way to get something done is not to do it. Use your time wisely. Lean on someone else. Drop the ball. Focus on what’s important. Don’t write your own ORM, NHibernate and Entity Framework are probably faster, more secure and less buggy than anything you could write. Don’t manage your own servers. … More Reducing waste by delegation
(Note: this was originally posted on a since-archived company blog, so apologies for those who’ve read it before) Architects are never quite sure how their buildings and common spaces are going to be used once real people move in. Just as software developers are never quite sure how their software is going to be used. … More Wings of desire – future-proofing software architecture
When I was a tutor at university, there were three main types of students I saw in the lab: the Googlers who would search for an answer or three (in those days Experts Exchange, today Stack Overflow), mangle something together then either figure it out and simplify or give up ; the ones who cared … More Is software your vocation or just a job?
Reducing waste is one of the key concerns of agile development, and is a defining character for Kanban, where blockages are ruthlessly identified and resolved. Timeboxing provides a low-cost means of identifying waste and a framework for tackling it, but doesn’t provide many solutions on its own. For tasks that continually cause blockages, such as … More Reducing waste by automation
I mentioned as part of my Your API Sucks series that I don’t want your API to be the weak point in my application. But it runs deeper than that. Every dependency you add to your project is a codebase whose maintenance schedule you need to know, whose security vulnerabilities you and your customers are … More You own your dependencies
The best ways to learn are active, whether it’s Deliberate Practice, a proof of concept demo, or teaching someone else, anything is better than passively reading or watching a presentation. And presenting at a conference forces you to distill your learning into the pure essentials, to decide what’s important, where the roadblocks are, and tell … More Why you, yes you, should present at conferences