From Doctor to Doctor's Software. How I Became a Dev

Since the new year just started, I can imagine that now more than ever there are a lot of people trying to motivate themselves to learn how to code and start a career in software development. Not long ago I was in the exact same position as you are right now and the articles shared here helped me tremendously to stay motivated while I was working towards becoming proficient enough to be employable.

​I want to give back to this supportive community by telling my story. Maybe it will help some of you to get through the hard and lonely times when you are learning a new concept. Those moments when nothing is working how it should and you are doubting whether this profession is really something for you - I have been there too, many times.

​But first let me introduce myself. My name is Ramin, I’m 28 years old, I’m a medical doctor and I live in Berlin. It took me about 2 years from the start of my journey to signing a job contract. Today, I work as a Full Stack Developer at Doctolib – something that was unimaginable for me just the year before I got the job.

​My story starts at the end of medical school. Before university, I spent 1 year in high school learning some basics of coding. I didn’t remember any of what I learned about coding there. But that’s not why I went back to coding. No, I had a different motivation. At the end of medical school I realised I didn’t want to practice medicine - I wanted to help the system change and advance. Health care systems all over the world have grown in complexity but have not been digitised like other industries. I feel that this weighs heavily on health care professionals who spend a significant amount of their time filling out paperwork and keeping track of data manually. With this feeling I started looking for a skill that would help me be able to make a positive change and this is where I discovered coding.

​My last year of medicine – like in many countries – was basically a year long internship with a higher level of responsibility than usual. Every day after returning from the hospital I would learn HTML, CSS and JS on FreeCodeCamp and similar free sites – learning the basic concepts, doing the exercises and creating little projects like the infamous tribute page (mine was about Oliver Sacks).

​It was not easy and I felt that I was advancing very slowly. A lot of blog posts have the advice that a newbie just needs to build tons of little projects but I had no idea what to build. On the weekends I went to meetups to find some people who could mentor me but unsurprisingly the meetups were full of newbies like me and there were almost no senior people.

But it was not just this personal frustration with my learning path that weighed heavily on me. On top of that my social environment seemed to dislike my idea of a career change. My friends kept thinking I was joking when I told them about my idea to work in tech and most of my family couldn’t believe why anyone would give up on a profitable career path as a doctor. With a few exceptions everyone around me was telling me that I was making a mistake. I started entertaining the thought that becoming a developer is maybe not as realistic as I had first imagined. Maybe the blog posts that told me it was easy to get a job as a developer were lying?

​I finished medicine being completely in doubt about what would come next. I worked night shifts in hospitals and elderly homes as a backup assistant – that is when the hospital doesn’t have enough staff. I knew if I started a full time job as a doctor my opportunity to become a developer would be gone. These were probably the hardest months of my journey. It is a hard journey for most of us. Don’t let anyone tell you it is easy to change careers. But even with all of the personal pressure and frustration the journey was worth it!

​Luckily, something wonderful happened to me that got me out of my negative mindset: I met Mostafa. Mostafa had just moved to Berlin from Gaza, after getting a job at a blockchain company that was willing to sponsor his visa. Because of all the opportunities he had from coding, he wanted to give back by trying to help people to become developers! Here I was sitting with him in a cafe in the center of Berlin just because of a person I knew that knew him – one of the luckiest days of my life. Mostafa told me right away the facts: it is possible to get a job as a self taught developer, it is not easy but by learning the skills companies are searching for, it is doable. This message changed my mindset completely. It was not some message I read online but a real person telling me that I could do it. He started mentoring me. Every two weeks I got a little assignment and I needed to hand in code. Mostafa tried to find the time to look into the code and to tell me what to improve.

​The curriculum was straight forward - it mostly got me to building stuff and I started taking my embarrassingly simple code seriously. We stuck to HTML, CSS, React and ExpressJS – “If you can become a Full Stack Dev with just JS why learn any other language as a beginner?”. Mostafa pushed me to understand every part of the web stack from frontend to database in a practical manner. I think one of the most important things I learned in these days was that some topics are more or less neglected by the self learner community. One of the most neglected topics is testing and how to test an application well. When you build a dummy project you usually don’t want to waste precious time on tests but you need to realise that this is actually very important. Get into the routine of testing your projects! This will help you a lot. Spending time on learning how to test things properly is time well spent.

​From then on I spent most of my free time in the library with my laptop. It helped to have a schedule and a work like environment. My learning habit turned from sprints interrupted by frustration into a marathon. The key to this was that I was finally convinced that I could reach the goal and that all that matters was how much time I spent on getting there.

​A year after I finished university – after having worked on dozens of little projects – Mostafa told me that I knew enough to start looking for a job. It took me a bit of time to get going and to understand what was important. The whole application process is definitely different from medicine. The CVs look different and the interview process is very specific to the industry. I took another month to prepare specifically for the technical interview part. You can find a lot of resources on this topic online and it helps a lot to prepare this part well. If you want to start preparing for technical interviews the best way to build up confidence is to solve problems on pages like LeetCode. As much as developers complain that these coding problems are artificial and far from the day to day job the truth is that they are widely used and that good preparation pays off tremendously.

​After the month of preparation came the big day and I started applying for jobs. It was daunting and I was filtering out too many job offerings but then Mostafa told me: “Don’t think that if you don’t apply you can avoid rejection. If you don’t apply you are already rejecting yourself. Take the leap and apply! In the worst case you learn how to improve your application.” With this empowering idea I went back to the job offerings. I discovered a company that fascinated me in the medical sector called Doctolib. Doctolib builds software for practices and hospitals and enables patients to book appointments online – I was hooked! I wanted to be part of this project and I hope you find projects you want to be part of just as badly. Then I took the leap and applied. The application process that followed was an emotional rollercoaster ride on which you can read more on Doctolib’s engineering blog. After I made it through the process Doctolib decided to hire me. I arrived at my goal. I couldn’t believe that I really made it happen.

​What I want to tell you with my story is this: persevere! It is not an easy journey but it can lead to wonderful opportunities. If you enjoy coding, stay on this path. People will say that you can’t do it and that you are too old and not smart enough and whatever. This is all not true. They have no idea. Sit down in front of the computer, find a part of the software universe and a language that you enjoy and learn as much as you can about it! Keep learning, push yourself to build small projects and you will become a professional developer! There is really no doubt about that.

Two last pieces of advice.

  1. If you are in doubt about what is needed to get a job, read job offerings for junior positions. Do this calmly and don’t make yourself feel bad for not being there yet! Create a list of things that you need to have basic knowledge about and start learning little by little.

  2. If you are about to change careers but you feel too old for it I have one additional idea for you: coding is like writing text. You learn to read it and write grammatically correct sentences, you learn about different structures like essays and many other technical things. But code in itself is not content and that is where your previous experience comes in. If you worked in law find a law tech company, if you worked in finance find a fintech job. All of these new companies need expertise and pay a lot for it through user research and consultants. Leverage your knowledge and be the developer that says “Maybe we could add this functionality here to make our new feature easier to understand for our users”. Tech companies need your domain expertise to build better products!

If you have questions or want to know more feel free to ask in the comments section. I would be happy to hear from you!

Thanks to Tevin Otieno and Elise Peter for reading a draft of this post.

16 Likes

Thanks for the article. It really helped me motivate because I am a medical student and my internship starts this summer.

I don’t want to practice medicine like you and I started my journey about one month ago.

Wish me luck!

3 Likes

Hey Ozan,

thanks for the kind words. I definitely wish you luck – but even more than that I hope that you will enjoy your journey! I have no doubt that you will find your place in this industry :blush:.

3 Likes

Hey Raminos, I have a similar situation, I like doing medicine but I feel like that the range of opportunies is limiless if I complement medicine with coding , I have many ideas in mind that I want to be able to write in code to really make a impact. As a doctor, most of the time I can only impact in my patient but if I can be a programmer I believe I can impact millions directly.

Right now I am going through my learning jorney. Glad to heard you made it.

3 Likes

Hey David,

great mindset that you have there! I also see so many things that still need to be built for our colleagues :wink:. If you need help down the road or want to throw around ideas feel free to write me on Twitter (@raminazhdari).

3 Likes

Congratulations on successfully making the leap.

I think many people face this. It would be a tragedy to spend your entire career doing one thing when you’d rather be doing something else – all because you family pushed you to stay on the wrong course. I am glad you were able to overpower that peer pressure. I wouldn’t fault your family or friends – society is just like that. It push us into roles. “You’re a doctor. Just be a doctor.” I felt similar when I decided at age 31 to learn to code. People around me didn’t understand why I didn’t just want to continue being a school director.

Also:

I couldn’t agree more. These coding challenges are practice, and practice is how you advance your skills. Many of these Data Structure and Algorithm challenges will stretch your problem solving and your coding to the max. That is how you bring about step changes in your coding.

I would love to learn more about Mostafa. He sounds like a stand-up dude for encouraging you and coaching you. Do you have any photos of the two of you together?

6 Likes

Hey Quincy,

Thanks for your lovely answer! I completely agree with your comment on society. I think it can be helpful for career changers to know upfront about the social dynamics at play so they are well prepared – it definitely would have helped me.

Sadly, I realised that Mostafa and I don’t have a single photo together. I think we are just too busy coding every time we meet. I will take one next time I see him :upside_down_face:.

2 Likes

For sure. I would love to see a photo of you together. This sounds like a truly legendary mentor-mentee relationship you all have built over the years.

2 Likes

Thanks for sharing your story. It’s indeed another testament of the power of focus and consistency. I’m gonna share mine one day

1 Like

What a well put together article.
This does give me inspiration to follow my dream of being a coder.
Many thanks.

2 Likes

Congrats, loved to read your story! It’s so important to write it and expose it with courage and vulnerability like you did! People need more of this to get motivated and grow!

1 Like

Your story is interesting yet I still dont understand why you would give up being an MD for coding… Coding is enjoyable and all that but is very competetive. Companies trying to pay the lowest and outsource to the cheapest… People dont do the same with their health.

Freelancing… my experience with it is not so good. people reaching out trying to have you build drag and drop websites for very little. and i dont have a good business mindset.

is maybe not as realistic as I had first imagined. Maybe the blog posts that told me it was easy to get a job as a developer were lying?

Its either people with a strong science background from school, I would think being an MD would give you that. Or mabye people that know someone at that company. I.e… Friend brings a friend… I would never trade being an MD or some other sort of always in demand valuable skill for coding.

How do you test?

Again not trying to cast doubts on your dreams, Everyones experience in life is different but I dont understand why you would throw that all away.

When you do please share the link with me Enyinnaya – I’m looking forward to it :blush: !

Thanks for your response kravmaguy! Don’t worry you are not casting any doubts on my dreams. It was hard to discuss these points while I was trying to become a professional, but now that I work as an engineer I live in a growing industry full of opportunities – I couldn’t be less in doubt about my decision. I think it might be worth to discuss some of the statements you made.

Coding is not only enjoyable, it is a real profession just like being a medical doctor. No matter whether you are in law, finance, medicine, politics, engineering, academia or any other either prestigious or high paying field you will face intense competition. In my daily work as a software engineer I see way less competition than I saw between junior doctors. I code because I want to spend my life on work that I enjoy and I enjoy coding tremendously. I don’t mind sitting in front of the laptop outside of my work, building side projects or just improving my skills with coding challenges – for me this is time well spent. It was not the same for me in the hospital and that is why I left. I advise people to find something they like doing and not something that “just” pays well or is prestigious. If you enjoy coding like me you even have the chance to be well paid for it – I’m very thankful to have that opportunity.

It certainly depends in which part of the software industry you are working in. Just like every industry we have parts that pay worse than others. I hear people complaining in the “junior” freelancing area where you are hired to build simple websites. If you see yourself in market conditions like those try to look for another part of the software industry. Maybe instead of freelancing you can work a few years for a company and then try it again – I can assure you that with some seniority you will find very different job opportunities. What you need to understand is that your pay changes with the level of your skills. You will not earn the same for building a simple website than for helping a growing company scaling their product. Therefore freelancing at the beginning is really hard, since your skill set is still quite limited. Especially in your early years look for a tech company where you can learn and grow. Most tech companies take a lot of time to train their junior developers.

It is interesting what ideas outsiders have of an industry. You need to understand that doctor’s earn vastly different salaries depending on the country they work in and their speciality. It is true that statistically speaking medical doctors in the US (where a lot of the readers will be from) earn a lot, but this comes at the price of not having health care for everyone. In continental Europe (where I’m from) this is very different. Doctor’s earn less but health care is available to everyone. In those health care systems public insurances play a big role and they make sure that they don’t pay too much – in our countries most of time a doctor can’t even bill more when they are a famous specialist. The average doctor in continental Europe will earn in the beginning of their career 50k - 70k and later as a specialist around 100k - 120k (all in Euros – add 20% for the salary in Dollars). These are good salaries no doubt but they are also just as feasible in a career as a software engineer. A lot of people still believe that doctor’s are paid much more than other professions but this is a myth. If you count in 5+ years of university and then another 5+ years for the specialisation you will get a more realistic picture. Even for someone like me who finished his studies and then changed careers, salary wise I’m still in my peer group.

This is a sentence I needed to hear a lot during my career change – it is great that you are bringing this up :blush:! I think I needed to realise that I wouldn’t throw away anything. If I would want I could go back to being a doctor anytime in the next five years without any problem. This is the safety I got from finishing my degree and then changing careers. Instead of seeing it as something thrown away you should think of it as adding up on top of each other. As I explained in my post crafting software is a skill you can add to almost any kind of topic. You can see this from my example, by being a doctor that is also a software engineer I’m very attractive for medtech companies. Today, medtech companies actively approach me since they see the value in my unique expertise of both medicine and engineering for their product.

Coding is a super in demand skill. To quote Naval Ravikant: “2020 is the year the world finally realized that software is eating the world.” I don’t think you need a strong science background for coding. I would estimate that half of my colleagues don’t have a science background. For me coding is much closer to clear writing than science. Due to medical school I have a background in clinical and biological sciences but I don’t think this helps me in any way. It is true that a lot of classical algorithmic puzzles need some mathematical understanding but often the idea behind the algorithm is relatively easy to understand just by following the algorithm’s execution steps. With a high school math education you will have enough mathematical understanding to grasp all of the basic concepts. It is true that some tutorials and books are written with a lot of mathematical examples like the famous fibonacci sequence to explain recursion. If you don’t like that search for another example that doesn’t involve mathematical concepts.

I think topic is too big of a topic for this short comment but maybe I can give some high level guidance. The best way to get started is by reading some of the beginner articles on freeCodeCamp and afterwards deep diving into it with tutorials for the tech stack you are already using. Try to write some unit tests, integration tests and end 2 end tests. That will get you going. Then for your next project try to test every piece of logic you write with some basic unit tests. Additionally, when you see yourself frequently testing some behaviour on the UI write an end 2 end test for it.

I hope my answers were helpful :hugs:. I know it can be difficult to get going in a new industry, but once you found your first steady gig where you can continue to grow everything will become much easier.

1 Like

Thanks for sharing such a detailed article. It really is helpful for many people
who are lacking motivation. People require such stories to get themselves
motivated and grow. Congratulations to you from my side.

1 Like