Meet the Crew: In conversation with Matt Hardy, founder of hydramind
Next up in our series of short conversations with our diverse Firehaus Crew, we discuss what we can learn about creativity from programming with Matt Hardy, tech-aficionado and founder of hydramind.
NB: Hey Matt, thanks for your time today. I’ve always known you as a tech guy and have seen from your outputs that you’re obviously very creative, but it seems in a different way to those that sit in traditional agency creative departments. How do you see creativity within technology and software development?
MH: It probably helps if I can quickly cover a bit of my past history. I’ve always had a passion for music and as you know music and maths, which is at the root of software, are close bedfellows - patterns and formulae that can be used in a very creative way.
I remember my dad playing some of Bach’s fugues as a child and recognising the repeated phrases that are built up, reversed, even turned upside down to create fantastically creative pieces of music. I wouldn’t have phrased it like this at the time, but I could see that you could create a novel output from the construction of and the creative manipulation of patterns.
At the time, I knew there was potential for technology in helping with this process. On top of learning music traditionally, I built my own drum machine with a combination of a standard Atari (remember them?) and some hardware EPROMs and I was able to create these sounds and loops that I wasn’t hearing elsewhere. This experience with technology led me to choose electrical engineering at university as I was convinced that hardware would enable me to create in this way. But while I was there I became fascinated by the greater potential of software instead - to me this was a form of complete freedom to create anything I could imagine.
Software was exciting back then, but given the recent advances in computing power, open APIs, AI, augmented reality and many others, it’s really exhilarating to be part of it now.
There’s obviously a different way of thinking involved in this creative process than in some of the other more overtly ‘creative’ disciplines. Did you train yourself to think like this or have you always done it?
It’s hard to say! It’s probably innate. I’ve definitely benefited massively from training in the software field, but I feel like I looked at the world this way in the first place and the training helped solidify it.
As for the training itself, in my discipline writing code is obviously very important, and once you’ve cracked one language it’s a lot easier to crack others, but I don’t think that’s the critical bit with regards to being creative.
Instead, it’s the importance of understanding the architecture of whatever it is you are creating. In a tech environment this is an accepted part of the process of any solution or idea, but in a wider context it’s essentially about rigorously thinking it all through within the context of the problem you’re solving. Deciding what your building blocks are before building them, how they connect, what else is needed.
I assume you need a wide breadth of knowledge to know what blocks are out there?
Yes, but to be a good developer (or any other creative role) you need to let your curiosity get the better of you. Whenever I see something new or interesting online, my first thought is always ‘how is that working?’ I stop and I dig into it, I get under the bonnet. Not because I need to, but because that’s what interests me and I know it will pay back in the future.
When I was a child my father would always dismantle anything new we bought to understand how it worked. I remember taking apart a brand new TV with him and my brother before it was allowed in the house and that attitude has always stuck with me. Digitally at least!
That makes sense and I can see parallels in a lot of other creative industries. So how do you think a developer might differ from other creative professionals?
When a developer is creating a solution or a new product, there are always so many different aspects they need to think about. How can I ensure it’s easily usable? Secure? Beautiful? We have a mental checklist from experience and that list helps us create better solutions.
Before marketing I wrote software for satellite control systems, air traffic control systems and the channel tunnel, so I’ve become very comfortable with assessing ideas against many different (and critically important) checklists whilst not letting it suppress new ideas.
You’re probably familiar with the idea of debugging software to look for the potential problems. This is something I see in developers but not necessarily in other creative disciplines. We’re trained to test for the abnormal as well as the normal.
That’s really interesting, so in a way you have confirmation bias trained out of you, or at least as much as it can be?
I guess so, I’ve found that developers have their own internal ‘muscle memory’ around thinking things through multi-dimensionally and trying to break them really early on in the creative process.
I think it’s why developers sometimes get a bad rep - “It’ll cost how much!? It’ll take how long!?” We know that doing it properly always results in a better solution so we account for it upfront. So much of what we create is never actually visible. Not everyone likes that, though they usually have to accept it eventually!
Yep, as someone who’s often accused of being a ‘purist’ in my discipline, I totally agree. But from my layman's understanding of software, I thought with the mass adoption of Agile that speed is now prioritised?
Well, yes and no.
Back when I started, the waterfall process was the accepted way of doing things. A linear process that went from one clearly defined stage to the next until you had a finished product. It worked fine until you wanted to change something fundamental half way through, in which case you pretty much had to go back to the beginning.
Then Agile came along and killed the waterfall. Everything now runs in compressed sprints focusing on delivering a solution to one or two problems before moving on to the next thing. So speed and flexibility have definitely increased, but the critical thing is that you have to be the kind of person who does the ‘safe thinking’ I was talking about before. It’s not an excuse to drop the rigour.
If you do drop that critical thinking, you’re just hacking. You end up with something which is suitable for one specific task, but doesn’t fulfil all the requirements needed to work over the long-term. It’s one-dimensional.
Even with an Agile process, you should do it properly. Make it work multi-dimensionally, build the right foundations and the right models.
I’ve never heard agile and hacking held up against each other like that.
I’m not sure if it’s the dictionary definitions of the terms, but if you want a long term solution, regardless of your chosen process, you need to apply some rigour.
I think that in some disciplines there is a lack of appreciation of ‘doing it properly’. But the huge advances in technology we’re experiencing all the time just go to show that you can be both very creative and apply tried-and-tested techniques at the same time, they are not always mutually exclusive. That kind of goes back to what I was saying earlier - with so many readily available, rigorously tested technologies that are easy to connect together, you can build creative solutions in the way you use and connect those components.
Unfortunately, to be a good creative developer, you need training, practice, conversations with people better than you, proper sources etc. I doubt there are many fields where this doesn’t apply.
Absolutely. I guess in a way, developers are the modern craftspeople. Just because your output is digital it doesn’t mean it hasn’t the same value as an expertly crafted tangible ‘thing’. But when I think about an experienced craftsperson I instinctively think ‘old’ so that they’ve had time to do all this learning. Yet I suspect that if I walked into Google or Facebook, they’re not full of old people - how come?
You’re probably right! But don’t confuse age with learning and practice. Facebook, Google and others like them get to pick the cream of the crop from a very big pool of applicants. With the exception of the rare geniuses, most of the twenty-year-olds there have put in the same amount of time and practice by 25 that a lot of regular developers have by the end of their careers. Ask the average developer what they get up to at the weekend and I’ll guarantee a big chunk of them say ‘writing software’.
Like most things, it’s about passion. You can have a fulfilling career without learning whenever you can, but if you want to get better at something, practice makes perfect. And you only stick with things you really love.
Indeed it does. On that very practical tip, I think we’ll leave it there. Thanks for your time Matt!