Physicians Learning to Code vs. Tutorial Hell
Content
- Why people get stuck in tutorial hell.
- Why people with a medical background get stuck in tutorial hell.
- How to get out.
Learning programming can be daunting. The more research you do, the more topics you will encounter that you know almost nothing about. If you subscribe to newsletters, you see how fast the field is progressing while you don’t even know where to start. In addition, Medium suggests you articles like '127 functions you HAVE TO KNOW as a data scientist', 'Why python will be replaced next month by some programming language nobody has ever heard of' and 'Why you shouldn’t become a data scientist and instead be a data-devops-unittest-agile-ML-pipeline-engineer'.
As someone with a medical background, you might be a little more susceptible to certain mistakes people trying to get into programming commonly make. In this article, we will therefore discuss the most severe one and strategies to avoid it.
Why people get stuck in tutorial hell
The term 'tutorial hell' is used to describe a situation where you study programming without actually programming. You watch tutorials, study for exams and maybe even do some exercises that the course tells you to do but you never really build anything on your own. Since you always feel not prepared enough when you want to actually start a project, you jump to the next tutorial (possibly with a slightly different focus than the last one). By the time you complete it, you have forgotten most of the content from previous tutorials and so the vicious circle continues.
While this is a common pitfall for all people who want to learn programming, especially self-learners, I think that people with a medical background are even more susceptible to this, partly due to our education but also due to personality traits that appear to be more common in physicians.
Why people with a medical background get stuck in tutorial hell
In most countries, it is not easy to get into medical school. You most likely need really good grades, good performance on standardized tests, impressive extracurricular activities and if you're really unlucky, a combination of all these things. This creates a selection bias. The traits that enable you to become a physician, are the ones that make you successful in school and university. Things like planning ahead, not causing trouble and being extremely well-prepared for exams are almost mandatory to fulfill the entry requirements of medical schools. In a programming project however, you almost never feel really well-prepared, especially as a beginner. You have a rough idea how you want to approach a problem and research most of the information as you go. For many medical students and physicians, this feeling of almost complete unpreparedness is extremely uncomfortable and something they try to avoid by doing more courses, reading more books and never actually programming on their own.
When you have completed medical school, the situation is even worse because of the principles that medical education has engrained in your brains. You spend a long time, sometimes years, during your preclinical education on learning things like the different enzymes of glycolysis before you set foot on the ward. You need to plan and study for even bigger standardized test. If you acquire lots of knowledge prior to a clinical rotation, you are more likely to get a good evaluation.
While some of these things have their place in medicine (after all, 'move fast and break stuff' ist not a good mantra for the operating room), it gets you into the habit of wanting to feel super prepared for situations where your knowledge is put to the test.
How to get out
The best way to get out is to not get in. When you are just starting out, it's ok to complete a course without a project in mind, just doing the exercises that the course tells you to do. But once you have an idea of how programming works, what it can do and what not, you should always approach a course with a project that you want to work on simultaneously. This will get you into the habit of researching things on your own in addition to completing the curriculum. Learning how to formulate search queries so that you get the information to the questions you have, is probably the most important skill you can learn for programming. If you do a basic programming course, get some medical documents that you can loop over to extract information and aggregate them in a table. If you take a course on deep learning, take some screenshots of different tumors and try to differentiate between them. Joining a bootcamp instead of self-learning can also help since most bootcamps force you to build things along the way. However, due to the time commitment, this is a rather difficult option for most physicians.
If you found this article helpful, let me know! If you disagree with some of the things I said, let me know as well!