The start-up enthusiasm has seemed to have taken the NHS by storm. It’s exciting to see so many people coming up with ideas and trying to make them work. Sadly I’ve got to be frank, a fair number of the ideas that are pitched to me are just not practical. Whilst I have come across a number of sensible clinicians who cannot write a single of code I have also met too many who would benefit with playing with the technology they want to harness. Steve Jobs is the main defense I hear but this is simply because people don’t know his life story. Yes, he didn’t graduate as an engineer (he didn’t graduate at all) but whilst he was in high school he did spend his spare time building electronic systems as a hobby. In fact, he was so impressive he was offered a part-time job at an electronics company after he rang up the manager asking for particular parts. He was still in high school at the time. He also worked as an engineer at Atari and snuck into physics classes at Stanford in his spare time. He also got involved in building the circuit boards in the early days of Apple. When they mention Jobs, it only goes against their case. Now I’m not saying that you should master coding. If your project takes off you will have to hand the technical details over to professionals. However, here are three reasons why clinicians should at least play around with code as a hobby:
Understanding of difficulty
Today the average member of the public is spoilt with great engineering. Companies hire graduates in tough technical fields from world class universities, they work around the clock in teams competing with other companies to develop products. Now, most people take great engineering for granted. Seeing as we’re on an Apple theme a good example of this is the iPhone 4. Design wanted a metal band without lamination around the phone which was very close to the antenna. The metal band effectively created a Faraday cage. Many meetings between design and engineering were made and they managed to get it to work. However, when it came to testing they used a different case in order to protect secrecy. I’m not protecting Apple they did mess up, but the reasons why were nuanced. Like most failures, there’s usually multiple reasons. Sadly, some customers and journalists who knew nothing about physics or engineering were concluding that the engineers were stupid and didn’t know what they were doing when the phone dropped signal periodically. This is fine, as they can have this opinion. It’s just the nature of the public. However, if any of these individuals wanted to start their own smartphone projects this simplistic view would do more harm than good. The fact that they use phones a lot is not much of a compensation. Playing with code will stop you being an average consumer, and give you an understanding of the levels of difficulty involved.
You’ll get better quality ideas
This stems from the previous reason. Being able to code even as a hobby will give you a better understanding of the hurdles you will face and limitations in your resources. For instance, I had three doctors approach me with the idea of developing an app where doctors could share information between each other. It could also access and share patient information in their medical team as it would sync with the hospital computer system. These three doctors came up with the idea, they would continue to test it and give me feedback and I would code and develop the product. They proposed that we all get 25% of the business. Judging by their pitch it was clear that none of them had coded, even as a hobby. They were completely unaware that we needed our own data structure on a server in order to send and share messages. We would then need to build an API framework [read this post for an introduction to API], and then pass this to two separately coded Andriod and IOS apps. We would also have to get the APIs of the hospital computer system to get the patient information. There is also issue with the security. Do we have to run our data structure on the hospital server? Not only would I have to code the whole project, which was a mammoth task requiring multiple developers, I would also have to do the management. They were not equipped to meet with hospital computer systems admins to try and negotiate how to manage this. How would they know they got a good deal? In fact, what could they offer apart from comments from a clinical context which frankly I could get from paying a focus group? Clinical experience can give you an edge if it’s combined with something. By itself when it comes to med tech, it’s fairly useless. These doctors didn’t have to know enough code to solve all the problems and develop solutions, but taking a few months out to play with code and read around the general concepts would have turned them from useless dreamers to people who could actually manage a project. Their clinical experience would have given them an extra edge, but it’s not a substitute for not understanding the tech field. If just having clinical experience gives you an edge that means that managers in the tech industry don’t have to know anything in order for just clinical experience to outstrip them.
You get to prototype
Before you dive headfirst into a project you need to test to make sure it works. Prototyping is essential for this. If you want a practical grounding in prototyping an idea on a budget I recommend reading this book [link]. If you can code a little in an easy language you can knock up some basic scripts that can simulate solutions. With a little bit of coding, you can get something working. The real skill and years in coding comes with refining code, making processes faster, writing the function in fewer lines, making it more secure, engineering it so it can scale and be used by more people. For more read the following pop science book [link]. You’ll be shocked at how much math logic goes into optimizing a search or sorting algorithm. However, I have met multiple doctors and nurses who are terrible at math, do not understand the logic behind algorithms, and cannot mathematically model something to save their lives. However, they read the documentation of the modules they need, and use a plug in and play approach in order to develop a working solution. This works and they tweak it with the short feedback loop they have until they have an effective product. If you want an example further a field Elon Musk made his first millions in internet advertising. He got a minimum viable product working with code that he wrote. When he proved that it worked he got funding. As soon as he got the funding he hired graduates in computer science. They looked at his code and completely rewrote it. He’s now the CEO of Space-X and Tesla.
So there you have it. Learning to code even as a light hobby is a good practical way to get a grounding in the tech. It will also help your problem-solving skills too. If you’re still not buying it at the very least, read around the general concepts of tech. What are the different types of databases? How does API get apps to talk to each other? What are the differences in operating systems?