How I learned to code and got a job as a data scientist in 9 months

Photo by Emile Perron on Unsplash

When I was first learning how to code, I often relied on stories like this as sources of inspiration to keep me going. It gave me a sense of hope to hear that other people were also trying to learn how to code and actually switching career paths. It made me believe that it was possible for me too. Sometimes, I even imagined what I would say when I finally reach that goal. Now, I don’t have to imagine anymore, I get to share that story with you guys today.

A little background on me. I did not graduate with a Computer Science degree. I graduated with a degree in Clothing Technology. At the time, it didn’t really bother me. I actually enjoyed studying it, and I really planned to work in the industry. My first job out of college was working for an international garments manufacturer. It was a great experience and I have no regrets, but I also realized that I had learned everything I wanted to learn in that industry, and I wanted to do something different moving forward.

Learning to code wasn’t a spur of the moment decision. It was something I had always wanted to do, but I was never really put in that position where I HAD to do it. I would dabble with it from time to time, but it never really stuck because I would give up on it too quickly. I revisited the idea again when I was deciding what to do next, and it was the thing I was drawn to the most.

Immersing Myself in Programming

This was December 2018, right around Christmas, and I had like a week’s worth of holiday break time. Besides the holiday festivities, I did nothing but go through the course and try to finish it within that time. It wasn’t actually hard, It had around 40+ hours worth of content and I had a lot of free time. The course was really engaging, and honestly, I didn’t feel like doing anything else as well. If you asked me what was different this time around as opposed to learning to code before, I felt a new kind of hunger while I was going through it now, maybe it was because I had to make it work and it was driving me to really open myself up to the idea and the possibilities of changing my future from it.

I really wanted to finish the course during the break time (and I did), because I just wanted to immerse myself in it with no interruption, even if it is just a small amount of time, kind of like being in school. When I did finish it, I felt more engaged to learn about web development. The course felt like a good start, and honestly, sometimes, you just need that kickstart and the rest falls into place naturally.

Balancing Learning with Work

The biggest advice I can give to those who are also learning how to code while working is to really find time to do it everyday even if it is just an hour. When I realized I couldn’t just code all day like on break, I knew I had to manage my time well. I knew that practice makes perfect, so I couldn’t just wait for the weekend to program, I had to do it everyday. 1 hour everyday is better than 7 hours once a week. I made a spreadsheet of my Monday to Sunday similar to those weekly planners, and I blocked off all my “nonnegotiable” times — basically, the times I spent for eating, sleeping, work and maybe exercise. Once I did that, I saw where my free times where, 1–2 hours before bedtime, and I made that decision to block off learning to program during that time everyday.

It might mean saying goodbye to some of old habits. For me, I had to say goodbye to watching a movie everyday. This felt like the more important choice, and it wasn’t really that hard to do. For some, it will be a harder choice to make. It might mean trading some sleep time for programming time. That is why you have to really have to decide if this is something you can commit to.

Falling Down and Getting Back Up

The journey to learning to code is not a linear one. There are going to be ups and downs. I experienced my first major down about 3–4 months in. At this point, I was already programming everyday. I would go straight home after work, eat dinner, and just program. I even stopped hanging out with friends that much. I believed that I had to maximize all of my free time for programming. I pushed myself hard and it lead to a burnout. Suddenly, my brain just didn’t want to program anymore. I couldn’t bring myself to open my laptop. This habit I built of leaving my phone in another place was destroyed. I quickly reverted to watching movies after work again. I consider this is as one of my lowest points in my journey and I really thought I would never be able to bring myself to program again. Little did I know that this was normal. There was no cure but time itself. I gave myself this month to just do whatever I wanted to do, and you know what happened? After a month, I returned to programming again. I didn’t trick myself or anything. I just simply rested.

Setbacks are normal in this journey, and if you are in one right now, trust that it won’t last. If you’ve built a great foundation/relationship with programming, that interest won’t simply go away just because you don’t feel like doing it that day. When I experienced the burnout, I didn’t tell myself that I don’t want to program anymore. I told myself to rest. Sometimes, we just need to give ourselves that time to rest. When I started to slowly program again, I told myself to give myself some slack from time to time, and if I didn’t feel like programming that day I won’t. This wasn’t the last time it happened to me, but I always find my way back to program.

Best Free Websites to Learn Programming

These are not the only ones I used to learn programming although I find that they are the ones I keep coming back to whenever I need a quick refresher on something. Paid doesn’t always mean that it’s the best. There’s nothing wrong with spending money for education, I am always supportive of people of investing in their personal development, but it is not the only choice, especially in learning programming. If you’re just starting out and don’t know where to start, I recommended the free resources above or going to YouTube and searching for a video on HTML/CSS or anything you are curious about. There are so many free options out there to get you started, you just have to do a bit research.

After going through these tutorials, I would also set aside time to go through a project on my own using what I’ve learned. You don’t know how many times I made a Todo list — a Todo list using just JavaScript, a Todo list using Python, a Todo list using a web app framework, and a Todo list using REST Framework. I believe the best way to learn is really by programming a lot, even if it is just a simple project.

Knowing When to Apply

I heard back from them, and they set up an interview and Excel exam with me. When the day came for it, I told them what I had done in my previous job and highlighted everything I did that was related to what they were doing, that means all of the Excel work I had previously done. I also told them that I was learning programming on my spare time and I was interested in pursuing a future career with it. I don’t know if that is what made me stood out from the rest. I manage to finish the Excel exam, confident of my answers. A few days later, I got an email telling me I got the job. It was an offer for a 1-year contract with them. I was reluctant at first and deciding if I should try other companies at first, but I told myself to this could be a good start for me, and plus it was a big increase from my previous salary.

I know what you are probably thinking “Where’s the programming part?”. When I joined the company, most of them were just using Excel. I wasn’t really expected to use Python at all, but I opted to use it whenever I was given a task. I still laugh thinking about it, because at that time I was still relatively new to Python and was fumbling my way through Python, Pandas, and Excel. One day, my boss saw this and asked me about it. I told him that I preferred to work with Python, and he actually encouraged me to use it. After around 3–4 months, I was converted to a full-time position instead of the 1-year contract, and I became very comfortable in programming with Python. Now, not a day goes by at work when I don’t open my Visual Studio Code.

A common struggle among self-taught programmers is knowing when to apply. The truth is there is no right answer to that question. You will never feel like you know enough because the technology we have is constantly evolving. If you read a listicle of top 10 things every programmer should know, a year wouldn’t be enough to learn all those things. My advice is to “screw it” and to apply anyway. If you know basic HTML, CSS, and JavaScript, try your luck at different job postings while continuing to learn on the side. If you are currently employed, why don’t you look at job postings on the inside, it is easier to switch career paths from within a company, or maybe you could even use Python in your current profession now, why wait for a new job to use it, in that way, you could start building your portfolio already. It took me 9 months to start applying for new jobs. When I got the job, it felt like luck had a lot more to do with it, and I am okay with that because “the harder you work, the luckier you get”. And getting that job, even if luck did play a major part of it, did not invalidate all time and effort I spent to learn how to program, it just emphasized it further.

I hope that by sharing my experiences with you guys I am able to inspire you if this is something you are interested at. If it is just to confirm whether it is possible or not to actually learn to code on your own and to switch career paths, I just want to tell you that it is, and it doesn’t cost much, it only asks you to put some time and effort into it.

Happy coding!

Learning to code, growing up, and figuring out life.