Scott's WeblogThe weblog of an IT pro focusing on cloud computing, Kubernetes, Linux, containers, and networking

Looking Back: 2018 Project Report Card

Over the last five years or so, I’ve shared with my readers an annual list of projects along with—at the year’s end—a “project report card” on how I fared against the projects I’d set for myself. (For example, here’s my project report card for 2017.) Following that same pattern, then, here is my project report card for 2018.

Here’s the list of projects I established for myself in 2018 (you can also read the associated blog post for more context):

Become extremely fluent in Kubernetes: This is, in my opinion, a hard one to accurately gauge. Why? Well, Kubernetes is a pretty massive project. I saw a tweet recently saying the project was now at a point where no one person can understand all of it. The other factor making it difficult for me to accurately gauge this is the caliber of folks with whom I’m working. I mean, the people on my team are amazing and extremely talented. So, while I made tremendous gains in my Kubernetes knowledge over the course of 2018, can I consider myself fluent, much less extremely fluent? I think I did reasonably well, but I don’t think I can consider myself extremely fluent. Grade: C

Learn to code/develop in Go: In the post announcing my Polyglot project (aimed to help bolster my development/programming skills), I admitted that this was a tall task to take on and that I’d most likely need to, in my own words, “learn to walk (or even crawl!) before I can run.” Although I have improved in my ability to read Golang code and (sometimes) understand what it is doing, my ability to write useful Golang code is still severely lacking. Grade: D

Make three contributions to open source projects: I’m very pleased to report that my contributions to open source projects have increased significantly during 2018. This past year, I’ve made contributions—in the form of actual commits as well as in the form of opening issues—to Kubernetes, Sonobuoy, Wardroom, and Ark. Looking only at committed changes, I submitted more than 5 pull requests to Wardroom and Ark, meaning that I achieved my “stretch goal” of making at least five contributions to open source projects. Grade: A

Read and review three technical books: I got close on this one, but only completed 2 technical books (see here and here for the reviews). I’m still working on Sam Newman’s Building Microservices book, but have just been too busy to finish it out and write a review. Had I gotten a more timely start on my 2018 projects, I might have been able to finish out all three. Grade: B

Complete a “wildcard” project: In looking back over 2018, I don’t really see anything that would qualify as a “wildcard project.” That’s not to say I didn’t make progress in areas other than those listed above; I grew tremendously in my knowledge and application of cloud-native projects other than just Kubernetes; I migrated to Linux full-time in April when I joined Heptio (and recently converted my Mac Pro workstation to Fedora, taking another big step forward); I expanded my knowledge and use of Linux containers for various use cases; I learned about RAML and API specifications; and deepened my skills with various infrastructure-as-code tools. These are all valuable things, but none of them rise (in my opinion) to the level of a “wilcard project.” Polyglot would qualify for one, had I spent more time working on it and gotten more done. However, I did say that I wouldn’t penalize myself for not completing one. Grade: N/A

In summary: not too bad, but there’s still room to improve!

I do have a couple takeaways—lessons learned, if you will—from the pursuit of these projects over the course of 2018:

Setting concrete, specific, measurable goals for projects is still an area in which I can improve. I performed better in those areas where I had specific goals associated with each project.

Bolstering development skills is harder and more time-consuming than I anticipated. This is an area where I do want to continue to invest, but it’s also an area where following the lessons learning in the previous bullet (e.g., setting specific and measurable goals) are really difficult. What is an effective goal with something like this–lines of code written?

Over the next week or two I’ll be evaluating potential projects—and associated goals that are specific and measurable—for 2019. Look for my list of 2019 projects in mid-January 2019.