This isn't exactly a technology or programming oriented post and is more of a long diary entry than a blog post, to be quite honest. If you're not into sort of long and probably kind of boring stuff about me as a human being I'd skip this one.

In 2014 I published a "Year in Review" post about all of the things that I'd learned that year and about the things that I hoped to learn in 2015. I really felt good about it and believed that setting those goals would help me define what I would do throughout the year. I'm a very goal oriented person and enjoy having something to work towards, so it made a ton of sense.

2015 ended up not being my best year ever, though. I did learn some things and I was definitely a better developer and, hopefully, person in December than I was in January. I actually didn't even realize that 2015 wasn't that great until I sat down to write a post about the year. I realized that I hadn't actually done very much -- I'd just sort of made my way through the year as best I could. Sure, I'd learned a bunch of nebulous stuff but not much really stood out as being entirely new and different. I got rather upset with myself and ended up not writing a 2015 review because I felt that it'd pretty much be a rehash of my aspirations from 2014.

So... in 2016 I made a real effort to learn about things that I felt are my weakpoints. Unlike my post from 2014 and my attempted post for 2015 I'm not going ot restrict this years to mostly technical things.

Things I've Learned

I definitely learned a ton this year. Obviously I learned more than I can add to a little list, or even remember for that matter, but I think the things that matter the most to me are:

  1. How to work out. I've been fat for most of my life and had never done a real, like "go to the gym" workout session prior to 2016. A coworker, Isaac, invited me to the gym and helped show me the basics. I realized that I actually really enjoy lifting weights and seeing the progress that comes from doing so. I'm still a little flabby and weak, but there's a noticeable difference in my physique (I went from around ~245 to ~205) and I've found a new hobby.
  2. A ton about Amazon Web Services and devops in general. I attended re:Invent in 2015 and learned a lot then, but honestly didn't apply a lot of what I learned. In 2016, however, I was forced to apply new things. It started with needing to do more devops activities for freelance and personal projects and then hit a climax this month. The lead engineer, who manages the vast majority of our infrastructure on AWS, is out on the twelve weeks of paternity leave provided by SchoolStatus and I've needed to pick up and deal with several relatively minor (in retrospect) problems we've encountered. Trial by fire isn't exactly fun, but I 100% feel like I learn more this way. I'd venture to say I've learned more about devops this year than in the rest of my life combined, which is a pretty great feeling. As a result of all of this I've even been making Alexa applications, although I've only submitted one for review, and moving my wife's blog to being hosted via S3. I plan to publish posts about both of those soon.
  3. How cool spatial data can be. I've always been a bit of a nerd for maps but it never really extended past thinking they looked cool. I had the opportunity to work with PostGIS this year though, and learned that it's just ridiculously fun to mess around with. I've got several ideas for fun things to do in the future and can't wait to work on them.
  4. Allll sorts of Jeep stuff. I've always wanted a Jeep Wrangler and I was finally able to purchase one in Janurary of 2016. It's been the most fun vehicle I've ever owned and I really don't see myself ever not owning a Jeep again. That being said, it's actually been kind of a pain. The transmission linkage broke horribly, and I just mostly just zip-tied it for the "fix". The electrical system had a nightmare's worth of gremlins that involved me replacing just about every bulb in the thing along with some of the wiring. When I tried to change the oil for the first time the filter managed to get stuck and turn into a shrivelled piece of trash that took the better part of an hour to remove. Oh, and the battery died twice under mysterious and unexplained circumstances. But I love the Jeep and that's that.
  5. A foray into React Native. One of my coworkers, Nader Dabit, is a vocal member of the React Native community and his influence led me to giving it a shot. I've always enjoyed making little applications, and React seems to be a great combination of powerful and easy. My first app got a lot of love on Twitter, so that certainly didn't hurt my enthusiasm.
  6. I got a banjo and can play a couple of songs very poorly. Luckily a banjo is cool enough that even poorly played songs sound awesome.
  7. #justdevthings. I truly love writing code and spend the majority of most of my days doing so. Just about every day I learn a little something new, so it'd be impossible to even begin to include it all here. I have definitely learned a ton though and it's definitely worth including even if it's a little bit of an abstract concept.

Things I Could Have Done Better

Time to get deep and introspective.

  1. Diet correctly. Numero uno on the list of things I've learned this year is how to work out. Unfortunatley you really can't tell nearly as much as you should, and I haven't made nearly the strength progress I should have, because of my poor diet. I often do really well for three or four days at a time and then completely ruin it with a trip to Buffalo Wild Wings. It's a pain, but I really failed myself here by not having better self control.
  2. Digging into devops more. The "trial by fire" mentioned earlier was mostly caused by myself. For the majority of the year I was content with the knowledge that I had because it was plenty for 80% of the time and I could rely on help from senior team members for the other 20%. While I know that there's pretty much always someone to ask for help, it really should have been a priority for me to learn more about things I don't know much about all along.
  3. Attenting more Jackson Area Web and App Developer meetups. I've been to a couple and really enjoyed them, but I've got a bad habit of just not attending. I know it's good to get out and meet new people and hear about things that others are doing though, so I really should have forced myself to get up and go. I know I'd enjoy it once I arrived. Plus free tacos, pizza, and beer is always a major plus in my book.
  4. Too much eating out, not enough experiences. My wife and I have a bad habit of getting bored and going out to eat. Jackson has a ton of great food available and we enjoy spending our time together eating tasty stuff. The problem is that we end up spending our time and money eating out and don't have as much later to spend doing other, cooler things that we want to do.
  5. General contentedness. I know it's good to be happy with what you have and all, but I feel like I let myself get into a rut for large portions of the year where I wasn't actively seeking to improve myself. Luckily when I wasn't in that rut I was doing things at a pretty good speed and it didn't ruin the year at all, but the saying "slow and steady wins the race" has been around forever for a reason.

Stuff for 2017

  1. Hustle. I'm (probably?) not going to sell mixtapes at the gas station, but I want to make it my number one priority to spend more time and effort on making myself better via working harder at everything else on this list.
  2. Attend more JAWAD meetups.
  3. Spend at least one day each week leaning more to the "ops" part of devops than the "dev" side. I don't exactly know how this will look in practice, but if nothing else asking to be included in the fix whenever something with our infrastructure fails will be a big step towards this goal. Luckily my team at work is full of incredibly smart people and I've got no doubt that just making an effort to be more involved will make this one easy.
  4. Either get visible abs or get really strong. The two don't necessairly go together, but I'd like to at least hit one or the other by the end of the year.
  5. Get more familiar with hardware. I'd really like to learn more about working with Arduino and Raspberry Pi and I've got a couple specific projects in mind that I really think would be a lot of fun.
  6. Attend a tech conference other than re:Invent. I've been lucky enough to have my attendance to re:Invent paid for by SchoolStatus for two years now. I don't know if the same will be true in 2017, but even if it is I'd love to attend another conference. Something like Keep Ruby Weird or ElixirConf would be great.
  7. Go "really" offroading in the Jeep. I've been down logging roads and through the woods in it, but nothing very serious. The local Jeep club Central Mississippi Jeep Association does several events every year and I plan to attend at least one. This one is a little scary because there is a chance of breaking something expensive on my Jeep... but yolo right?
  8. Brew more beer. I only had time for one batch in 2016, and that one wasn't exactly amazing. I want to make something a little bit lighter that will appeal to folks who aren't as into craft beer as I am. Something a little closer to Coors Light than a craft IPA.

There are other things I want to do too -- read more, do more camping, learn to make an Animal-style burger, and playing the banjo more artfully all come to mind. I'm sure there will be a billion other things that come up through the course of the year, too. I'll probably look back at the end of 2017 and think this was all silly and short-sighted.

But... we can't know until we get there. So here's to a great 2017!