A Little Harder Than Riding a Bike!
Tags: datascience, productivity
Published: 2020-07-16 00:12:34

# Forgetting to Exercise All Skills

Recently I completed a Data Science Bootcamp and have been searching for a job. During this time the hardest thing is making sure I keep up on all my skills. For the first little while after completion of the bootcamp I mostly focused on practicing behavior interview questions and how I could sell myself, but then I had a practice technical interview come up and that turned my view of where I was on its head. The first thing the interviewer asked me was to talk about about some of my projects so he could get an idea of what I had done and see how I could talk about "technical" concepts. Luckily I was waiting for this, or so I thought, the questions I was asked were deeper than I expected, such as "how many rows and columns did you use in your machine learning model?" or "how many layers did you use in your neural net?". Then finally the most embarrassing part is that when asked to solve a simple task in Python and my mind went totally blank, the only thing I could think about was that there is like 10 different ways to solve this and I can't even think of one.

#New Regiment

Now that I have realized what I am lacking I changed my daily schedule to practicing Data Scientist interview questions, coding challenges, reviewing the details of some of the projects I would like to highlight in my portfolio and working on new projects.

#Interview Questions

To be prepared for a Data Science interview it is important to make sure you are well prepared to answer any questions that have to do with statistics, modeling, coding and problem solving as well as your normal behavioral questions. To make sure I am well prepared for any of these questions I will regularly type "Data Science Interview Questions" into Google but to save you some time here are some links to my favorite [interview study blog](https://www.springboard.com/blog/data-science-interview-questions/#behavioral) as well as a great [Youtube video](https://www.youtube.com/watch?v=k6QWYwOvJs0) that has some awesome explanations. For the behavioral questions I usually just look at Amazon's interview questions so they have so many resources and company values encompass many others.

#Coding Challenges

To keep up on my scripting skills and not let them dwindle I have signed up for a couple of websites including HackerRank and LeetCode, though my favorite that I would recommend everyone to check out is [codewars](https://www.codewars.com).
Codewars brings a fun aspect to coding by making your tasks feel like a game, you can build a clan with your friends and compete for points or just challenge yourself and gain ranks. Though my favorite part about about codewars is the number of different languages they support, for myself I am just using Python and SQL but they offer challenges for 29 different languages. For example here is a quick and fun challenge that I recently completed:

> Jaden Smith, the son of Will Smith, is the star of films such as The Karate Kid (2010) and After Earth (2013). Jaden is also known for some of his philosophy that he delivers via Twitter. When writing on Twitter, he is known for almost always capitalizing every word. For simplicity, you'll have to capitalize each word, check out how contractions are expected to be in the example below. 

> Your task is to convert strings to how they would be written by Jaden Smith. The strings are actual quotes from Jaden Smith, but they are not capitalized in the same way he originally typed them. 
```
Not Jaden-Cased:"How can mirrors be real if our eyes aren't real"
Jaden-Cased:"How Can Mirrors Be Real If Our Eyes Aren't Real"
```

My solution to this was to separate the string into a list of words and then iterate over the list capitalizing the first letter of each word. Then I could just just join the list back together into a string and boom!

```
def to_jaden_case(string):
    jaden=[]
    words = string.split()
    for w in words:
        jaden.append(w.capitalize())
    return ' '.join(jaden)
```

#Review your Portfolio

As I mentioned earlier, I was caught off guard when asked some of the deeper details of my own projects. When reviewing your projects I would recommend reminding yourself of how much data you used, what were some of the hardships with that dataset, why you chose the model that you used and what kind of hyper-parameters you used to optimize your model.

#Start New Projects

Then lastly make sure you are continuing to expand your knowledge by taking on new projects. This can be personal on which direction you want to go, focussing on a certain skill set used at a company you are interested in or expanding your knowledge with a wide variety of projects. I believe both are very important but the biggest thing with new projects is making it understandable to someone looking in from the outside. To do this make sure you have some sort of readme that gives a business understanding and what you are/have accomplished in this project.