I learnt about …

  • Lazy Programmers

    There is often a work culture that you should be busy all the time - if you are a programmer you should always be typing and producing code. Programming is a mental process and so requires thinking. Sometimes a little thought upfront saves a lot of pain and work down the line. The article below has a potentially controversial headline but sums this up really well. Being perceived as lazy as a programmer can actually be a good thing.

    Read more…
  • Bottlenecks

    I really like Seth Godin’s blog - I could easily link to his posts every day - however occasionally a post really stands out for me. A recent post called Bottlenecks had an interesting observation that was a different way of thinking about them. I worked for a company a long time ago where the person running the company insisted on everything going through them - whether it was important decisions like strategy or minor stuff like approving the purchase of paper clips!

    Read more…
  • Technical Debt Is Like Tetris

    This article uses a really neat analogy with Tetris for illustrating the impact of technical debt. Leaving gaps is akin to leaving technical debt in the code base and makes subsequent changes more difficult or slower to ship. A buried gap in Tetris represents technical debt. It also points out the fact that it is called debt and so has to be paid off at some point. Paying down technical debt keeps you competitive.

    Read more…
  • Empowering Problem Solvers

    There is a natural reaction for people when faced with a problem to offer solutions. This can be especially true for managers. The article linked below highlights this and offers an alternative approach to the situation where an employee approaches their manager with a problem. A lot of managers will immediately jump into problem solving mode and propose one or more solutions to the problem. It proposes that the role of the manager is not to solve problems, as that is what the employee was effectively employed to do, but to help others solve problems.

    Read more…
  • Leaving Well

    When someone leaves a company there are two sides to it. The first side is the way the employee behaves and handles themselves. I always aim to be professional and work hard until the moment I leave the office for the last time. I like to think that is one of the reasons my last four roles have involved word of mouth recommendations. I have seen some people, who were excellent up to that point, almost switch off once they have announced they are leaving.

    Read more…
  • Real v Artificial Deadlines

    This excellent article looks at the different types of deadlines and the impact they have. The key point for me, and not something I had seen previously defined, is the distinction between real and artificial deadlines: Real deadlines have a direct (and often large) economic consequence. Not meeting the deadline will seriously jeopardize some future outcome. Artificial deadlines don’t work like that. There may be an economic impact, but the link between “hitting the date” and the economic impact will be a lot more subtle and abstract.

    Read more…
  • Planning Workshop

    We have just completed a two week exercise with the whole development team to identify, design and estimate the next phase of work. It started as an organic process as we found the best way to do this and then developed into a repeatable process for the latter functionality. Before starting on the individual breakdowns we produced a list of things to consider for everything we were estimating. This mostly consisted of a list of functional requirements like logging, testing, documentation, etc.

    Read more…
  • Naming Resources

    This one is just for future reference for me that I may find useful one day - a website full of resources that may be useful for naming things. Links Onym

  • Meeting Costs

    We had a meeting recently with 16 people on the video conference call. Due to poor planning and technical issues it took nearly half an hour to decide to postpone the meeting. That is eight man hours wasted - a whole day of work! This article proposes an add-on to the calendar that informs the person booking the meeting how much the meeting will effectively cost the company. Love it!

    Read more…
  • The value of throwing code away

    We had a discussion at work about “throw away” code. One of our developers was very against developing any code that would be thrown away afterwards. He referred to this as a waste. In my view sometimes the biggest gain can be in developing code that is meant to be thrown away. It can be used to try things and, more importantly, learn things that can shape the code that is kept.

    Read more…