3 skills you need as a data science student, Part 2
In part 2 of a 3-part blog series, we tackle skill #2: Problem Solving
In part 1, I outlined the importance of knowing yourself as a learner. In Part 2 of our series on the three skills you need as a data science student, we move on to …
Skill #2 – Problem-solving
Problem solving is listed in almost every data science job description. Defining writing codes as the problem-solving skill for a data scientist is far from reaching the ultimate goal. Having clear judgements and defining problems in the first place also matters, as well as being comfortable with the fact that things are not always going to work out and we need to adapt and find a solution under whatever situation we are into. Luckily, as a MDS-CL student, you have enough opportunities to practice two levels of problem-solving skills.
For the first level, you practice the coding skills by completing four well-defined and innovative lab assignments each week (adding up to 96 for all the courses in 10-months). For the second level, treat doing labs as a problem-solving process. If you are learning something new, it is natural to be stuck with questions.
If you give up on your first try and you go to the teaching assistant for answers, you are very likely to get hints and continue your journey. Yet by doing that, you are making your lab assignments more difficult and lose precious chance to practice your problem-solving skills.
The thinking process matters much more than the answer to the questions you are stuck with because oftentimes it signals there are some blind spots you have missed or have not yet fully understood. Getting the answer for that question doesn’t necessarily mean you fill your knowledge gap or solve the pain point. By clearly knowing why you are stuck; you have already answered 70% of your question. Therefore, before you raise your hand and ask for help, read the question again, understand what the question is asking for.
- I have a table to record my ideas, reactions, solutions, and reflections when I meet a problem. For a failed interview, I wrote down what happened, what I did right, what I did below expectations, what were the next steps, what I would do next time to improve/avoid the situation. Every two weeks during the MDS program (after every exam), I wrote down what I did well, what I did below expectations, what were the changes I need to make, how well I was on the track for my goal.
- Another step I always take is to reflect on the design of lab assignments. After I finish or am halfway through each lab, I will think about the relationship between readings/classes and labs; is there a better way to solve the question? What other questions are suitable for this solution? Why design the lab in this way? How are the questions structured? What are the purposes of each question? How does the lab relate to the core theme in that week/previous weeks/next few weeks/that course/other courses?
In the final part of our three-part series, I am going to focus on honing your time-management skills.
a bit about me:
I am a student from UBC’s Master of Data Science (Computational Linguistics, 2019-2020). I came directly after completing my bachelor degree in business with around one year’s internship experiences in non-tech areas outside of Canada. I achieved a 91.6 GPA and had meaningful experiences during the MDS program.
Gracie Pu is a graduate of the UBC MDS Computational Linguistics program, Class of 2020