Talking Software Ep3: Rob Mills
![](https://dqmeprwm.cdn.imgeng.in/wp-content/uploads/2022/12/Rob-header-image.png)
In the third episode of our Talking Software podcast series, Systems Architect Rob Mills discusses why simple products are much harder to build than complex products, magic tooling and why starting a web agency might be harder than it looks.
When you get asked what you do for a living, what do you say?
That’s a tricky one. I think I’ll quite often start by calling myself a web developer. Then I might say I build software that builds websites, then give an example they might have heard of like Squarespace or Wix and say we build something similar. That’s probably about as deep as I go.
And suppose someone who knows you a little better says, yeah okay, but what do you actually do all day? What would you tell them?
Hmm, I don’t know what I’d say to that. Probably spend a lot of time writing code I guess.
And what do you like about writing code? Where does the satisfaction come from?
I like the creative aspects of being a developer, problem solving, working in a team and building great products. When you see a bunch of disparate people coming together and building something really great – I think that’s probably the highlight.
Also, teaching and learning alongside other people. When we’ve brought in junior developers and they’ve grown in confidence and skills. That’s a big part of what I enjoy these days.
And can you tell me about something you’ve worked on that just turned out to be way more complex than it looked at the beginning?
Probably everything I’ve ever built. I guess recently BaseKit Bookings would definitely fit within that paradigm. We talked about the general requirements for the project and it didn’t seem too complicated.
It’s when you start to drill down that you start to see the complexity and come up against the problem. You then realise the multiple ways that you need to solve it. That’s thinking about UX challenges and design challenges. I tend to have opinions on most of these things which you may have noticed.
Making simple products is really difficult and that’s something we’ve been talking about a lot recently. One of the ways we’re trying to promote ourselves as a brand is the simplicity of the products we build. But simple products are much harder to build than complex products.
Is there something you think is commonly misunderstood about software?
I think there is a general sense amongst non-technical folks that we have magic tooling that enables us to click buttons and things just kind of just appear. That UI can be reused and borrowed from anywhere and it would be suitable for purpose and that there’s drag and drop ways of creating the front and backend of tooling.
I think lots of folks may have seen or heard of a tool like Dreamweaver from back in the day, which appeared to kind of visually allow you to build a website. They see good tools out there like Squarespace and I think a lot of people just assume that these things can’t be that hard to do.
You say almost everything has taken longer than expected. So how come you never get any better at this?
That’s a very good question. I guess because every project is different is the reality. Certainly at BaseKit we’re improving our process with each new project we do. But every project has its own nuance and every project has its own set of unknowns and unknown unknowns. The things you never predict are going to come up do and they’re always harder than you think they’ll be.
The agile part of the agile process encourages you to defer a lot of hard decisions until you need to make them. When I started in software the whole project would be planned up front, which would take ages and you’d still have massive issues down the line. And agile encourages us to do these incremental changes and deal with these challenges as and when we find them.
And the challenges, assumptions and technical decisions that have been made, you’re having to accommodate these things the whole way through the process.
Also, requirements change as a project is built. Our idea of what we wanted BaseKit Bookings to be when we started was quite different to what it ended up being. Whether that’s the demands of the business that change or you discover things along the way that means you have to pivot. Software is a moveable feast I guess.
Thinking back to the beginning of your life in software. What got you into software development in the first place?
Well, there’s a bit of a long story. I came from a humanities background, so I did a degree in American studies. I came out of university and had that kind of ‘oh, what am I going to do with this degree?’ feeling.
I got a letter through the post from my university saying maybe you’re interested in doing a conversion masters. It was converting my humanities arts degree into something possibly useful. That was called a Masters in Internet Computing and I did it back in 2001 or 2002.
My brother worked in software and had made a decent career out of it. I’ve always been fascinated by the internet and had used it a lot when I’d been living in America for a year. So, yeah I was really interested in finding out more about it.
And so I went and did the course for a year, it went really well and I just thought, oh, hang on this is something I could make a living or business out of.
Me and my best mate, he was a graphic designer and I knew a bit about coding from my one year course, thought lets create a business and build an agency. How hard can that be?
So I started my career by going straight in and just starting my own business. I learnt a lot but didn’t make any money. So I stopped that and then went to work for an agency and have been through a few jobs since then.
I liked the idea of being able to create something. I’ve always had an eye for design and can recognise beautiful interfaces and useful things. I’m not great at that part of things, but I like to be involved in the process that does that.
Want to hear more from our developers?
Check out ‘Talking Software Ep1’ with Technical Director Mark Jeffries