A Developer’s New Years’ Resolutions

Instead of New Year’s resolutions, I’m doing New Years’ resolutions. I’ll extend myself a few years to complete my resolutions because we’re already a few months into 2016.

Personal resolutions are important, but for this post, I’m primarily looking at technical subjects that I’m interested in learning, as well as the why + how.

Here we go.

  • Learn Haskell. Why? Because I’ve had a taste for Scala. Functional programming constructs such as lambda expressions, map + reduce, immutable libraries, and type checking libraries are popping up from within Python to ES6 to Java 8 to Apache Spark. Haskell would be a deep dive right into pure functional programming without side effects. Maybe I’ll even figure out what a monad is.
  • Dive into crypto. With cryptocurrency, blockchain settlement, free SSL/TLS, end-to-end phone encryption, and Edward Snowden all in the news, I’d like to make sure I have a basic understanding of the fundamentals of cryptography. How? Maybe a good start would be implementing The Matasano Crypto Challenges in a language I’d like to get to know better.
such wow
  • Learn Golang. Because reasons
  • …Or Rust?
  • Use pure JavaScript. I won’t call myself a JS expert, but I’m no stranger to JavaScript fatigue nor WTFJS. There’s a lot under this umbrella that I want to make sure I have a solid foundation in, starting with pure ES6 with no frameworks.
  • Study Elm architecture. Elm does a lot of things right, and with 2015’s darling, React, on my plate, in addition to countless Flux libraries, I want a break with something refreshingly-not-JS.
  • Implement a machine learning algorithm from scratch. Data science is the hottest buzzword, and I’ve dabbled in projects at work, but can I implement logistic regression or a Naive Bayes classifier from scratch, let alone explain either? Nope.
  • Contribute to open source. I’ve seen beautiful projects that I’ve used and would love to contribute to, like Apache Spark and Let’s Encrypt, but I haven’t made the move to get involved and (literally) commit to a community. I need to simply choose and get my feet wet.

These seem ambitious, but identifying my goals (and potential challenges) in meeting my resolutions will hopefully help propel me forward — in addition to public accountability.

Thanks for reading, hit recommend ❤️, and let me know if we could help each other out with our resolutions!