10 Reasons Doctors Should Learn to Code Josh Case - Blog

10 Reasons Doctors Should Learn to Code

Apps, websites, scripts - anything. Regardless, the opportunities are there.

Josh Case Mar 27th ยท 6 min read
An entrepreneur from the Philippines rowing in pursuit of tourist vessels to sell icecreams in the stifling heat of South-East Asia. We indulged, of course. The lesson? A little bit of innovation and perseverance go a long way.

1. The job market for most specialties is changing rapidly

The things that made you employable once upon a time are not going to be the same things that make you employable in the future.

I think you'd have to be living under a rock not to know that senior medical jobs in certain places are extremely hard to come by, and that this situation will only worsen as time goes on and more graduates hit the mid-career bottleneck. To distinguish yourself in a competitive job marketplace, having skills in other areas (like programming) could be the edge you need to get ahead.

2. Writing custom software is a very powerful tool for research purposes

You can't get far into programming without having to understand how to handle or process data on a basic level. APIs, data structures and JSON files are all different constructs you will encounter at one point in time or another, and these all have big implications for research.

Imagine if you could write a script that could complete a department audit for you. Or search through the hospital's operation records, find patients who had a surgery performed, and then automatically look up their blood tests before and after the case. Or look at ED triage times compared to operation completion times, and then compare prognosis. You could perform these iterative tasks automatically (for thousands of patients at a time) if you had the skills to tell a computer to do it for you.

3. It helps you understand what's possible

It's of course unrealistic to expect lots of doctors and medical students to become expert programmers when their agendas are already full with intense medical school curriculums and high work loads. But the beauty is, you don't need to reach expert status.

Learning enough to dip your toes in and build a few simple tools is not that difficult, and it helps you to identify opportunities for innovation that you might not have otherwise found. I can remember one day a few years ago when my supervisor at the time, ED registrar Dr Matthew Klan, said on a whim during a round, "If I knew how to code, I would whip up a calculator to help people interpret ROTEM results in an emergency".

ROTEM is a technology that helps hospitals decide what blood products to give to people when they are critically unwell. Sometimes interpreting the test can be difficult, and given that blood products are a precious resource, it's important to get that decision right.

The next day I brought my laptop in and started tinkering, and a few weeks later we had an in-your-pocket guide to ROTEM interpretation for iOS and Android up on the web and approved for use at the Royal Brisbane Women's Hospital. (And we expect to have the Sunshine Coast University Hospital on board soon too).

4. You can build cool things

I'm a self taught programmer, and here's a short sample of a few of the things I've built recently:

And many other paid or unpaid apps, websites and scripts that I'm not able to share here for one reason or another.

I don't pretend to be the best programmer in the world - in fact, I'm far, far from it. But I do want people to understand that once you get a core level of competency with programming, there are only really two things that limit you:

  • Your creativity
  • Your time available to invest in building things

5. There is more cross-over between medicine and programming than you might expect

There are certain areas of medicine that are intensely algorithmic, and I strongly believe that growing my skills in programming has grown my skills in clinical reasoning, and vice-versa.

To appreciate this point, you first have to understand that the vast majority of time spent programming is not writing brand new code, but rather diagnosing problems with new code interacting with old code. One of the essential core skills of a programmer is in fact diagnosis - just like doctors.

There are several more similarities I have found over the years, such as the analagous behaviour of APIs and human cell membranes. However, I think these and other analogies are best suited to an article of their own one day.

6. Programming provides a fantastic escape from clinical medicine

Rates of clinician burnout and depression are being increasingly recognised as a threat to the health and wellbeing of not just our health-care workers, but also the patients in our health system.

In my experience, one of the best ways to protect yourself from burnout is to have something else going on in your life outside of medicine. That way, it suddenly doesn't hurt quite as much when you have a bad day, or you make a mistake, or a supervisor criticises your decision. When all your eggs are in one basket and you drop it, it's going to hurt. However, if you've got something else that is challenging you, distracting you, teaching you and giving you satisfaction, it makes it that much easier to move on with things when times are tough.

7. You can earn money doing freelance jobs whenever it's convenient for you

This one's mostly for the medical students in the room.

Holding down shift-work during medical school can be extremely difficult, especially when time demands are high around exam period. While it's not for everyone, with a few months of effort you can definitely get your skills to a point where you can earn money online doing freelance work building websites, writing short scripts, or setting up third party applications. The cool thing is, as a freelancer you could work the hours you choose to work, and heck, you could do it in your pyjamas, too.

8. The startup world is hungry for techy doctors

There are lots of non-clinical career options for doctors, and this one is growing year-on-year.

MedTech is an exploding field, and megastartups like Healthy.io are always on the hunt for doctors with insight into tech and clinical practice.

9. You become irreplaceable

There's lots of people talking about the AI revolution at the moment, and how lots of doctors are going to be replaced. I think many of the people who say these things don't necessarily have a grasp on what it's actually like to be a doctor day-to-day in an Australian hospital in the early 21st century, and for the most part, I think they are over-exaggerating.

However, I think we can all agree it's better to be safe than sorry, and that presumably, of course (eventually) our industry will be revolutionised by automation just like dozens of others before us. In that sense, it's not difficult to imagine at least a portion of the medical workforce becoming obsolete. In this scenario, there would be a big demand for doctors who understand the intricacies of the systems that are replacing practitioners, and if you learn to code, you'd be a desirable candidate to oversee and/or provide quality assurance for the running of these machines, making you very employable.

10. Our health system is desperate for innovation

Costs are sky-rocketing and our population is ageing. We need doctors with new-age skills to invent new-age solutions to age-old problems. Learning to program gives you a unique skillset to build new means to provide value for patients. Here are just a few ideas off the top of my head to get your creative juices flowing:

  • An app that intermittently provides questionnaires to chronically ill patients to help decide when their next appointment should be
  • An email list that intermittently provides patients education about their disease (ie obesity, diabetes) with the end goal of improving patient compliance with interventions
  • Web and mobile clinical decision aids for your hospital or health service (like MDCalc, but bespoke)
  • A mobile app for patients to maintain their medications on, including the reason they are on each one
  • Time to get coding!