Last weekend I helped organise The Digital Doctor Conference in London. This was an opportunity for doctors to come and learn more about technology and learn some of the basics of coding and web applications. The conference went really well, and lots of the attendees said how much they enjoyed learning about software development. As normal with this sort of event, it lead to a debate on "why bother teaching a non-developer to code?!". Lots of Tweets were flying around, with some challenging comments such as:
This debate has been thrashed out a lot and I see both sides. We deliberately linked to Jeff Atwood's "Please Don't Learn to Code" to make sure people were well informed. After the event, Lis Evenstad from EHI asked me about this, and about why we felt it was beneficial for doctors to learn to code. This is my answer.
Doctors Have Good Ideas!
Doctors have a unique insight into the problems at the NHS, and the tasks that doctors have to complete outside of clinical medicine. Many of these problems are simple and could be solved so easily if the doctor had the ability to do so. Some of the ideas that were raised included:
- A basic application to alert the Ward Matron when something is out of stock.
- A simple diary to keep a history of attended events for GMC revalidation.
- A personal development planner for junior doctors.
All of these could be solved with trivial web applications - things that a doctor who learned to code could create. None of them need strong development skills. They are basic CRUD applications that don't contain personal information and require minimal security.
However, a doctor doesn't know that.
Doctors are used to £11bn projects that never get delivered, ancient software that only runs on IE6, long procurement processes, and expensive developers. They have no idea how easy it is to create a simple web application, and so many of these ideas never see the light of day.
No-one is suggesting doctors should start making complex systems, but there are many simples ones that they could make with minimal work, and that's where something like The Digital Doctor Conference comes in.
Doctors are Involved in the Specification and Procurement of Systems
The other important reason that I think doctors should learn the basics of software development is that they will probably be involved in some sort of specification or procurement during the careers. They are the experts in the systems they use and best placed to know how they could and should improve. By gaining a basic understanding of software systems, they will be able to make better informed decisions and make more insightful suggestions.
As a patient, if I was going to have an operation, I wouldn't expect to know every detail of how it was going to be carried out, but I'd like to know the biology of what was affected and the principles of what was going to happen.
If I doctor wants to learn the basics of software, I believe we should support and encourage them. Who knows where that knowledge will take them - just look at Ed Wallitt of Podmedics as an example!
If you're in medicine and have any technical questions or want to know how to get started developing software, join the Digital Doctor Google Group and ask away! There are lots of friendly people to help get you started. Alternatively, feel free to Tweet or e-mail me.
I highly recommend you read the comments below this as they add many valid viewpoints. A few people on Reddit also have some interesting thoughts. I also recommend reading Raza Toosy's blog post on his experiences of being a doctor who can code.