Coding Challenges
May 3rd, 2020
Yesterday and this morning I engaged in my first online coding challenges. And both challenging and fun they were!
As part of the Metis Program application process, I took an application readiness assessment, which involved a coding challenge hosted on HackerRank. It was my first online technical assessment of this kind, and my first time coding outside of PyCharm. While the actual problem to be solved did not strike me as terribly challenging, there are several reasons why I did not succeed on the assessment. Ultimately, I ran out of time — but primarily the time I did have was eaten up not so much by figuring out how to solve the problem, but in struggling with the unfamiliarity of the HackerRank environment. Finally I realized that they had pre-defined a __main__
method which used several test cases as input, and automatically loaded them into my functions and printed the results. As such, I did not have the ability to flow the input through different methods as I had expected (their method dictated what would happen to the input), nor view my output to debug how my program was working. By the time I figured all this out, and made changes to the __main__
method to complement my code, my time had expired.
Although I was disappointed to not have performed better on the pre-test, I didn’t see this as a setback, but a learning opportunity I was really grateful for. Undoubtedly in my job searches as a data scientist there will be countless technical challenges on a number of different platforms, each one with different parameters I’ll have to familiarize myself with. And I was thankful to have dealt with this only on the pre-test!
So, to best prepare myself for the actual technical assessment that would be coming up in the application, I decided to explore the HackerRank platform and learn how to interact with their coding environment, by trying out the Python certification test. And, actually — I passed! Not only did I get to reach a comfortable understanding of how their default __main__
method and test case entry worked, but I got to solve a challenging couple of problems, and did so successfully enough to be certified in Python! I didn’t expect to pass necessarily as I’ve only been practicing a couple of weeks, but just wanted to practice in the environment. So it was absolutely affirming and empowering to know that my practice had paid off and gained me a real, applicable and demonstrable skill. My approach this time was to actually create a program to answer the prompt in Pycharm first, in order to be able to monitor the output, see how it was actually functioning, and make incremental changes and improvements until it worked as intended against my own input. Then I copied that into the HackerRank code area and changed it so it would accept their input. And it was effective!
At this point, I feel prepared and excited for the actual application’s challenges.