From Medical Doctor to Data Engineer in 3 Years


Learning to code so that you can land a job in tech can feel daunting. That’s why we’re sharing inspiring stories from Codecademy’s community — to show how people like you (yes, you!) can embark on a learning journey and end up with a totally new career. We hope these stories serve as a reminder that there’s no single path to a more fulfilling work life.

Today’s story is from Santiago Caraballo, a 33-year-old Data Engineer living in a city outside Buenos Aires, Argentina. Read more stories from Codecademy learners here — and be sure to share your story here.

Why I chose to learn to code

“Before my first job in tech, I was working as a Medical Doctor. In my second year of med school, I had a professor who was working as a researcher, and he used tools like Rstudio on Python. He showed us the tip of the iceberg of what Python can do. I found Codecademy for first time, because I was looking all over the internet for resources to learn Python 2 for free. It was kind of a hobby, and it was always there. But I didn’t imagine myself working as a Software Engineer until Covid.

Here in Latin America, being a doctor is really tough; you don’t have the support from the government or the healthcare companies. I have three kids, and with the Covid pandemic, we were working like 90 hours per week. It was insane.

Learn something new for free

I saw a quote that said, ‘You have to fight to spend more time with your family than with your boss,’ which felt like a knife to my heart. I thought, I have to switch careers and move on and do something else. I was looking for a job that I really like, and I can do from home.”

How I made time to learn

“I wake up at almost five in the morning, do two to three hours, then go to the hospital. I work in the hospital. Sometimes I have free time in the shift of the ambulance. I’d read short articles or whatever I can finish in a few minutes. After work, I would try to continue to study, and my wife was a huge support for that.”

How long it took me to land a job

“In February 2021, I got a job at a telecommunication company. All of my friends told me that the biggest achievement is getting your first job — after that, it’s always easier. Being outside the IT world, I didn’t believe that. I was on LinkedIn looking for all the junior job vacancies. If the job description said I had to learn Swift to code the iOS application, I started to learn Swift. I did the same with JavaScript, HTML, CSS, and whatever I needed to get my first job.”

How I got in the door

“One of my friends is a Software Engineering Manager at Amazon and had some connections here in in Argentina. He told me that there was a job search for a Data Engineer at this telecommunication company, and he pointed me out to one of the heads of the data analytics teams. I added him on LinkedIn, and we started talking. It was difficult because the job description was like, this unicorn person who must know everything about everything. And I thought, I can’t do this job.

When the head of the company interviewed me, he told me that this was for a semi-senior role. I was in my first job as a new Data Engineer, and I lacked [work experience]. At that time, I had knowledge about Git and GitHub, but on the theoretical side of things — not in practice. I was super afraid of that because there was a three-month trial period for this semi-senior role, and I have all my family on my back. I was like, Should I do it or not?

How I nailed the interview

“It’s all about attitude, like showing yourself with your weakness and saying, ‘I don’t know, but I can learn.’ You have to show that you could learn almost anything if you needed and that you are motivated. I sold myself in that interview so much. I thought, This guy has to hire me, there’s no other option.”

How I evaluated the offer

“At this moment, I’m pretty comfortable with my company. The salaries are not even near what you can make in the US, but the career path they have is really good. I have impostor syndrome like everyone, and I have a lot of knowledge gaps that I need to solve. So now I’m pursuing that knowledge, not the high-paying job. Perhaps in five years, I will look for something that meets the adrenaline that I need for my personality and provides new challenges.”

How day one and beyond went

“I had the study mentality from med school, so I would wake up two hours early for work and read all the things I had in my notebook. I’d write down a lot of terms that I didn’t understand to look up later. Everyone was talking about the ‘data lake’ that it was ‘on-prem’ and ‘cloud’ — I was like, what does that mean?

The first month was difficult, because you have to pick up the language, learn how they write code, and read documentation. One of the best things that I learned was to read the documentation and code. Sometimes we really hate documenting our code, but it’s super useful to know how to do it and try to use the rubber duck to talk about what your code is doing.”

Come across a tech term you’ve never heard of?

You can look up definitions to common coding terms and concepts in our open-contribution resource Docs. BTW, “on-prem” is short for “on-premises,” and it refers to a centralized place where businesses store large data repositories.

What I wish I knew before I started learning

“Technology is a super huge world where you can do almost everything. I wish I had researched more about which fields I really liked and enjoyed. I wish I knew about data engineering sooner, because it’s a mixture between software engineering and data. If I would have known that this was the role that I wanted, I would’ve put all my effort mind in that direction. I wouldn’t be like jumping and hopping between languages at the very beginning.”

Not sure where to start? Check out our personality quiz! We’ll help you find the best programming language to learn based on your strengths and interests.

Want to share your Codecademy learner story? Drop us a line here. And don’t forget to join the discussions in our community.

Leave a Reply

Your email address will not be published. Required fields are marked *