AI – do we use it?

Following my recent LinkedIn post about the Fathom AI tool, which we’ve started using as a summariser for online meetings (it’s really good), we thought a follow-up about AI and how it relates to a software development business might be interesting. We also published a post over a year ago where we asked AI about AI!

The first thing to mention is that while we develop software systems, building new AI tools is not our skill set, although we can happily integrate with them. Building AI from scratch requires a deep understanding of mathematics and statistics to set up the number crunching involved, and then knowing how to train it. It also requires unleashing huge amounts of computational power (which we’ll come back to). Interestingly, companies like Amazon are now providing generative (i.e., drawing or writing) AI as a service for developers to use to build their own tools.

But, how does a software development shop use AI?

Helping with the day to day

As I write this post, my colleague is on a Google Meet call with a client, and Fathom is listening in and taking notes. This is massive for us; it means we don’t have to distract ourselves during meetings to take notes. We’ve found it pretty accurate so far as well. The slight challenge will be in making sure we file the notes in a sensible way for later reference, but that should be a fairly minor challenge.

What we haven’t done yet is look into Google’s Gemini tool. As a Google Workspace customer, I am currently getting bombarded by ads in Gmail and Drive to ‘enable Gemini for my organisation,’ which of course carries an extra charge. It tells me it can help with writing emails, documents, and presentations (as can ChatGPT, but not integrated into Workspace in the same way), but I’m not sure I want it to. I do use the auto-completion feature in Gmail, which is pretty good, but that’s nowhere near the full feature set. I expect we’ll try it, though. A friend of mine swears by using ChatGPT to write important internal emails in a corporate environment – maybe my problem is that I pride myself on my ability to write a bit!

Obviously, Microsoft users will by now be familiar with Copilot, which is designed to do exactly the same.

Will AI replace developers?

If you’re a young software developer, there must be a bit of a worry that AI’s ability to write code might replace you! Let’s take a look at this in more detail.

This week, I needed to update a bunch of database records using data from a CSV file (that’s like a very basic spreadsheet, for the uninitiated). It was a bit of an annoying task, so I gave it to ChatGPT and asked it to “Create a series of SQL [database language] UPDATE statements to modify data based on the following, replacing x with field x from the attached CSV file, and y with field y”. What I was hoping for was 150 SQL statements that I could drop into my database program and run with one click. What it actually did was to write me a little script in the Python programming language and tell me how to use that to convert my CSV into a database script.

It wasn’t very helpful. What it did might have been useful for a novice developer trying to learn, but it wasn’t what I needed at that point. However, if I’d needed to add something to one of our systems to import data from a CSV file, I expect it would have given me quite a head start and was certainly a lot faster than doing a Google search and trawling through developer forums.

The learning from this, and this is how my young developers have used it, is that if you want to do a specific thing, tools like ChatGPT can write you a function to do that. But that’s actually quite a small part of what software development is. What we do is turn complex business requirements into complex systems that are easy to use. It’s kind of like building a house – the builder will specify the components needed (like windows, kitchen units, etc.), and then fit them together. Our developers take components (like an import function) and fit them together to build a full system. But in the same way that a builder needs to understand how and when to use a Velux window, software developers need to understand how the functions they are using actually work, so they can fit them into the wider system and fix them when they break.

So, AI is just another tool in a long line of ‘making lives easier for developers’ innovations, just as it is for writers, artists, and countless other professions. The trick is to embrace it rather than feel threatened by it.

So, do we use AI?

The short answer is yes, we use AI. But, just because we’re in tech doesn’t mean we understand it any better than anyone else! Just like most small businesses, we’re just figuring out how best we can use it!

A footnote on sustainability

It’s worth mentioning how much processing power simple AI queries use. We found a great infographic on this – apparently doing 16 queries on ChatGPT produces as much CO2 as boiling a kettle. This also goes for voice recognition – obviously you should turn your lights off when leaving a room, but asking Alexa to do it is far more wasteful than flicking a switch as you walk by!

The ‘back ends’ of these AI bots are all massive arrays of GPUs (Graphics Processing Units), which are processors designed specifically to do lots and lots of simultaneous calculations. Since these are done by switching tiny electric circuits millions or billions of times a second, they use a lot of energy which ends up as heat, which all has to be got rid of by cooling systems.

So next time you ask your smart speaker what the temperature is outside, think that you could lower your carbon footprint just by opening the door instead!