I have read several stories of how professionals became Data Scientists. For many people, it was pretty straightforward. They enrolled in a data science, engineering or computer degree. These individuals were already proficient in one or more several languages, and it was comfortable for them to dive into the world of data. Others like me are self-taught.
My experience was not straightforward. It was the most challenging learning experience I had ever had to overcome.
So why was this the case for me?
Nowadays, you need more than education to impress employers
While I was completing my Master of Public Health degree at the University of Queensland, Australia, I realised I needed to improve my technical skills to become more competitive in the job market. I knew grades were not enough.
I chatted with a close friend and mentor, who I have known since childhood, and he suggested that I try to learn a programming language.
He knew my strengths and he was a programmer with one of the big five tech companies.
Like many professionals starting with coding, I asked myself, “Why”?
- What benefits would it add to me?
- How would this add value to my public health background?
- What problems would I need to solve?
- What would I achieve by writing texts that I do not understand?
I was already learning fundamental statistical analysis using some software tools as part of my coursework, but I did not necessarily fancy them beyond the classroom.
The Initial Encounter
Taking action is critical to achieving success. No action, no results.
Anyway, I decided to give it a shot and spoke to one supervisor at Uni. My first experience writing my first line of code was not particularly helpful.
He sat with me one quiet afternoon, and we installed a programming language on my computer. He wrote:
print (“hello world”)
He pointed at the console, asking me to observe the output. I did. I saw a faint looking output:
I muttered: “Yes, I can see it”.
I asked myself: so what?
It did not help but get me confused.
Because seeing “hello world” on my screen didn’t make any sense to me. Why say hello to the world?
But I would not give up, noting the benefits a mentor had spoken of. He had even joked that I would be like “Lionel Messi” if I could master a programming language. He said all companies (like football clubs) would want me as I would be able to solve a wide range of problems.
It is okay to get confused at the initial stages. Keep going.
I decided to enrol for the “Introduction to R” course. I was in a class of about ten students, so I thought there was some interest in this subject and I should understand the concept.
I was wrong. I got more confused.
The instructor started by stating some uses of R.
- Instructor: You can use your R program like a calculator.
Me: (in my thoughts): but I already have a calculator on my phone and PC. So why install this software because of a calculator?
- Instructor: “You can use R to create folders.”
Me: (in my thoughts): Oh well. I can do that by right-clicking on almost anywhere on my windows PC and choosing “New Folder”.
- Instructor: You can import your dataset from Excel into R
Me: (in my thoughts): Oh, well. Why would I need to do that? The spreadsheet is already good in Excel. Isn’t that what it is built for?
He also discussed some built-in functions and additional packages from libraries.
To make it worse. He added that we could print statements in the console. He used the print (“ hello world”) statement. Not again. I got even more confused.
The rest of the class looked like magic. Most of my codes didn’t work, as I often messed up the syntax.
He would perform some basic analysis and plot some graphs in R. I asked him why I would need to go through this drama of writing foreign scripts to plot simple charts. I gave a list of other “easy” software I could use to perform the same tasks like MS Excel.
I kept asking questions. I even suggested another version of R with a Graphical User Interface (R Commander) that could accomplish the same tasks.
The class ended after two hours. I learnt nothing other than that there is new software that can be used to do things in harder and more complicated ways.
I returned to the class a second time
About a week later, I was back for the same training session with the same trainer. I did not understand any of the concepts the first time, so I thought I should attend another session to aid my understanding.
He repeated the same things from the first class to the second class. It didn’t help my confusion. This time, I asked fewer questions because I tried to understand them.
After two hours, the classes ended, and I left. I understood nothing — same confusion.
I attended the same introductory class about 3 or 4 times more. I got nothing. In fact, the tutor became familiar with my full name. I am sure he had seen it pop up in his registration list repeatedly. I am sure he wondered what I was doing and why I kept coming back for an introductory course. I had attended a few other training classes he led, so he knew I was not dumb.
I kept asking myself why. I hadn’t found a helpful answer to why I would need to write these complex codes to complete these simple tasks.
The Final Encounter
As a Master of Public Health student, I had to work on a dissertation. As part of this research, I had to work with primary or secondary data, which was quite large, dirty and complex. It took me days to manipulate and summarise this data into the shape I wanted using Excel.
Halfway into this project, I realised I used an old dataset. There was a newer version. I felt terrible but had had no choice other than to begin afresh.
It took me a couple of days to get through, but I finished in time to submit my dissertation. I did not have advanced Excel skills, so it might take other Excel gurus less time to complete the task.
So, one day, I expressed an interest to have a one-on-one problem-solving session with my R tutor. Students and staff had the opportunity to meet with trainers to solve a particular data problem using R.
I had said to myself: let’s see how this guy would solve this problem with this software.
One morning, I headed to the school library and there he was waiting at the library. I handed him the excel files I used for my projects and showed him the expected output.
We sat down, and he coded my one week’s worth of hard work in half-hour!
I said, hang on! What if the data changed the following month (since I initially used the wrong data and had to re-do the project). He said: of yeah, that’s easy. You just run the script over the new dataset. I pointed him to a new dataset, and BOOM!!!, we had the new results in less than one minute.
Oh, sugar! Where were you when I was preparing my thesis (my thoughts)?
He saved the scripts as a file, emailed it to me, and said I could run it anytime I had a new dataset.
I still remember this day. It felt like the day the earth shook. I happily returned home with the scripts and did not go to bed that night until I repeated all the steps to ensure they made sense.
I hope my personal learning experience has given you a few ideas on how to learn anything you want if you develop a genuine interest and are persistent through the process.
Sometimes, it takes a lot of persistence to understand the benefits of a new lesson or subject to you. It might also be helpful if you try to envision the end from the beginning and use the new lesson or learnings to solve a familiar problem.
The final encounter changed my life. I would not imagine being where I am today if I didn’t take this extra step to challenge him to solve a familiar problem. It helped me land multiple jobs and doubled my income as well.
Whatever it is, you are learning. Remember, don’t give up — success is just around the corner.
Good luck with your learning journey. Let’s connect on LinkedIn.