Looking ahead to 2020
I have a few things in mind for the upcoming year, and I figured I’d share them to hold myself publicly accountable. At the top of my list is this:
- Learn a new programming language and become as comfortable with it as I am with Python.
While I would say I have intermediate knowledge of a few programming languages, my language of choice and the language I have the most experience with is by far Python. It’s definitely important to have a go-to1 programming language, but at the same time, I think it’s important to expose yourself to a variety of different programming paradigms. In the late summer/early fall, I began learning some Go. I took the Tour of Go and found that I really liked the language. I started using it in my Progamming Challenges course, but quickly realized that to keep up with a full boatload of classes throughout the semester and find time to practice and conduct interviews for internships, I couldn’t dedicate the time I wished I could to learning a new language and using it in a class. My stint with Go as a “daily driver” langauge was short lived, but I still attempted a side project or two with it. With these projects being incomplete, it would be a good idea for me to finish them in 2020 or start new projects that use Go.
Then there’s Rust: the hipster’s progamming language of choice. Rust seems all the rage these days in the systems programming community, but it is also somewhat controverstial. I can’t visit HN or lobste.rs without seeing posts about how Rust is both the “New C/C++” and also a fad toy language that will fade into obscurity in the next 12 months. Rust really does interest me, though. As with Go, Rust seems to place emphasis on the concurrency advantages it brings. Also similarly to Go, I like that Rust has been designed to catch errors at compilation time and expects and enforces a certain programming style. I haven’t quite bought into any hype 2, but I also haven’t counted Rust out as just another attempt to replace the irreplaceable C.
It will be hard to choose between learning more Go or starting to learn Rust. Maybe I’ll just have to try both and hope I don’t fall into The Eternal Novice Trap.
- Familiarize myself more with tools and services such as Docker, Kubernetes, or any new AWS service.
This is something I really should have done earlier. While I’m comfortable with a handful of AWS services3, I’m only comfortable with Docker and Kubernetes from a very high level, without knowing many details about either. A goal of mine will be to incorporate one of these into a project, or build a project focused on using Docker/Kubernetes. Maybe after becoming comfortable with Go, I can contribute to Kubernetes on GitHub.
- Disentangle myself from the Google Botnet.
I’m honestly not confident in how this one plays out, but I figure I might as well try to start using alternatives to Google. For starters, I plan to switch from using Chromium to Firefox for my web browser. This shouldn’t be so bad - bookmarks and other relevant things are easily ported over. However, what I’m most worried about would be dealing with accounts. My personal email is a Gmail. I know I won’t be able to get around this one, but my school email is also a Gmail. I do most of my work with spreadsheets or writing papers using Google Sheets and Google Docs, respectively. Will I be able to get myself off of Google Drive entirely? And then there’s Google Photos, where I have all of my phone’s pictures backed up. Luckily for me, there are alternatives out there, and I am not the only one who has ever considered getting Google (mostly) out of their life. I think a good place to start for me will be to transition to using Firefox, Proton Mail/Calendar, and Duck Duck Go. This is pretty ambitious, and I can imagine as the next year begins I find myself right where I started solely for the convenience factor that Google provides - but I’ll do my best.
I think these three goals are somewhat reasonable, and I will attempt each of them. I’m sure throughout the new year I will come accross new things to add to this list, but for this post, that’s all I got.
I’m excited to see what 2020 has in store for me!
I’m super excited for the coming year. I’ll have a whole semester in Silicon Valley, where I will be taking classes and working for Deliv. Following that, I’ll be in Austin, TX working for Amazon! Looking forward to learning new technologies and having new, meaningful experiences!
1If only my #1 language was C, then I could have used this as a solid pun.
2 Rust one line fizzbuzz
3I host this site on AWS :)