Archives
Choosing what work to do at TIM Group
TL;DR: Working at TIM Group means having the responsibility to decide what work to do. The most obvious criteria is business value but I don’t think that is enough. At TIM Group we have been experimenting with self-organisation for a while. It’s been a gradual process that started with the […]
Read MoreKik, left-pad… Should I stop using npm?
TL;DR: No, unless you make npm packages. If you do publish npm packages think about how the disputes are resolved and decide if you are OK with it. I started using npm a few years ago in our build system. My CTO and his deputy today told me that means […]
Read MoreUsing your values to choose
At the London Action Science Meetup in January we discussed the article Emotional Agility (HBR, Nov 2013), and in particular how to apply the four steps described in the article: recognize your patterns; label your thoughts and emotions; accept them; and act on your values The importance of using your values […]
Read MoreRollbackability in upgrading a MySQL cluster
Here I give a lightning talk on how we mitigated the risk of upgrading the version of MySQL used in one of TIM Group’s most important databases. Our approach to risk mitigation was Rollbackability. Rather than spend all our time ensuring that nothing would go wrong, we decided to plan […]
Read MoreHuman Error and Just Culture
Sidney Dekker’s Just Culture made me thankful I don’t work in an occupation with a high risk of impacting public safety (those described in the book include aviation, health-care, and policing). In our society we believe that practitioners should be accountable for their actions, that without legal consequences after a […]
Read MoreSoCraTes Germany
SoCraTes Germany 2015 has again been a conference full of superlatives — or should I say “unconference”, given that it consists mainly of a two-day Open Space? Whatever you call it, we had more participants (over 180), more proposed sessions (90 – 100 sessions per day), and more sponsors than […]
Read MoreJoda Time? You might be overusing DateTime
We generally prefer to use Joda-Time for our date and time representation. Its immutable objects fit our house style, and the plusHours, plusDays etc methods usually produce much more readable and maintainable code than the giant bag of static methods based on Date and Calendar that we had before. Throw […]
Read MoreTRUNCATE making replicated MySQL table inconsistent
Here at TIM Group we make use of MySQL’s statement-based replication. This means that some functions, like UUID and LOAD_FILE, cannot be used when we write code or do manual maintenance because they break the consistency of the slaves. We now know we have to add the TRUNCATE statement to […]
Read MoreFrom structure to behaviour – migrating to an Event Sourced system
For a few years now we have identified Event Sourcing as being a good fit for the sort of applications we build at TIM Group. This is becoming increasingly important as the business has been transitioning from an alpha capture and distribution tool to a platform that provides analytics as […]
Read MoreWorkflow for deploying potentially unstable Tucker components
When adding a Tucker component to an application, it’s important to get the workflow right so as to avoid contributing noise to our already noisy alerting. Now support for that workflow is built into Tucker, it’s easier to get right than ever before. Problem Occasionally, I’ve added a Tucker component […]
Read More
Recent Comments