Inspired by Professor Matt Might, I decided that in 2017 I am going to try to round out some of my technical abilities. Part of this is driven by the fact I am starting a new job in February that will focus more on software and less on hardware. As such, I am going to try to focus on learning a new type of technology concept each month. What are my strengths? C++, bare-metal development, software-hardware interface, FPGAs, embedded, etc. What are my weaknesses? Databases! Virtualization! Web!
Update! It was a dumb idea to try to plan all of this…graduate school has been brutal and consuming my life…VLSI physical layout is a very time consuming and drawn out process!
I have made no progress with NoSQL, I could not keep up with the online MongoDB course while trying to keep up with the course load on my other grad school courses. As such, I’ve mostly just been learning RDBMS and SQL slowly during lunch breaks at work and some occasional late hours at night when I get the itch. I’ve also been messing around with iSCSI, which I have to admit I find more interesting that databases!
Anyway, I’m going to revisit all of this in May when I graduate and am done with my academics. I still think the below list is very valid, and I should be able to at least mark off the RDBMS and SQL aspects by May.
January: NoSQL (via MongoDB) February: NoSQL clients (via Python, Pymongo, and MongoDB) March: RDBMS and SQL (via IBM DB2) April: ODBC for RDBMS (via IBM DB2, C++, Python) May: PKI and Authentication (via MongoDB and OpenSSL) June: Virtualization 1 (Linux KVM) July: Virtualization 2 (Linux+Xen) August: RESTful web services back-end (C++ and Casablanca library, Python) September: RESTful web services clients (Node.js or Django) October: Web-based GUIs (Angular+Node.js or Django) November: GPU programming basics (Nvidia CUDA) December: GPU programming (more) (Nvidia CUDA) I thought about adding DevOps tools into the mix, but I think I am sure I am going to pick up a lot on the job in that area, as well as it would probably help to get a better grasp of deploying virtualization beforehand. Let’s see how it goes! So far I have MongoDB installed and I am working through the intro course with python at MongoDB University.