image credit: Algoworks
Mobile, IoT, and drones all face a similar class of problems related to internet connectivity and power efficiency. Therefore, if you are a tech buyer or investor, it makes sense to understand some of the software specific challenges. Our goal here is to provide your team some context for when to filter inputs about software design choices.
When evaluating a team or a software product, a review would be inclusive of philosophy for design principles and tools used. One obvious product attribute is programming language (s) selection. We’re always stunned at how parallel, or similar differences in opinion are between programming language “specialists” and medical treatment suggestions by different types of physician specialists. Let’s compare an Orthopaedic surgeon and a Neurologist on the same patient. This might be like asking a programmer who prefers one language and comparing that to the opinion of a different programmer who has experience with other languages for solving some types of problems.
For example, if you are a primary care physician and your daughter reported neck pain that manifested in tricep weakness in her arm, you might consult both an Orthopaedic surgeon and a Neurologist, or a Neurosurgeon. They will likely have different approaches. The Orthopaedic surgeon will frequently be “hard-wired” to suggest various tests and procedures, or operations that they know well personally. In your daughter’s neck and tricep pain case, the Orthopaedic solution could involve multiple vertebral levels of spine surgery.
By contrast, from a Neurologist’s training, he may observe from testing reflexes in your daughter’s arm, which disks and nerve roots in the neck are affected by the kind of reflex her arm demonstrates. This may in the Neuro’s view, point to treatment at a precise location of the disk surgery at a specific level instead of multiple vertebral levels of disk surgery. These are two different approaches to relieving nerve pressure. Compelling arguments may be made with both approaches when evaluating case specific nuances. Because of the tools each physicians know, you frequently get the recommendations of their distinctive thinking. This is exactly what happens in software. Though the loyalty to languages is even more extreme in software because of communities; though this is a different topic for a different day. Tech veterans call this “holy wars of programming languages” and a fun meme depicts the sentiment below of the arguing hares. This kind of difference of opinions transfers to software development.
One question we had to answer as we designed Medigram 2.0 is, “Should we use the language du jour in Silicon Valley, JAVA? Because for a variety of reasons, JAVA dominates enterprise software systems today. When JAVA came along, it was a giant leap of progress; what it has done is enabled a program to be written once and have it run everywhere, on any operating system. Pretty powerful stuff.
Java’s paradigm has been subsequently emulated by C#, Python and others. For this, at the very least, Java and its developer community, deserve an enormous amount of recognition for the dominance that JAVA enjoys today. This popularity has made JAVA #1 on the Tiobe Index and ranked #3 in pull requests in GitHub in 2017 [1] image credit: IT Hare
In the use case of mobile applications for physicians in a high scale networking context though; garbage collection pauses and memory pressure inherent in JAVA prevent the performance requirements that physicians require for mobile phone apps in difficult environments such as hospitals.
As our VP of Technology, Dean Shold says “Java would have created an exponential increase in design, development and management to make it work over what we chose, which is Erlang for the entire back end architecture, not just messaging.” In the case of a startup, you’re forced to choose the “precise treatment, more parallel to the Neurosurgeon than the Orthopaedic surgeon’s choice in single vs. multi-level discectomy respectively.” (Anterior cervical discectomy and fusion (ACDF)[2]. Further Mr. Shold explains that “the network traffic created from the type of app that Medigram has created (lots and lots of small messages). Each of those needs to be processed quickly and concurrently in which Erlang is a better back-end architecture choice. Erlang is a programming language already used for over 30 years to build massively scalable soft real-time systems with requirements for high availability. Some of its uses are in telecom, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. It’s a lean, mean processing machine.”
Just as a sophisticated medical consumer wouldn’t assume all kinds of physicians will suggest the same treatment approaches, a sophisticated IT consumer won’t either when filtering feedback from experts.
Erlang YAWS = 20X Load Capacity over Apache (JAVA)
Image credit: Fady Sedrak
By: Sherri Douville, CEO & Dean Shold VP, Technology at Medigram
Sherri Douville is CEO and board member for Medigram, the modern, mobile communication platform and system for physicians. At Medigram, Sherri leads a world-class team of technology, healthcare, physician, and business executives in Medigram’s mission to eradicate the leading cause of preventable death, a delay in information. Sherri has 15 years of healthcare experience in product development, sales and marketing including with Johnson & Johnson, and as a health care product development and business consultant. She has a BioPhysics degree and has completed three certificates in electrical engineering and computer science through MIT. Ms. Douville has held a variety of industry and other leadership positions. She is currently the NorCal HIMSS (Health Information Management and Systems Society) membership committee chair. Sherri has previously been both co-chair of the NorCal HIMSS Annual Innovation conference and a member of the board nominating committee. Sherri also advises Health IT, Medical Informatics, and genetics startup companies; Sherri and her husband, Dr. Art Douville have volunteered together with a variety of NonProfits including as a member of the Board of Fellows for Santa Clara University.
Dean Shold is the VP of Technology for Medigram. Before his current role, Dean was the VP of Infrastructure and Chief Technology Officer for Stanford Health Care, and was previously the VP of Global Data Operations for Zephyr Health. With a degree in computing science and a passion for social good, real time data analysis and mobile computing, he brings a unique background and perspective to the healthcare industry. At Medigram, Dean drives enterprise customer complete solution development, implementation, support, and customer success. At Stanford Health Care, he led a global team of 180+ personnel at 24x7 support to 50+ locations including multiple hospitals. He managed the technology and support budgets and built and reorganized teams to drive performance and reliability. He built a command center based on FEMA's (Federal Emergency Management Agency Guidelines) and oversaw data center performance and builds.
Dean also has deep passion for practically addressing the opioid crisis. His interests are in the scientific and the social sides of the opioid crisis bridging the people who use drugs and are opioid dependent with the researcher and the lawmaker. He is fascinated by how the worlds of legal and illegal opioids intertwine and how our societal biases impact treatment and recovery. In his work, he brings a vision of how Health IT can be leveraged to better understand and address the crisis. This includes examining the following key dimensions in addition to Health IT such as fentanyl, naloxone, harm reduction, detox, treatment and recovery.
Outside of the office, Dean also co-founded a non-profit organization to create novel ways to donate to charities. Dean is an instrument rated pilot and avid music lover. He and his wife, Pauline recharge by exploring harm-reduction organizations, the arts, craft beer and music scenes.
[1] Stackify
[2] Agulnick, Marc (2017). Orthopaedic Surgery Essentials: Spine. Two Commerce Square, 2001 Market Street, Philadelphia, PA 19103 USA: Lippincott Williams & Wilkins. p. 343. ISBN 978-1-49631-854-1.