The Medical Programmer — Why doctors should code and where you can learn today

There are many reasons a Doctor may want to learn to code. You may have just had the next big idea and want to start developing it? Or perhaps you want to aid your medical research? Or, who knows, maybe you’re thinking about changing careers entirely.

Matthew Stubbs

28th Jun 2019

Many are scared to start learning such a challenging skill when already undertaking a medical degree or working full time as a Doctor. However, the advantages that come with the ability to code as a medical practitioner, or in any aspect of healthcare, are tremendous. New healthcare applications and platforms are arising faster than ever before — many of these are founded by Doctors and Nurses.

I was in this exact situation during my fifth year of medical school with no knowledge of how to code. Now, I have developed two web applications to aid in both medical education and healthcare administration, while also working alongside leading architects to integrate AI services with everyday healthcare. But in a field with countless languages and endless courses, where do you start? This is how I did it.

Where To Start


When you first start learning to code, the concepts can be difficult to understand. That’s why I would start with a course that focuses on first teaching you how to think programmatically. The best free course for this, and where I started, is Harvard’s University CS50: Introduction to Computer Science on edX.

“This is CS50x, Harvard University’s introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. The on-campus version of CS50x, CS50, is Harvard’s largest course.”

I highly recommend this course as a starting point. The core knowledge obtained from this course allows you to progress much faster when specialising or when learning new languages and teaches you not just how to code, but how to think in code.

For your research


If you want to learn to code to improve your data science skills and apply this to your research, then there are multiple languages to choose from. However, the language I would suggest, with applicability to almost all use cases, is Python.

Python is an open-source, high-level language, which, once you understand the basics of programming, can be very powerful even to the unskilled programmer. It has a thriving community behind its development, and an answer to any problem you have is often just a short internet search away. Python’s own documentation is excellent, however, to get started quickly, I would suggest taking a course such as UC San Diego course Python for Data Science, also on edX.

Developing your new idea

If you have had the next big idea and want to start developing a product, then you need to choose a front-end development language. The best place to start is to learn HTML, CSS and Javascript. These languages work together to produce modern websites and applications and are integral if you are intending on designing a website. There are many courses on these languages, but a good place to start is a free Coursera course from John Hopkins University — HTML, CSS, and Javascript for Web Developers.

However, if you are looking for a more in-depth course in the subject, while also learning back-end development, and are willing to pay, then The Complete Web Developer in 2019: Zero to Mastery is a great place to start learning how to develop professional websites using the latest web design frameworks.

Designing an application

HTML, CSS and Javascript are not designed for building mobile applications. If you are intending on building an app then you should look into the platform-specific coding languages:

However, it is worth noting, modern design is shifting towards the development of Progressive Web Applications. In simple terms, these are websites that also work on phones like native applications. This is why I strongly suggest you start by learning web development, but if you are only interested in designing a native application you may want to start with learning Swift.

Learning for fun

If you don’t have any focus in mind and just want to learn coding and programming, a great way to learn is through game design. Designing games can be challenging, and difficult conceptually when converting your concept into code. But don’t let this put you off. There are some amazing game engines that guide you through this process with very helpful tutorials and communities backing them.

Pixel Hospital

Two of the main game engines are Unity and Godot. Unity is an excellent industry level game engine with ample tutorials to get you started. However, Unity uses a language called C# for its programming. This language is more low-level than some of the other languages we have discussed and can be a difficult place to start.

I, personally, developed on the Godot game engine. This engine is open-source and completely free to use. It has a growing community and has started to produce some excellent tutorials. It uses its own programming language called gdScript which is very similar to Python, making the transition between the two languages.

Who knows, you may even build the next FlappyBird.

To Conclude

Learning to code is a steep learning curve. However, there are many fantastic resources to get you started. If you don’t like any of the options I have suggested here there are many great courses in which to enrol. Useful sites for courses include edX, Udemy and Coursera.

Healthcare is currently going undergoing a transformative period with new applications and data science at the forefront of this movement. Make sure you’re part of it and good luck with whatever you’re hoping to do.