Posted on 13th August 2024

Can better focus and communication fix the tech industry?

The tech industry has a communication problem

In the technology industry there are many terms used for the output of our work: Products, services, solutions, systems, designs, research, hardware and software are just some of them. None of these go very far to describe what it actually is that we create and what those things really do. I've arrived at the belief that this is both a symptom and a cause of some of the big problems facing the technology industry today.

Unfortunately things don't get much better when we attempt to put a name to specific technologies that are developed: Cloud, blockchain, crypto, metaverse, AI etc. Nor are the adjectives we use to differentiate the qualities of a particular technology all that descriptive: responsive, progressive, scaleable, headless etc.

In particular after a trend has peaked we are often left wondering, what did it actually stand for and did it really mean anything in the first place? And we start to question why that particular 'technology' was the subject of so much hype to begin with.

Ambiguity is bad for users and developers alike

This ambiguity about the utility of technologies poisons the discussion of them, making it particularly hard for non-technical people to understand the merits of, and problems posed by, particular technologies. It also makes it harder for those of us who work in the industry to get grips with solving real problems and helping people do stuff with technology.

It's difficult for us to even pick the right tools for a project, given how grossly oversold development technologies are, how complex development ecosystems have become and how rapidly things become obsolete. Many of the choices we would like to make have been decided for us by huge corporations such that even if what we want to create is simple, we are consigned to using far more complicated and expensive tools and platforms than we really need*.

*An aside on the uniqueness of web development

(from a long-time app developer's perspective)

It should be noted that when we [as developers] are working on the web we have a lot more freedom that perhaps we take for granted. Web servers and the browser may not be the best environment for running code. But there is no denying you have a lot more control and opportunity to affect the outcome.

If you are required to develop something that works offline, or is required in a mobile context, the complexity shoots up and the probability of building a sustainable solution with longevity goes down. It does so in large part due to the degree of reliance on big tech corporations whose devices, operating systems, development and publishing platforms are built in their own interests, and not that of you or your users.

The fact that you can still do 'small web' in the current climate and use the web as a universal delivery mechanism for your technology should be celebrated and defended because we will sorely miss it if it disappears.

Deobfuscating technology

So how do we cut through the noise and create useful outcomes? We can start by addressing the very fundamental aspect of our work that is communication. Rather than invent yet more new terminology, let's carefully apply the better words for the right things, so they can be understood by as wide an audience as possible.

Let's take what might these days be considered a basic 'solution' I've worked on recently: In my day job we recently built a new 'booking system' for a client. Most people know what a booking system is and more or less what it looks like. But 'booking system' doesn't describe what we actually created, which was a website. So why not call it a 'booking website'. And let's avoid calling it something like a 'booking database' or a 'booking platform' because those are loaded terms that don't make sense to a lot of people.

Delving into the world of tools aimed at software developers - what does being 'cloud native', 'highly scaleable', or 'best of breed' really say about the 'product'? These three attributes could mostly be distilled down into stating that it is 'web-based' and perhaps, at a push, also 'robust'.

Naming and describing something might seem trivial, but it is a fundamental starting point when it comes to the creative endeavour of building technology. We should be able to clearly communicate about what it is we're trying to create, with a strong focus on what it is intended to [help people] achieve.

If we can't communicate this well, then it is an indicator that we have more work to do in terms of iterating on the research, design and creativity that forms a basis for building a technological solution.

Of course, changing how we refer to something is just the tip of the iceberg when it comes to better communication around technology and it is obviously somewhat subjective, but it is a start and hopefully illustrates my point.

Articulating problems in the industry

Perhaps even harder than describing technology itself is describing problems within the industry. This is certainly something I'm trying to grapple with currently. We are faced with huge challenges in this line of work presently and speaking personally as a developer I have a malaise I find hard to pin down:

It feels difficult to deliver an elevated user experience with so much complexity and so many moving parts. It would be great if we could break free from so many of the constraints our industry places on people working within it. But if you want to deliver some piece of technology in the real world, be it an app or a website, there is an ecosystem you have to work within to get things done.

But when everything aligns it is still possible to build simple effective things with technology. That booking website I mentioned earlier: It's a real tangible improvement for the client and their customers in terms of user experience. Fundamental things like time taken to book appointments and percentage of conversions have improved, as well as the burden of day to day admin reduced. And we based it on simple open source components to deliver a cost-effective end result.

Pragmatism in action

So much technology is massively over-engineered and over-hyped and this makes everyone's lives more difficult. One way to combat this is to aim for doing a small specific amount of good in what you do, as well as of course avoiding doing any harm.

I'm under no illusions that I'm building anything unique or ground breaking a lot of the time, but that doesn't make it unimportant or unsuccessful. If you can work together with others get to the heart of what is needed and focus on delivering on that then there is a good chance of achieving your goals.

We need to stop over thinking things, stop trying to reinvent the wheel and just get on and do work that people appreciate. I increasingly can't see how we can do this without better regulating, breaking up, or breaking away from, big tech corporations. But more than that I think the whole mindset of much of the tech industry needs to change. We need a culture of communicating and collaborating effectively, rather than one of exploiting and marketing to excess.

TL;DR — Cut the crap.

That's a mantra we could all do with following when it comes to technology.