Julia came cross the article after she studied hackerrank university codesprint #2 leaderboard.
Argument No. 1 in the articleCompetitive programming promises even more glory. Win enough contests, and you get an interview at Facebook or Google, where they ask you… you guessed it… more algorithm coding questions!
Argument No. 2 in the article
Fact 1 to share
Julia won 4 bronze medals in last 12 months, and also played a few other contests as well, here are the details:
4 bronze medals:
university codesprint 2 (1247/ 6587) Feb. 2017
Week of Code 27 (1643/ 7476) Dec. 2016
world codesprint 7 (863/ 5649) Sept. 2016
world codesprint 6 (1168/ 5270) Aug. 2016
NCR CodeSprint (479/ 2617) Nov. 2016
OpenBracket CodeSprint (482/ 2448) Oct. 2016
Stryker CodeSprint (174/ 1929) Sept. 2016
Fact 2 to share
Julia worked on the queue and caused a big issue like timeout, she wrote a blog talking about sinking sand - a test case is rock to build on algorithm. She learned the lesson of BFS using queue, over 4 hours work ended up scoring 0.
Argument by Google director of research - Peter NorvigIs this a valid argument? Winning at programming competitions is a negative factor for being good on the job.
Argument 3 in the articleGiven the amount of time it takes to master competitive programming, one naturally wonders: is this really a good use of time? In a contest, you are ultimately solving problems that other people have solved already, so nothing new is being produced. Although solving a contest problem is satisfying, I find it a lot more rewarding to build projects or apps with my novel ideas.
whole weekend one medium algorithmTo play a contest on Hackerrank, Julia calculates some math. She has to dedicate herself whole weekend in order to get a medium algorithm done. She has to entertain herself first, play some music, lookup her ideas by Google, write some simple idea to play against hackerrank test case, until she warms up with the algorithm. Sometimes, it takes 5 - 6 hours until she failed so many times and then she understands the problem - what is the real challenge in the problem statement.
code review catching up moreAll those hours and labor build up her character, she never experience this kind of research before. Over 10 hours, she makes something happen, solve a medium algorithm. Sometimes a medium algorithm can take her a few days after the contest. Since Nov. 2016, a few times, she has to continue to catch up more research after the contest, and then work on codereivew.stackexchange.com, get some help and find something more interesting to continue.
Julia learns to work on one algorithm a time, and also has to learn to let it go one a time. She knows that she will forget the algorithm completely, it does not matter how hard she intensively trains herself in the contest/ after the contest, and she needs to relearn it one day. Only thing left is something surprising, her new character still trying to mold, the strong determination to solve the problem. The will, or the intuition to try new ideas, relentlessly. That is something different she could not find in the training of Leetcode algorithms. Julia was surprised that she continuously improves over last few months.
Hackerrank contest algortihms
Things Julia should have done are to evaluate those easy, medium algorithms in past 10 contests on Hackerrank; Do those algorithms shape her very well as a sports programmer, what are atlernatives? Julia does not like the inactive learning, by memorizing, she likes more about competition, with time limitation.