Talking Software Ep2: Matt Arnold

In the second episode of our Talking Software podcast series, Senior Developer Lead Matt Arnold discusses the social side of programming, discovering prime numbers and the Hitchhiker’s Guide to the Galaxy.

When you get asked what you do for a living, what do you say?

I tell people that I’m a software developer and that I manage software developers.

And does that always answer their question?

Often people want to know a bit more about what software development means. 

So what do you tell them if they do ask that question?

I tell them that I write code for a living and that involves planning features for products. Thinking about how it’s going to look and how it’s going to work. Then being able to communicate that to a computer so that it’s able to reproduce it in software form.

So instead of talking to the animals, you talk to the machines?

Something like that. 

What do you think they most commonly misunderstand about how software gets made?

One thing I think people very commonly misunderstand is how social software development is. I think there’s a misconception that software developers are locked up in a lightless basement and that they sit on their own and churn out ones and zeros all day. But that couldn’t be much further from the truth really.

Programming requires lots of interactions, not just with other software developers in your team, but also other teams in the wider business who are heavily involved in the development process.

Developers read each other’s work all the time, review each other’s work and it can be quite a high pressure job. Everything’s laid out on the table. When you write code and put it up for review there’s nowhere to hide. It’s all there.

So every single thing that you do is going to be inspected by others?

When you’re given a problem to solve as a developer, there are a million ways that you can go about solving it and there’s no concept of right or wrong. There are just approaches and some are better than others, and some are more conventional or mainstream than others, but every time a developer solves a problem, they’ll bring their own unique approach to it.

That approach will then be reviewed and criticised by one or more other developers who will of course have their own opinions about how it should be done and so on. That’s a challenge of the job that means we have to work really well together. 

Then the output, that code, the finished product is going to be looked at by a tester in the team. They’re going to make sure that it’s working correctly and as expected. Then of course, the ultimate goal is that it serves the business. So you can do the best stuff in the world and the final check is that it adds value. Sometimes this is outside of your control, sometimes it’s not. 

But yes, there are lots of things in play. 

And in this process that you’ve talked about for you personally, where does the satisfaction come from?

I think for me, the satisfaction comes from solving all of the little problems along the way. We have to break things down because even small problems can be complex and have many moving parts.

And there are always lots of little challenges to get over along the way. And when you break through each one of those, that’s what keeps you going. I think the end result is always really nice and is a great part of the process, but as a developer, you are constantly coming up against the wall of errors and being shot down.

You think you’ve got something, you hit the play button and you find out that everything you thought was right wasn’t. And so when you get past all of those little bumps it’s really rewarding. 

Tell me about something that you’ve worked on either at BaseKit or earlier in your development career that just turned out to be way more complex than it first looked?

We added an analytics tool to eCommerce and on paper, it was quite simple. We had to get some values from the database and present them in a graph in a nice way. We were using an off the shelf graph tool, which should have just done everything we wanted. It was free and a lot of the other options were quite expensive, so that was our primary choice. 

It should have been a pretty quick and simple job. Get the data, put it in a graph, show it on the page. But as you know Gordon, the product is responsive and we need this to work across a variety of devices. It turned out that the graph solution that we had, and after doing some research, all of the others too, we’re lacking one feature, which is that when you resize the browser, all of the labels along the bottom should evenly space out and respond to the size of the page.

It became clear that I had to write a solution for this, and it turned into a very difficult problem. I don’t have much of a mathematics background, but I spent quite a long time that evening working on it. I accidentally discovered prime numbers and ultimately had to write quite a complex algorithm, which detected the number of items that could fit within the space that was provided, decide whether or not it was a prime number and then do a different conversion based on the outcome of that operation. 

This took hours and hours to work out because I was starting from scratch. I just had this strange problem that was presenting itself in the data that was coming back and that’s one of many really.

What got you into software development in the first place? 

I played the text game for Hitchhiker’s Guide to the Galaxy when I was quite young and I thought it was really cool. It was one of the coolest games I’d played and I decided I wanted to create my own version of it.

A family friend showed me a programming language called basic and that just opened my eyes, really. The idea that you could create something out of nothing and you didn’t need expensive materials or lots of training. All you needed was a computer and lots of people had them even then. So it was a world of opportunity and possibilities at your fingertips and quite empowering to be able to do. 

Want to hear more from our developers?

Check out ‘Talking Software Ep1’ with Technical Director Mark Jeffries

Meet more of Team BaseKit

We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners. View more
Cookies settings
Accept
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active
Privacy Policy

  1. Introduction This privacy policy sets out how we use and protect any information that you provide to BaseKit. We are committed to ensuring that your privacy is protected. Any personal information you provide when using our products or services will only be used in accordance with this policy. Note that this policy does not cover how we use and protect information provided to us from website builder customers. If you are a Go Sitebuilder customer, please see the Go Sitebuilder Privacy Policy. If you are a customer of another company that offers BaseKit’s website builder, please see the company’s privacy policy available via their website. We may change this policy from time to time by updating this page. You should check this page to ensure that you are happy with any changes. This policy is effective from January 2019.  

2. What information we collect We may collect the information you provide when you get in touch with us via the website, email, or phone.
  • You transfer your information to us via the website by filling in and submitting a form. We offer a number of different forms to help you find out more about the products and services we offer.
  • We have a number of different email addresses you can use to contact us. If you’re not sure which one to use then we recommend you send an email to support@basekit.com
  • We don’t provide a central phone number but BaseKit team members may provide their direct phone number for you to contact them.
 

3. How we use the information The information that we collect and store about you is primarily used to help us to stay in touch with you to provide our products and services. However, we may also use your information:
  • To improve our products and services
  • To send promotional email communications about special offers, news, product updates or other information which we think you may find interesting
  • To contact you for market research purposes
Note that we will only use your information as described in 3 and 4 above when you have explicitly opted in to receive such communications. You may opt out of these communications at any time by clicking the Unsubscribe link in any email or by sending a request to support@basekit.com  

4. Storing your personal data We store the data we collect using third party tools such as CRMs and databases. Any data we store is only accessible directly by a small number of authorised staff. The third parties that we use may store your data in locations outside of the EEA. We carefully review each supplier to ensure they handle data in line with this policy. We will store your data for as long as you remain a customer of BaseKit, or where you have actively been in contact with us about our products and services. We will keep data for up to 5 years if you’re not a customer or if we don’t hear from you.  

5. Security We are committed to ensuring that your information is secure. In order to prevent unauthorised access or disclosure, we have put in place suitable physical, electronic, and managerial processes to secure and safeguard the data we collect and store. The transmission of information via the internet is not completely secure and we cannot guarantee the security of data sent to us electronically. The transmission of data is entirely at your own risk.  

6. How we use cookies A cookie is a small file which allows websites and apps to identify individual users and store information about each user’s preferences. A cookie does not give access to any more information than a user chooses to provide. We use cookies:
  • To identify where visitors to the website came from
  • To identify the content that is being viewed
The third party suppliers that we work with may also use cookies for similar purposes. We carefully review each supplier to ensure they handle data in line with this policy. You may choose to enable or disable cookies. Most web browsers automatically enable cookies, but you can usually modify a browser’s settings to disable cookies if you prefer. If you disable cookies you may not be able to take full advantage of our websites.  

7. Disclosing your information We may disclose your information to third party suppliers that we work with to provide our products and services. We carefully review each supplier to ensure they handle data in line with this policy. We may also disclose your information where we are required to do so by law.  

8. Controlling your personal information You may choose to restrict the collection or use of your personal information in the following ways:
  • When providing any information to BaseKit via this website, you may opt in to receive promotional email communications.
  • If you receive a promotional email, you may opt out by clicking the Unsubscribe link at the bottom of the email.
  • At any time you can opt out of promotional email communications by sending a request to support@basekit.com
  • If you would like us to delete all the information we have collected about you, send a request to support@basekit.com
  • If you would like to otherwise restrict the use of the information we have collected about you, send a request to support@basekit.com
  • Should you wish to access the information we hold about you, please send a request to support@basekit.com
Save settings
Cookies settings