What Tech Did I Learn in 2018?

- 3 mins

2018 in review - what technologies did I learn/improve on?

Inspired by this HackerNews post, I’ve decided to reflect on the technologies I’ve learned or improved on this year.

2018 has been a great year for learning: I finished my degrees at WashU and St. Mary’s College and started my full-time career as a Site Reliability Engineer at Atlassian. My job enables (and requires) me to keep learning at all times as the infrastructure engineering landscape can be a scary place full of monsters for a new grad. Here’s a bit of what I’ve studied from Jan - Dec.

Linux:

I ended my time at WashU with a deeper dive into Linux internals after finishing up our three-class systems software and operating systems track. As an SRE these skills are invaluable: much of our alerting revolves around monitoring processes, load on hosts, I/O errors, etc. There’s not a day at work where I don’t interact with Linux systems in some way.

Security

One of my goals for 2019 is to pass the Offensive Security Certified Professional (OSCP) exam. From the Offensive Security site:

Earning this designation indicates that you can conduct a penetration test from start to finish within a target-rich, diverse, and vulnerable network environment, a skill set that is highly valued and in increasing demand within the industry.

I’ve studied networking and security, and have started getting into CTFs and exploiting vulnerable machines (in a lab environment). I’m currently at at:

Programming

I’m trying to pick up Golang as a systems language; I get to use Python at work but when I’m looking for something performant I’d like to be able to reach for Go right away rather than writing up C/C++/Java. I’ve also spent a significant amount of time creating bots that interact with websites exactly as a user would using Python’s Selenium library. This library allows you to write Python (or JavaScript) that controls a browser. It’s excellent for scripting workflows, web scraping, and even as a tool to monitor your service’s functionality.

Infrastructure

In building scalable, resilient systems, I’ve had the ability to learn about cloud infrastructure, caching in order to improve application performance, utilizing async tasks and messaging systems in order to defer work and queue up jobs. I took the Database Mangement Systems Course at WashU taught by Doug Shook and learned the inner workings of databases then at work I’ve had the opportunity to work with and study a large Postgres instance and pgbouncer for connection balancing

Monitoring

I look at a ton of dashboards while at work. This is an interesting one - at school I was never really exposed to monitoring applications and this definitely took me by surprise. Crafting excellent (yet concise enough) monitoring dashboards and alerts (and choosing the right metrics!) is an art I’m consistently amazed at. The Google SRE Book does a great job at explaining how you can pick metrics that are meaningful and expose potential problems.

Feel free to leave a comment if you’d like some resources on any of these areas or want to share what you’ve studied

Tony De La nuez

Tony De La nuez

Site Reliability Engineer @ Atlassian. Interested in software development, infrastructure, games.

comments powered by Disqus
rss facebook twitter github youtube mail spotify instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora