Introduction

Software for Domain Experts is about how you  – as a domain expert – can get beautiful software built and implemented – or even build it yourself.

Software which will do the most it can do, to help you make better decisions, understand your situation, co-ordinate with your colleagues.

How you can help get this software designed and implemented – explain to other people what you need, work with software experts to get it built, or maybe build it yourself, using ‘low code’ tools, which do not require programming expertise.

We’ll talk about working with software companies as service providers – so they are getting something working well for you, rather than selling you a product.

We’ll talk about the importance of decentralized tools – which do not tie you into any large software company. There isn’t anything intrinsically wrong with large software companies, but their motivations are often more to get you (or your company) to buy something, rather than to give you the maximum assistance.

We’ll talk about how software can make your work feel more meaningful. There’s nothing magical about this – work feels meaningful if you have autonomy, you are learning, you have a goal to aim for, all of which good software can provide, as we will show.

We’ll talk about the role of ‘artificial intelligence’ as a tool to support experts – helping you understand large amounts of data or spot trends in large data. The problem with the term ‘artificial intelligence’ is that it is commonly taken to mean computers replacing experts (which is unlikely) rather than computers supporting experts.

We’ll talk about the importance of ‘modelling’ – building software which helps you understand your world, which means that the software needs to be constructed with some ‘understanding’ of the world. Because every expert’s world is different, the software – or some elements of it – will probably need to be custom built for you. This will also create jobs for start-up software companies.

We’ll talk about the importance of designing software around the core logic (which governs what information is provided to you), rather than a relational database. Relational databases are not very good at storing information about the real world, because (with some exceptions like library books), there is not much in the real world which fits easily into a database.

We’ll talk about the role of education in all of this – how the same tools which are used by experts such as yourself can also be used to help with training, so people can develop expertise, and develop the skills to develop expertise.