Why is it difficult to stick to estimates?

Estimation is a big topic and there are many posts to write on it, but first let’s address one confusion about Software Engineering estimates: Estimates are not delivery commitments Maybe that sounds daft or maybe it’s obvious but far too many companies that I talk to are asking their team to estimate in hours, make a deadline at the sum of those hours and then … Continue reading Why is it difficult to stick to estimates?

Dealing with legacy code

At a recent CTO meetup in Edinburgh’s CodeBase we covered the topic of legacy code. Given that this is a common topic and that we had some of Edinburgh’s brightest CTOs weigh in on the topic I thought it would be good to summarise the main discussion points. What is legacy code? We started with a discussion about how you would define legacy code. It’s … Continue reading Dealing with legacy code

How can we ensure fair salaries when growing?

As any company, especially a young one, grows it will have times when budgets are tight and times when they are not, people will likely be recruited in cycles and you will probably want to hire people from a great many different backgrounds. With that in mind how can you strive for fair salaries for everyone in the business? This breaks down into a few … Continue reading How can we ensure fair salaries when growing?

How can we be agile but still have a plan?

This comes up a lot – usually because a CEO complains “My engineers say it will be ready when it’s ready – they can’t give me a date” or a Project Manager may be concerned that “With time, functionality or quality you can have only 2 – but we won’t flex on quality or functionality and the board need this feature on time”. Clearly these … Continue reading How can we be agile but still have a plan?

How can I improve employee retention?

Engineers are in high demand – it’s no surprise given that software is running more and more of the world every day. With competition for quality engineers being at an all time high it may seem inevitable that you will lose members of your team to better opportunities. To an extent this may be true but it does not have to be a regular occurrence! … Continue reading How can I improve employee retention?

What’s with this “20% time” gimmick?

Before pressing on with the fact it’s no gimmick let’s step back a minute to what this is. Google and others have notable had 1 day per week (their 20% time) set aside for every engineer or member of staff to work on a completely different project. Some companies have 10%, some put aside 2 days each quarter. Bottom line is that a vast number … Continue reading What’s with this “20% time” gimmick?

How can I hire the best engineers?

You can’t – Google has them. Strike that – I have them 😉 Clearly I’m joking, but only to a point. Surely every company should be striving to get the best engineers. And they all can! Who is your ideal engineer? That’s the big question. If you can define what the ideal team member looks like for you then you can both recruit with better focus … Continue reading How can I hire the best engineers?

CTO Questions: In this ever moving world how can I stay up to date?

One of the questions I get asked most often is how to stay up to date with everything in the fast moving world of software and technology. You know what, it’s not going to be possible to know the ins and outs of the coolest framework in every language. It’s also long past the time when you could know all the various support tools that … Continue reading CTO Questions: In this ever moving world how can I stay up to date?