Following up from the previous article – here’s what I’ve done recently. I wanted to enhance my Golang skills, so I picked a few projects that would push me in multiple directions:

I took KD-tree assignment from Stanford (http://web.stanford.edu/class/cs106l/handouts/assignment-3-kdtree.pdf) and translated the C++ code base into Golang. I also completed Lab 1 of MIT’s Distributed Systems class on MapReduce here: http://css.csail.mit.edu/6.824/2014/labs/lab-1.html

These were side projects I picked up to enhance my work skills. I wanted to understand KD-tree at the base level because I had engineers working on geolocation searches. I looked into MIT’s distributed systems class because that was formerly my responsibility as an individual contributor. I had to bring up and scale systems. I never took the time to formally learn MapReduce at a base level, even though most of the work I did was similar. Learning from academia is great whenever I can tie the theory back to practice. This also helps me keep the academic jargon intact, and it never hurts to be able to read papers on advanced topics.

With those two example projects, I learned more about Go’s syntax and workings. Over time I’d be able to use this new language in production.