Jedi/Rockstar/Ninja in Development

How I'm learning to be a master coder

hide

Read Next

Python coding puzzles

I've been doing interviews in Java for whatever reason, but since I'm focusing on Python for data, I might as well be doing my code puzzles in Python.

While practicing, I prefer having working solutions available. That's what I did a few days ago with OCaml here: ocaml.org/learn/tutorials/99problems.html. Having the solutions makes it easier to give up, but it's better to give up and see a solution than to just skip to the next problem.

Also nice is that the OCaml problems come with test cases. OCaml and Python both have an assert method to make testing your code super clean and easy.

Tonight I redid three questions from my Facebook interviews. Sorry, not sharing those.

Rapidly learn programming, math, and more

Yesterday I outlined a strategy of rapid learning: the core is doing many problems with feedback. When you need supplemental information, you can do either a quick lookup or refer to lectures or a book. I can't tell you how the strategy worked for me just yet! My interview was rescheduled.

How can you apply this strategy to your own learning? The problem is, well, you need problems. Preferably lots of them, well sequenced, with feedback. Books are the best bet, but there is an emerging class of web apps providing problems and feedback. I've bolded the ones that let you do everything in the browser, including verification of your answers.

Programming

Code.org has good coverage of interactive beginner tools. To quickly learn a new language, Code School and Codecademy cover a variety and here are some options for Ruby (or here), Python, Java, Lisp, Prolog, OCaml, Clojure, ClojureScript. Not web-based but here's a list of repositories for koans in many languages, and a mixed variety of resources. For practice with algorithms and other such challenges, use Project Euler (more math-oriented) or HackerRank (topics from algorithms to AI and data). Kaggle is specifically for machine learning and ranges from simple data sets to paid competitions, where even professionals can hone skills. For more introductory data tools, there's DataCamp.

Math

Rendering New Theme...