You are reading

Technically Speaking: From Sociology Graduate to Data Science Programmer

Technically Speaking: From Sociology Graduate to Data Science Programmer

  • Culture
  • People
Header image and photo by picsbyjx. Screenshots and GIFs courtesy of Weilie Tan.

Note: In light of many of us receiving our SkillsFuture credits on 1 Oct 2020, the following account is part four of RICE’s Extreme Upskilling series, where we speak with an individual who has gone above and beyond the norm in what we now refer to as ‘skills upgrading’. You can read parts one, two and three if you have not. This account has been lightly edited for clarity.

My name is Weilie and I am 31. Friends generally know me as a tinkerer, someone with multiple hobbies, a person with a deep passion for arts and music.

Growing up, my parents have always allowed me to delve into any hobby or pursuit, which explains my eclectic interests, but usually on one condition: that I put in effort and care about the pursuit.


Having graduated as a sociology major in 2014, I took up my first job doing funding for R&D initiatives and tech companies. Three years in, I switched to UX and service design—a role that required both empathy (to understand people) and programming skills—like data science and app development—to address their pain points.

My switch from an analyst role to a more technical one surprised many, especially friends and former classmates.

“Statistics? Machine learning? Automation? Whatever happened to sociology? All those years spent learning social relationships, interaction, culture of everyday life?”

It took some explaining that both sets of skills work hand-in-hand to create magic for users and customers. After all, we can only create good technology when we understand human needs and their social contexts.

One major trigger for this switch took place in 2017.

My boss recommended me to take up a 10-week part-time data science course. At first, I was hesitant as I didn’t really know much about coding or computer science. While a large part of my Sociology studies in university had quantitative aspects, they were mostly analyses of social behaviours in different settings. For the course, it was more computational in nature, such as using algorithms to classify data or predict outcomes.

“Just go lah. It’s good to learn new things. Even if you don’t apply the techniques directly, the knowledge may be useful when you engage with technology companies as part of your work.”

Empowered by his encouragement, I went ahead.

It’s hard to tell what sparked the interest but the course opened new perspectives for me. It made me ask: how can I tell deeper social narratives through numbers? Can I use datasets to develop new understanding or uncover patterns in our society based on the code I write?

After an initial struggle with the ideas and tools, I began to see how I could marry the two domains. I began absorbing concepts and terms I’ve not heard before: natural language processing, image recognition, predictive analytics, and tools like Python and R.

After the 10-week course, I went on Kaggle, an online platform that crowdsources data science solutions from the public.

Then came the second trigger. Four months after learning and experimenting with coding, a certain “Costa Rican Household Poverty Level Prediction” contest on the site caught my eye.

The challenge required participants to crunch raw data from the Inter-American Development Bank and write algorithms to assess whether households could tap on social assistance schemes. The results would be scored against real-world cases.

It was an opportunity of a lifetime for me because the challenge was a confluence of not just data skills and programming know-how, but also social welfare—a domain I was passionate about.

So I ploughed away for an entire week to build my model. When I found out I was ranked in the top 20th percentile, I was floored. I had expected to rank near the bottom of the scoreboard, so that held significant meaning to me.

I realised this “hobby” had become a calling and life goal. The data science code I submitted for the challenge wasn’t just a game; it had real-world applicability that could affect real people, improve lives and shape society. In other words, I could use what I’ve learned to contribute to society. The sociology side of me became fascinated by this concept and I decided to learn more.

Over the next three years, I began to strategise my training based on the following tracks:

a. I attended AI Saturdays, a free community peer learning programme, with some friends.
b. I took the course, a free online series that aims to make state-of-the-art AI techniques available to the layman.
c. I took up a Specialist Diploma in Data Science & Artificial Intelligence. This full-year diploma allowed me to go deeper, like building chatbots and constructing more AI algorithms.
d. I enrolled in a second full-year Specialist Diploma in Full Stack Web Development, which I have recently completed.

Today, based on what I’ve learned, I’ve done a few projects as a way of giving back to society, or as a work-in-progress to see how far I can stretch what I’ve learned.

a. Investing Squirrel, financial price and news checker

This is a financial information chatbot that pulls share price information and news.

b. Richard, the HDB Valuation Chatbot

“Richard” was the name of a neighbour in a flat I lived in when I was young, so I named my chatbot project after him to reflect this idea of a ‘friendly uncle’.

With this chatbot, users can “speak” to Richard (giving him information like floor space, storey, remaining lease, district, etc.) to find out the value of a particular HDB flat in an area. I’ve even incorporated Singlish to make it sound local.

c. Food recogniser using neural network

This is a machine learning tool I wrote to classify food pictures. It’s a form of AI where the model learns visual components of different images to “guess” which category it belongs to. It was one of the key turning points in my learning journey in data science beyond text-based projects.

d. SchemesSG, assistance directory mobile app

This is a prototype mobile app I made to compile and show various public assistance schemes offered by the government, institutions and NGOs.

There are many assistance schemes out there, so I built this as a way to visualise what it would look like to consolidate all of these schemes in a single app. I am still trying different solutions to populate this app with a database of schemes.

In hindsight, I think it’s possible for anyone to learn new skills outside of their comfort zones. All we need is some grit, guts to fail, and still have fun.

Here are some lessons I’ve learned:

1. Select the Right Learning Model Based on Preference and Constraints

As a working adult, I didn’t have the fortune of having a lot of free time on the side. So when I was in my previous job, I had to figure out a way to learn these new (and alien) skill sets whenever I could.

What I did was to spread out my learning across 3 structured part-time classes, 4 online courses, 1 community gathering and squeeze in sporadic periods of self-learning and experimentation. Learning became a way of life. During these 3 years, I had to remind myself that I was in a marathon, not a sprint.

Structured classes helped flatten the learning curve, because I had an instructor on hand to ramp up my technical education. I was able to ask questions, watch live demos and get hands-on experience. The classes helped me solve a problem in 3 minutes compared to spending 1 hour Googling and debugging like a headless chicken.

Self-learning, on the other hand, was useful to broaden my know-how in other domains (like using Python, a type of programming language for finance) or to explore new tools not covered in these classes.

2. Make the Best Use of Resources and Find the Right Trade-Off Between Time and Cost

Cost is often a major deterrent for anyone who wants to sign-up for actual classes. The other deterrent is usually time.Being a self-proclaimed cheapo, I maxed out on my SkillsFuture credits and tapped on other forms of learning funds (eg. company training grants).

Over the past three years, I’ve spent about S$1060.14 out-of-pocket on all of my structured and online classes. This equates to 752 hours of learning, or S$1.41 per hour. For me, that’s great value-for-money to learn something new.

Also, I found our local polytechnics to be somewhat under-utilised when it comes to part-time structured training. I spent about S$400-S$500 for each of my two specialist diplomas. I could have gone on YouTube or read Medium blogs for similar information, but the courses solidified my learning with tutorial classes, assignments, assessments, quizzes and exams.

I also had course-mates who pushed me onward when the going got tough. We brainstormed and came up with solutions together. It was a refreshing experience working with fellow learners from different backgrounds and walks of life.

3. Make Your Learning Outcomes Relevant to Your Life or Work

I think the biggest reward I had from learning these new technical skills was to be able to create real working products (the apps, chatbots, AI models, etc.) and seeing them bring benefit, utility and joy to people.

For example, “Richard” the chatbot came about because I had two friends who were house-hunting. They wanted a way to see valuations of flats in a specific area quickly.

Another app, SchemesSG, was born when I negotiated with my instructor to change the theme of an assignment from a travel app to one that lists social assistance schemes.

And the food recognition script was inspired by a friend who used the same AI to count beer cans in his fridge!

So, when the outcomes matter to the end-user, things really began to fall into place.

As someone who used to give piano lessons to kids, I think the most natural response when we intuit something missing in our growth is to try to “fill the gap”.

(Above, Weilie plays the classical piece, Poulenc’s Novelette No. 1, on the piano.)

I’ve seen a few of my peers, especially from social science backgrounds, lament their chosen paths because they feel the need to “play catch-up” to their scientific or technical peers.

They often say: “Society doesn’t value my past choices. I don’t have this cutting-edge skill. I’m getting disrupted. I have to learn to catch-up or else I’ll lose …”

However, I think we shouldn’t see “upskilling” as an endless race to “patch up” what we don’t have. Otherwise, we’ll risk losing motivation and joy. If we are driven by such a “scarcity mindset”, the learning activities we feel forced on will eventually become a drag and the significance of what we learn will be lost.

In the end, when new disruptions happen, we have to repeat the cycle and learn even newer skills.

Instead, I believe for learning to work, we should see acquiring skills as a journey. It should be a journey of personal growth and discovery. This will help us experience it in a more enjoyable, rewarding and natural way.

By marrying what I understand about social issues with programming, I found myself growing more holistic each day as a thinker and individual. My sociology background led me to cherish my data science experience deeply, and vice versa.

At some point in life, your employer, interviewer or friends will no longer measure you by subject majors or GPAs. This will all be forgotten really quickly. At the core, they will ask: did you meaningfully connect your past experiences to where you want to go next? Have you continually tried to be sharper, wiser and more importantly, kinder?

When that day comes, you will want to say “yes to all the above, because I learnt not out of fear, but out of passion and zest for what makes me human”.

Do you have an extreme upskilling story to share? Tell us at

If you haven’t already, follow RICE on Instagram, Spotify, Facebook, and Telegram.


Terry Ng Senior staff writer