In this article, I’m sharing my experience and opinions about learning programming (and other tech stuff) as a medical student.
A Few Words Before I Begin
- Everyone’s path is different. There is no one-size-fits-all guide.
- This is NOT a technical “how to start coding” tutorial. There are unlimited resources online for that.
- I’m simply sharing what worked for me, hoping some part of it might help medical students or professionals who want to enter tech without any formal technical background.
- If you already have some prior experience in tech, your path will naturally look different.
Your Background
Your learning path depends heavily on your past exposure, and what you are naturally attracted towards. Here’s mine for the context.
I didn’t suddenly wake up one day in MBBS and decide to learn programming. I’ve been fascinated by computers since childhood.
I was born in a small village in western Uttar Pradesh. Around 2004, computers were installed in our local bank for the first time. My school (a government primary school I attended without formal admission) was right opposite that bank. Every day, I would peek through the window just to look at the glowing CRT monitor. That was the beginning. Pure curiosity.
I got my first personal computer in 8th standard. I spent countless hours learning about software, figuring out how games worked, modding GTA Vice City, trying HTML/CSS, and pranking school computers with batch files. I spent so much time on it that my grades were badly affected.
But I still didn’t learn serious programming then.
(Why? I’ll write about it some other article.)
After 10th, I moved to Kota, and from then until my 2nd year of MBBS, I barely had access to a computer.
What Happens When There’s a Multi-Year Gap? A lot. Mainly, you lose momentum. When I finally got back in the computer stuff in my second year, a lot, A LOT, A LOT of new developments were there. I was very very confused.
Why I Decided to Get Into Tech
I love machines. Be it computers, rockets, tractors, or even a simple ceiling fan. I enjoy understanding how things work.
During mid 2nd year, the COVID lockdown gave me a lot of time to think:
- Why am I becoming a doctor?
- Do I really enjoy medicine?
- What do I want my life’s work to be?
I realised I love studying medical science, but I don’t love the idea of being a clinician. Medicine is noble, but I realised I’d never reach my full potential if I didn’t pursue my love for technology.
I started an ed-tech company in 2nd year. After a few lessons, I realised it was time to learn programming and app development myself. Tech hires can execute tasks, but they can’t implement your vision efficiently under tight deadlines.
Life is too short to chase social validation instead of doing what you genuinely love.
My Approach
-
Start with a beginner-friendly course. Just follow along with whatever is being done in the course. Don’t try to master every concept in full detail at this point. The goal is to get comfortable with the topic.
-
After completing the course, move to project-based tutorials on YouTube. This is where you should start going deeper into concepts. When you build projects, you’ll naturally face problems that force you to understand the fundamentals. At this stage, you can also begin converting your own ideas into small apps or features.
This much content and practice will NOT make you an expert developer, but it will teach you what to learn next and how to learn it efficiently.
But app development is not “real” computer science.
Building apps and websites is enough if your aim is to convert your ideas into products or even start a commercial venture. But if you’re truly interested in computers and want to go deep into tech, then you must eventually learn the fundamentals - the “super basic” and deep stuff: bits, logic gates, semiconductors, circuits, algorithms, data structures, operating systems, object-oriented programming, databases, networks, etc.
Your exact learn path will vary depending on your aim. For me, top-down approach works better. I start with what you I see on the screen (or what is the outcome), then gradually explore what’s happening underneath.
Example: If your goal is machine learning, it’s better NOT to start with heavy mathematics on day one. Instead:
- Begin with applications. Understand what ML is used for (ChatGPT, Google Lens, speech recognition, etc.). Don’t go deep — just get a conceptual picture.
- Go one layer deeper. Learn how these applications run on a backend. Understand APIs, servers, and model inference at a high level.
- Go further into the ML side. Understand what actually runs on the server - the ML model, the training pipeline, etc.
Only now go deep into ML fundamentals. Concepts, algorithms, and the mathematics behind them. This is where lies the real magic. Everything before this point is just preparation to make the real learning much more efficient.
(Remember: this path is from an MBBS perspective. If you were an engineering student, or you had some background in tech and mathematics, your starting point might be different.)
About coding in the beginning: When I started, I often used a lot of hit-and-trial during coding. If something didn’t work, I would just rewrite the code in a different way without understanding the underlying concept. And honestly, it works sometimes. And it feels good. But it’s not sustainable. You must learn the concepts eventually.
The good part is: today, it's extremely easy to learn concepts efficiently using AI tools like ChatGPT, Grok, DeepSeek, or Claude. You can ask very specific questions based on your exact use case and get clear explanations instantly.
“Can AI Write Code for Me?”
Yes it can. it can generate complete apps also. But remember - if you yourself do not know how to code, if you do not know the basics of how apps work, if you have not made an app yourself in life, AI to write code will not work for you. It may work for a few simple things like simple webpage, but it will not of some real value to you and you will just be wasting a lot of your time. Why is it so? It's because:
- Apps are not just a single file containing the code. Its whole environment on a computer with lot of other files and installed software. If you do not know the basics of app development, and you are using ChatGPT to code, you will not be able to prompt the proper context to get the needed code. It can give you the right code, but it's not necessary it will work.
- Problems you face during coding for app development are like a rabbit hole. If you do not know the basics and just fixing the problems in your code by using AI, many times (usually most of the time) you will end up having another problem, and then another and then another. But if you know the required basics, you can solve the issue in very very less time, and avoid the rabbit hole.
- Using drag-and-drop tools: it can work in lot of cases if you need to build some basic app or website, and if you do not need full control on your data and code. Drag-n-drop tools also use a lot of technical terminology. if you want to optimally use these tools, you need to at least learn the basics.
- Using AI to code without learning the basics is like shooting arrows in the dark. if you try 10 things from google and chatgpt, maybe 1 can work. but it's all useless at the end of the day, because it's not making you a developer. It's wasting a lot of time. It's not an optimised learning approach.
A lot of people ask me why to learn to code from scratch when you can build the apps by using drag-and-drop tools, and you can write code with the help of chatgpt? i have a very simple answer for this - “try it”. Asking such question is exactly like asking why to do MBBS and MS after 12th class when you can learn the surgery by watching a surgeon.
[ A very high ranking official at a very prestigious university once said to me that “even a child can make app these days” (apparently he watchd a byjus ad). I strongly wanted to laugh on his face and wanted to say to him “you are retard of the highest order”. But i didnt for the obvious reasons 😂].
Now back to the point.. Build something, and gain experience on your own. Do projects. If you don't have any specific idea, just follow along the project videos on youtube. Just do the stuff and you will be in a lot better position.
Should Doctors Learn Coding?
Simple answer: Yes.
If you want to do something outstanding in medicine or even become an excellent clinician, learn computers.
Computers now sit at the foundation of modern medicine - diagnostics, imaging, documentation, AI tools, workflows, everything.
Most of the doctors don’t know coding, or even basics of computers and applications. If you do, you have a massive advantage.
Remember: AI will not take your job. But a doctor using AI will.
(AI will redefine or replace many current job roles anyway.)
Current AI is only as smart as the user.
Ask stupid questions → get stupid answers.
Ask clever questions → AI becomes a superpower.
If you combine your passion foe medicine with strong computer skills, your productivity will increase 10×-100×.
Where to Start
- Start from learning and reading about how to use ChatGPT or Grok (or any other similar tool) effectively. A lot of genuine content in layman language is available that can teach you about the behaviour of these tools, how to write a good prompt, and how to get what you want from these tools.
- I learnt flutter for app development. But now when I look back, I realise that it was not a great decision. For app development, you should learn Javascript and React. Basically, majority websites/internet you see is built on Javascript.
- If your priority is not learning about app development, you can learn python. it's simple to learn and is widely used.
Actually you can learn any programming language and do any stuff with it. But every programming language is made and is used for a specific purpose. If your priority is to do data science related work, python is a good option. For web applications, javascript is good, for rockets C and C++ are good options. If you want to build iOS, android and web app from single codebase, flutter is a good option.
The essence is: just do the stuff. Watch and read some tutorials for basics, and start doing the stuff.
Tech Beyond Software
Some of you may want to explore other high-impact branches of engineering and technology like robotics, genetic engineering, aerospace, or even deep software domains like operating-system internals and algorithm design. For all these fields, you will easily find “where to start” guides on the internet. But finding truly useful beginner friendly follow-along tutorials and project-based resources is much harder. Most available project guides are extremely basic, or are extremey complex for beginners.
For deeper topics, the only consistently reliable resources are textbooks. Choose textbooks appropriate for your current level - don’t jump into overly technical ones at the beginning. You can find excellent textbook recommendations on Reddit, Quora, and Twitter.
At the core, all deep tech converges into physics, chemistry, and mathematics. The deeper you go, the more you will need to understand the underlying math and physics.
Mathematics is a major hurdle for many medical students. I myself haven’t learned anything beyond the basics. When I eventually dive deeper into it, I’ll write a detailed post about that journey too.
MedTech
When a medical student thinks about tech, it’s usually medtech. It’s a huge field by itself - ranging from simple cannulas to MRI machines, nanotechnology, and even genetic engineering.
My suggestion is this: get into serious medtech (complex machines, nanotech, AI, etc.) only if you are genuinely passionate about it. This field demands a lot of interdisciplinary learning and long-term commitment. Of course, it’s entirely your choice, but the path I recommend is to aim for a top institution like MIT, Harvard, or Stanford if you want to go deep into this domain.
If you’re in MBBS and decide to pursue medtech, start strengthening your portfolio immediately. Build projects on your own. Do relevant research work. Write articles about the technologies you’re learning and the literature you’re exploring. There are countless research opportunities in this space - and if you have an entrepreneurial instinct, there’s also enormous potential for building high-value companies.
That said, opportunities in medtech are significantly in the West. Honestly, India is not even in comparison.
Jobs in Tech After MBBS?
Yes. You can absolutely land a job in tech even if your formal education is in medical science. There are plenty of real examples, and you’ll find many of them on YouTube.
If you want a good job, you must prove that you genuinely have a passion for technology. Your resume should clearly reflect your effort, consistency, and skills. To make that happen, focus on two fundamental things:
- Get certifications in the relevant skills you want to showcase.
- Build projects - real, hands-on work that demonstrates your abilities.
Beyond that, you can strengthen your profile by doing related research work or taking up internships at tech companies.
Final Words
Persevere. Just do the things. Don't expect anything from anyone. Stay away from retards. Be in touch with those who inspire, motivate and believe in you. Get rid of the fear, it's holding you back.
Resources to Kickstart
Flutter
- Rivaan Ranawat (YouTube)
- Angela Yu (Udemy)
- Maximilian Schwarzmüller (Udemy)
Web Development
- Angela Yu’s Web Dev course (Udemy)
- Chai Aur Code channel (YouTube). Other: Bit to Gates (Book by Yale Patt), Ben Eater (YouTube).
After learning app development and completing a few projects, I decided to go deeper into computer science. For the kind of work I want to do in the future, I need to understand the most fundamental and deep concepts of CS. This kind of knowledge isn’t found in random videos or crash courses. It's in textbooks. So nowadays, I’m studying the relevant textbooks.
That’s all.