Softwire Blog


Lightning Talks – How to Build an Orbital Laser Battery


20 January 2015, by

In October 2014 we ran our fourth Lightning Talks competition. The number of speakers this year was sufficient that we ran two sets of talks where eight employees each had five minutes to tell us something interesting about software development. We voted on our favourite talks and the top three won Amazon vouchers.

Here is Harry Cumming’s second place talk from the first round, in which he builds a Orbital Laser Battery… API.

Tips for managing technical people: How to make people happy


15 January 2015, by

Galvanizing the geeksThe following is an excerpt from my new book, “Galvanizing the Geeks – Tips for Managing Technical People”. You can buy the full book on my website, here.

With the advent of modern management techniques, we understand that happy and engaged employees do better work and stick around for longer. Of course, it’s not always easy to make this happen. Sometimes, ensuring that every single member of your team is happy can appear to be in conflict with your other responsibilities, such as delivering a great service and making the bottom line add up. But it doesn’t have to be.

First let’s consider what we mean by ‘happiness’ in this context. I would suggest you’re looking to engender the following types of happiness in your employees:

  • A feeling of belonging
  • A sense of being respected
  • Challenging and fulfilling work
  • A career plan that means that the work you are doing now will lead to personal development and the ability to meet your goals in the future

This is not an exhaustive list, but it illustrates the kind of happiness that I’m talking about. Thinking of happiness in this way, you can see that the real value of freely available chocolate biscuits and access to fussball and other amenities is not in the short-term pleasure that people get from engaging with them; they are valuable because they are evidence that employees’ happiness is valued, and that they are respected enough to be allowed to manage their own time.

So how to achieve this ultimate state of happiness? The high-level answer is simple: you need to find out what people want, and you need to provide it. The useful answer is a lot more complicated. The distinction between short-term gratification and longer-term happiness is not always apparent to everyone. The classic example – which will be recognised by anyone who has tried to lose weight or just to keep healthy – is the difficulty in deciding between the food you want to eat now and the bodyshape and lifestyle you want later on.

Simply asking people what would make them happy, or happier, is likely to elicit short-term happiness responses. Instead you need to engage with what they really want to get out of life, and find out how much of that you can help them to achieve within your organisation. I won’t pretend that you won’t sometimes end up shooting yourself in the foot this way: helping people to achieve their dreams may mean that you help them to be somewhere other than your organisation. I think that this is an acceptable trade-off in return for committed, engaged and happy staff, and for a great incentive to retention for everyone else.

When I’ve stayed with an organisation for a long time, it has been precisely because I have continued to have the opportunity to learn. When I’ve been learning skills that make me very valuable in the marketplace, this has increased my ability to jump ship and work somewhere else. But a learning culture and great environment removes incentives to leave as long as I’m continuing to learn – and enjoying myself while I do so!

Lightning Talks – A 2048 Bot


9 January 2015, by

In October 2014 we ran our fourth Lightning Talks competition. The number of speakers this year was sufficient that we ran two sets of talks where eight employees each had five minutes to tell us something interesting about software development. We voted on our favourite talks and the top two won Amazon vouchers.

Here is Tom Eccles’ second place talk from the second round, demonstrating how he created a bot to solve popular game 2048.

Databases and “.Net Rocks”


8 January 2015, by

I love databases.

I know, it sounds geeky, but I really do find databases fascinating. They idea of storing data has such intuitive sense, but in practise, it requires such performance optimisation that getting to grips with a new flavour of database can be daunting. I remember the antipatterns employed when I first saw SQL in my teens (“An unlimited number of items? Let’s make three letter codes delimited by 999!”), but now normal forms flow naturally from my fingers.

I’ve been lucky enough to talk a lot about this topic recently, and specifically, I wanted to remind people that there were more options than just SQL out there! That’s not to say I’m one of these developers that things that SQL isn’t fit for purpose – any system that has been used so comprehensively for so long has something going for it – but I’ve overheard a lot of conversations that assume that SQL is going to be plonked at the bottom of a tech stack without much care and attention. That’s why I’m telling anyone who will listen there is other stuff out there.

If all you care about is a series of simple numbers recorded at certain times, then why go through the pain of setting up a SQL instance when you can use a key/value store, or even farm your data out to one of the many database as a service companies. On the flip side, sometimes SQL isn’t complex enough – and you’re dealing with data that would be better served by a graph database.

I was invited to talk (or maybe rant) on this topic with the team behind .Net Rocks, one of my favourite technical podcasts. You can listen to my discussion (as well as over 1,000 previous episodes) on their website – where we manage to discuss over ten different databases in an hour.

I hope you enjoy listening to it as much as I enjoyed recording it.

Our CSR goals for 2015


2 January 2015, by

We’ve set ourselves some goals for 2015 to try and make the world a better place. I’ve listed some below and I’ll let you know how we get on in a year’s time. If you have any other suggestions, please let us know – we’re always trying to improve our CSR efforts!

Educational outreach

  • We love what Tech City Stars are doing, and we got involved in their mock interview process in 2014. This year we want to help them to prepare their students for technical interviews too, so they can find more apprenticeships.
  • We believe it’s important to make people aware of the opportunities available to them in the tech sector, so I have set us a goal of giving 200 young people a positive experience of the IT industry this year.
  • Jamie has managed to get 28 of our developers signed up to be Code Club Pro trainers. His goal is for at least 13 of them to deliver a session in 2015.
  • We’ll also be aiming to run a weekly code club session at a local school throughout the year.

Raising money

  • Now that we sponsor a village in Ghana (Bonkron) through Ashanti Development, we want to do loads for them, including providing beekeeping training and getting the internet installed.
  • Our Charity Saturdays were a great success last year – this year we want to raise at least £25,000 through the scheme.
  • Iain wants us to achieve the Payroll Giving Gold award. As part of this he hopes to persuade 10 employees to sign the Giving What We Can pledge.

Using our skills

  • Alex has had some great experiences being on the board of trustees for various charities, and thereby providing them with invaluable technical advice, and wants to persuade at least one of his colleagues to do the same.
  • We use open source software so much, we feel a duty to give something back. Tim wants 50% of our developers to have contributed to an open source project by this time next year.
  • We’ve written a few small websites for charities – we’d like to make sure we do so again this year.