2017 in Review

Foreword

TL;DR - this is a really long post! I've decided to not cut any sections out due to the length as it's all important to be here, and helps describe what 2017 was to me. However, I wouldn't say it is necessarily all worth reading for you, as I've got multiple audiences in mind:

  • for myself, so I could think more critically over the last year and where there are places to improve
  • for myself, just to get some of this stuff recorded somewhere for posterity
  • for my friends and family to read a little more about my ruptured appendix, and the journey to recovery
  • for my friends, colleagues or those who are interested in joining Capital One about what I've been getting up to
  • for my future self, to be able to look back at the previous year(s), and (hopefully) see how far I've come
  • just to see some interesting breakdown of statistics, such as the analytics on my personal site, or the usage of GitLab/GitHub issue tracking

Although I'd appreciate you reading it all, feel free to dip into the sections that most interest you.

2017 has on the whole been an amazing year, with a huge amount of personal and professional growth. And although I've written just over 14.5k words on the subject, this review is in no way exhaustive!

Before you read on, you may notice that this post isn't being written in December, but instead in February. If you're interested in the reason for the tardiness, you may be interested in reading into the Ruptured Appendix section.

Personal Website

I've come leaps and bounds on my personal site this year. Although originally it was more of a portfolio of projects I've worked on, it started growing into more of a space for blogs, and then it really evolved into a platform to start really building up my personal brand.

I've tweaked my site a lot over this last year, finding lots of low-brainpower tasks I can work on after a day of work. These have consisted of minor automation tweaks, playing around with Docker or simply reorganising the method in which I tackle issues/features on the project. The time I've had to spend on the project has also given me the ability to play around with a lot of GitLab-specific functionality, giving me a much stronger feel as to the usefulness of GitLab, as well as how it can benefit certain projects. This functionality also has helped me in my day job, where I've been able to see how different systems can approach the same problem in different ways as well as help me decide for myself which I prefer.

Here's an image of the site at the start of the year:

2017's site, still using the original site's theme

And the site at the end of the year:

(almost) 2018's site, with a whole new minimal look and feel

I'd originally started to rebuild the site in late January with the Space Jekyll theme in mind. However as I'd almost reached readiness to launch the new theme, I found that actually the Daktilo theme spoke to me more due to its strong minimalism, and almost Markdown-ness.

As mentioned in the Events section, as I'm now looking to speak at more events, I've added in a section of the site dedicated to abstracts and slides for my talks.

I've found that I am a bit slower to update the projects section on the site, so feel I may either have to prioritise writeups after a project has been released/worked on, or see if there is some way to automagically pull that description in. It's also been an area of the site that has been neglected, and I should look at improving over the coming year.

I also integrated GitLab Review Apps so that I could see each branch built and deployed, which has meant that I've been able to share and review changes instead of needing to run them locally. Obviously, as this is my own site and I generally work on it alone, that's not a huge thing, but for when I'm working on articles I've found it a great help as I can share the WIP article and get feedback. I've also written about it to make others aware of how easy it is to work with Capistrano, which is the deploy tool I use for my site.

Using the code below (Git Usage - GitLab), I've had, over the last year:

  • 168 total issues
    • 83 issues opened
    • 85 issues closed
  • 83 total Merge Requests
    • 2 MRs open
    • 77 MRs merged
    • 4 MRs closed
  • 694 commits pushed (git shortlog -sne --since="01 Jan 2017" --before="01 Jan 2018" via Stack Overflow)
  • 22 articles written (git ls-files _posts/2017* | wc -l), totalling 18395 words (wc -w _posts/2017*)
  • 275 deployments tracked using GitLab Environments since Sun Feb 26.

Knowledge-Sharing

Articles#

2017 was when I really came into my own with writing, which was encouraged with a few articles I started writing to document some of the main talks I attended at FOSDEM, both as a way to share back to my colleagues, and for me to be able to add my own thoughts on top. But as I started writing further posts, I found I wanted to write more, although I really find writing to be a difficult process I'm not used to, which is why I'm trying to improve it.

These posts varied from Blogumentation style findings, to how-tos on setting up Chef or GitLab specific configurations I'd found useful.

Analytics Breakdown#

For some cold hard evidence of my site's engagement, I've also got some statistics that I can share from my tracking. Note that numbers will generally be higher, but due to adblock and other features, Matomo (previously Piwik) will not be able to glean all data. Also note that due to a backup malfunction, there is some data loss between July and late September.

Overview statistics - 2130 visits, 3276 pageviews, 2605 unique pageviews

The high bounce rate of 80% indicates that it's likely my content either isn't engaging enough, or (hopefully) has been all the reader needs to solve their issue, which is likely given the number of Blogumentation posts I've done that would roughly fit within the 1 min 14s of average visit duration.

There have been some visitors with some very high actions-per-visit with a maximum of 55, such as where I've seen them following links in an article, then returning to the site, as well as navigating the site to find more articles of interest to them.

Of the total 2130 visits, the following posts were my most popular:

  • Continuous Delivery with Capistrano and GitLab Continuous Integration: 782
  • Building Chef Cookbooks with GitLab (Part 1): 336
  • Converting YAML to JSON and vice versa (Part 1 - Ruby): 108

In terms of my projects pages, the full list of projects received 155 visits. However, the maximum number of visits I received to an actual project's page was a mere 23, showing that actually, I hadn't been able to convince anyone to click through and find out some more information about the posts, so this is another place in which I need to help engage my visitors more.

Finally, the home page itself received 477 visits.

Additionally, digging into some of the other interesting points:

Chrome (including mobile) dominates the Browser visits with ~65% market share

Chrome has been heavily dominating the market, with a very strong lead in terms of visits, followed by Firefox and then Safari. I wonder how the release of the new and awesome Firefox 57 (Quantum) is going to affect these stats over the next year.

Returning visits are all over the place, but starting to become more common from September

For returning visitors, they seem to be spending a little more time on the site (1 min 56s compared to 1 min 14s), which is a positive sign showing greater interest on return (perhaps). Roughly a quarter of my traffic is returning visitors, which isn't too bad considering that (as I'll highlight below), most of my traffic seems to be organic search traffic as I only share my articles very rarely. I find it interesting that from September-ish, there have been more returning visitors to the site, whether that's returning to the same page(s), or to different page(s), I'm unsure.

Google accounts for ~94% of search traffic with 1221 visits

Just over half of my overall traffic comes from search engines, and through other views, Matomo seems to show that there are certain articles of mine that are placed in the top ten results of search pages, which is pretty great to see as I've not really invested much into SEO aside from the Jekyll SEO Tag plugin.

Unfortunately Matomo locks keyword detection behind a paywall, so I don't get any information on how to make my keywords better optimised.

Referrer breakdown to "Search Engines", "Direct Entry" and "Websites"

Search engine traffic accounts for ~60% of my traffic, at 1299 visits, followed by "Direct Entry" traffic with 591 visits, and other websites linking to mine at 240 visits.

I believe that the "Direct Entry" referrers are privacy-guarding search engines, browsers and extensions blocking referrer information, rather than it being down to someone having i.e. a bookmark or typing out a URL. What's also interesting is that although "Direct Entry" visitors are less than half the number of visitors than search engines, they spend double the time on the site (1m55s vs 58s), and perform almost double the actions (2.4 vs 1.3).

Top website referrers

Twitter is my main place to share links to my content, as my main self-promotion platform so it would explain why the views are higher there. I've also shared on a couple of other platforms, and sometimes share on the TechNottingham Slack's #blog channel but as mentioned before, my approach has not been to over-share my content, and instead let it be discovered (more out of laziness than choice).

Year view of visits over time, showing slow growth to May, followed by higher visits from September onwards

Finally we can see that really I'm not getting too much traffic per day, not quite reaching 40 visits per day. It's interesting that around September-ish the number of visitors was higher, and more constant. Whether that was due to me having a lot of my Blogumentation style blogs that hit search results more effectively, or just that I was starting to get ranked a little better, I can't say.

For comparison, my data from 2016 is only in the interval 2016-05-12 to 2016-12-31, but shows I had a measly 249 visits in total, which would barely be a couple of months of 2017's traffic.

Looking at the graph of the year's visits, this also draws out a few interesting spikes through the year:

Events#

I've spoken at a number of events this year - publicly at PHPMinds and Hackference but have also spoken internally at Capital One 3 times.

As part of the 'Document talks and workshops I can do' milestone on my blog's repo, I've documented the talks that I have done in the past, and can do, as a way to make it much more readily available for either preparing for a Call For Papers, or for potential meetup organisers to see what I'd be able to talk about.

Internally at Capital One, I've had the chance to speak a number of times during our Brown Bag sessions, primarily about Chef, due to how integral it is to the application we're developing, and how it can be making it much, much easier for other teams to be developing and deploying their applications.

I was also asked to speak at a Tech Nottingham student outreach event where I gave a talk (incredibly proudly titled) Came for the Campus, Stayed for the Community about how the Nottingham tech community was a huge consideration when I was deciding about jobs before graduating in 2016.

I was set to present the talk Kickstarting your Automated Build and Continuous Delivery platform with GitLab CI at Tech Nottingham in November, but due to a horrible case of flu I had to unfortunately postpone it until 2018.

Monzo

In July I joined Monzo! It's been quite a treat so far, and I've found it both incredibly interesting and scary to see just how much I spend, and on what.

This has been especially true while I was on the PrePaid Beta as the only way for me to have money on the card was to manually top up. This made it a very conscious action, and I found that when you've topped up £50, and then a few days later you're needing another top up, you have to consider the rate you're spending money a little more carefully.

It's also great for being abroad such as when Anna and I went to Prague, where it was incredibly convenient to have Monzo's great exchange rate for ATM withdrawals and for those stores and restaurants that took card. Although Monzo have recently adjusted their abroad policies, they're still a really great choice.

The increased visibility, as well as Monzo's categorisation features such as Shopping, Travel, etc has also helped to make me much more aware of my spending habits.

I now wish I could track everything more easily, i.e. my spending on lunches at our canteen, so I can more easily determine my outgoings daily.

Holidays

Dorset#

Anna used to work as a Vintage Photobooth attendant and in July was offered a photobooth at the River Cottage farmhouse down in Dorset, which would involve an overnight stay due to the distance. We decided that it'd be a good excuse to have a three day mini-break, as the weather was looking very promising and Anna would be getting paid for the work on the Saturday evening. I'd also get the opportunity to see what her time at a photobooth was like, and see some gorgeous views of and from the River Cottage.

Anna drove the van of equipment up on the Friday afternoon, and we stayed nearby in "the potting shed", having a quiet evening watching TV on my laptop with a takeaway. We spent Saturday and Sunday mornings in Lyme Regis, (nicknamed the "Pearl of Dorset") in the glorious sun, discovering some of the best ice cream we've ever had that we found hidden in a side-alley on the main highstreet. And given we were at the seaside, we'd be missing a trick if we hadn't had any fish and chips. But what we didn't realise was how good the area is for crab sandwiches, which we we enjoyed while people- and dog-watching (but really mostly dog-watching).

Alaskan Cruise#

Note: Unfortunately not all of my pictures have uploaded correctly to Flickr, so I'll update this post to link back to it once resolved.

For our family vacation in September, we decided to go a little out of our comfort zone - although we're usually fans of warm weather and beaches, we would instead try for a cold holiday in Alaska.

Everyone who had been had told us how cold and wet Alaska is meant to be, and although we were chilled to the bone at times being on deck, we managed to have gorgeous sun all week, and no rain whatsoever - we couldn't have asked for better weather!

We flew out to San Francisco, where we had a night to fight off jetlag and start to settle in to holiday mode. The following morning we met up with a long time friend of my dad's for breakfast at the International House of Pancakes, one of my all time favourite places to visit when in the US. Not only was the stack of strawberry cheesecake pancakes amazing, but the egg and hash brown combination and surprisingly nice unlimited ice mochas really hit the spot.

Later that day we departed and had the rest of that day and the following full day at sea, being able to enjoy unlimited food, kicking back and watching TV and films, and generally just relaxing. It was also a great chance for my sister Catherine and I to spend some time together, as we hadn't been able to see each other very often in the last few months, given work pressures and our social calendars. It was also nice to spend some time as the four of us, as we also hadn't been together that often over the previous months.

Relaxation and socialisation aside, there was a little excitement when we received word from our Captain on the first afternoon that, although we had been at sea overnight and for the best part of a morning, we would be turning towards shore. Looking at the map on the TVs we could see that we had already been taking that course for some time. It turns out that one of the crew had been injured and needed to be airlifted to the nearest eye hospital at Victoria, Canada. We were all asked to return to our rooms while the crew prepared for the arrival, and as we started making our way down, we could see the crew doing everything from tying down sun loungers to emptying all the pools. We had to wait some time for the helicopter to arrive, but once it did, there was great excitement as it dropped off a medic, circled back to pick up the medic, and then circled back for a third time to winch up the crewperson. We were allowed to leave our rooms once the helicopter had departed and later that day we were told that the crewperson was recovering and their eye had been saved.

We arrived early into Ketchikan, Alaska's first city and the "salmon capital of the world", unfortunately arriving out of season and missing the chance to see any. However, we did get to spend time in the city, enjoying the weather, and our first taste of Alaska. Although it was a more urban experience compared to the other Alaskan destinations, it still had plenty of wildlife, and we had fun watching a seal gracefully darting around, trying to find fish in one of the rivers.

The next day, we arrived into Juneau, the rain capital of the world. This was the only stop that we'd booked excursions, partly due to almost every review of the excursions being incredibly glowing - we would go for an extended whale watching session, and then visit the Mendenhall glacier. The whale watching started off quite quiet but we soon found a pair of whales, and it was really interesting almost chasing them as they played with us, not wanting to be seen. We left them, a little disheartened, to find some more and travelled past a few small islands with beaches full of seals and sea lions. We soon managed to find a further pair of whales who were much more playful and we managed to spend a good 15-20 minutes watching them before moving off. It was also incredible to look to the horizon and see mountains, but then looking to the peak of the mountain, see another set of mountains, and then another set, seemingly growing ranges forever.

Once we had set foot on land again, we were shuttled to the glacier. Although we had limited time there and the surrounding area, we still had time to soak in the sheer size of it, "12 miles long, a half-mile wide and from 300 to 1,800 feet deep". One thing we all took away from it was how the last 70 or so years have caused it to recede by several miles, visually illustrated with a sign in the observation and museum area mentioned that "100 years ago you would have been standing inside the glacier". That being said, there was again some gorgeous wildlife, and I managed to spot a porcupine eating leaves in a nearby tree, as well as seeing a few more bald eagles, which we had been seeing surprisingly often in Alaska.

On the evening we were leaving Juneau, there was a talk from Libby Riddles about the sled dog racing she started when young. She then took us on the journey to her becoming the first woman to win the Iditarod Trail sled dog race, a harrowing 18 day journey with 16 dogs, across over 1000 miles of harsh Alaskan terrain, and even braving a blizzard. It was an amazing talk, and made the cold we had been feeling over the last few days feel insignificant.

The next day we arrived into Icy Strait Point a little disappointed - there was so much fog, we could barely see the ship once we'd departed. But after a slow walk up to the village's waterfront restaurants, the fog had started to clear and left us with some beautiful views. We decided to walk to a further settlement kept in the style of a traditional village, at which point the fog had completely unveiled more views over the sea.

One of the most exciting, and cold, events of the holiday was visiting the Tracy Arm fjord at an incredibly early and bitter 0500. It was, however, a truly beautiful and humbling experience, being surrounded by incredibly vast mountains, many covered with snow, as well floating chunks of glaicer in the water. When we reached the fjord itself, we weren't able to get too close due to it being a preserved area, but we could see the way that the glacier stretched for a considerable distance.

Our final stop on the cruise was Victoria, Canada and mine and Catherine's first visits to Canada. We spent the whole time we were there walking around, enjoying the great feel of the city, another gorgeous sunny day, and the quantity of free WiFi access points there were!

After another sea day, we returned to San Francisco fairly early for an overnight stop before our flight the next afternoon. We decided that we hadn't done nearly enough walking over the holiday (up until this point I'd personally taken over 144000 steps) we would go for a walk around the city. As the last time we'd visited was 2005, we wanted to spend some more time in the city we really loved, especially as Catherine and I were both able to drink for the first time in the US. The 23000 steps we took that day took us all across the city, enjoying waterfront Ben and Jerry's, to seeing the seals at Pier 39. After checkout at the hotel the next day, we visited the California Academy of Sciences, which we didn't realise had nearly as much amazing stuff in it as it did - there was a huge aquarium from tropical fish to amazing deep ocean organisms, as well as some interesting rare minerals and rocks, an exhibition on earthquakes and we had an immersive experience in the planetarium learning about dark matter with narration by Neil deGrasse Tyson.

Over the holiday, I also got a chance to get a chance to play around with photography a little better, as I had been thinking about getting a DSLR. My dad had recently changed cameras, from a Canon EOS 400D DIGITAL to a Panasonic Lumix DMC-FZ1000, and decided to let me play around with his old one, to decide if I actually would appreciate having one. Fortunately, on our first sea day, there was a "beginner's photography session", which meant that I was able to learn a little more about how to play with aperture and exposure. With this knowledge in play, I was then able to experiment over the holiday with switching between automatic and manual settings, so I could see how the camera would best determine to take a shot, and to see if manually tweaking those settings I would be able to "beat" the camera's photos. Once a little more familiar, I was trying to take more photos on manual where possible, and I have to admit, there are some great photos over the course of the holiday, no doubt due to the picturesque of Alaska, and the abundance of wildlife to photograph.

Prague#

At the end of November, Anna and I managed to get away for a four day weekend in Prague. We chose Prague for two reasons - the first being that neither of us had been before, and it was somewhere we both wanted to go. But I would say the main reason we wanted to go at this time of the year was due to the amazing Christmas markets they have - and we weren't disappointed, enjoying Prague Ham, hot mead, mulled wine and spiced cider, as well as perusing the various Christmas stalls.

We spent a large amount of our time while there simply walking around and exploring the city. As we didn't take a guidebook we were having a great time being able to find shops and cafés ourselves instead of being driven by tourist destinations.

One day we walked up to the Prague Castle, which was a bit more steep than we'd expected! But to help us with our ascent, we stopped for some coffee and Trdelník, which we'd seen around a fair bit but hadn't yet had a chance to try. Once we arrived at the castle, we found some amazing views over the city, as well as the gorgeous St. Vitus Cathedral, and found another lovely Christmas market.

It was also nice just sitting in the main square, watching the world go by while sitting with a nice hot drink. After what had been some very busy months for both of us, it was so nice just being able to relax completely. While doing research into Prague, we found and pre-booked a visit to a beer spa, which I have to say is a must-try for anyone who has the chance. There's nothing better than relaxing in hot beer, while being able to pour (almost the same) beer to drink! It was definitely a unique experience, but was a lot of fun.

There were a few places we found through TripAdvisor, such as Callebaut where we got a fruit and chocolate waffle, with two hot chocolates of varying chocolate intensities, which was a great way to spend our last morning.

Git Usage

I thought it'd be interesting to see how I've used GitLab/GitHub over the last year, both for public and private projects.

As you'll notice, GitLab is my main platform for Git, for many reasons, including those outlined in Why You Should Use GitLab.com. Additionally, over the year, as I've been exposed to the Agile planning process and our use of JIRA at Capital One, I've been using GitLab's project management functionality as a way to explore this process more in the sandbox of my own personal projects.

GitLab#

As a TL;DR, in total, over 19 projects there have been:

  • 326 total issues
    • 193 issues open
    • 133 issues closed
  • 116 total Merge Requests
    • 7 MRs open
    • 104 MRs merged
    • 4 MRs closed
    • 1 MRs locked

My top projects, as gleaned from env GITLAB_TOKEN=.... bundle exec ruby gitlab.rb 2017, in the folder _includes/src/2017-year-in-review:

Project spectat / provisioning / cookbook-spectat has had:

  • 52 total issues
    • 41 issues open
    • 11 issues closed
  • 15 total Merge Requests
    • 1 MR open
    • 13 MRs merged
    • 1 MR locked

Project spectat / provisioning / site-config has had:

  • 27 total issues
    • 21 issues open
    • 6 issues closed

Project Jamie Tanna / api.jvt.me has had:

  • 19 total issues
    • 14 issues open
    • 5 issues closed
  • 1 total Merge Request
    • 1 MR merged

Project spectat / business / admin has had:

  • 19 total issues
    • 14 issues open
    • 5 issues closed
  • 1 total Merge Request
    • 1 MR open

Project Jamie Tanna / talks has had:

  • 7 total issues
    • 4 issues open
    • 3 issues closed
  • 10 total Merge Requests
    • 10 MRs merged

GitHub#

Note: It seems like the automated gleaning of statistics is currently broken. I have manually compiled them to:

As a TL;DR, in total:

  • 24 total issues
    • 16 issues open
    • 8 issues closed
  • 11 total Merge Requests
    • 5 MRs open
      • 6 MRs merged

Work

Capital One#

I've had an awesome year at Capital One this year. Having joined in September 2016 on the Graduate scheme into the Platform Services group to build Java APIs, I had started to settle into the company culture and the team's way of working in the first few months I joined. Then, with the start of the year came a new set of projects and planning - our new Web Servicing platform, allowing customers to self-serve their payments and transaction history, among other features, all built in-house for the AWS Cloud. This was a huge feat we were looking at working on, and it involved a huge number of teams across engineering, technical operations and cybersecurity. We launched the platform into production in November and have so far had great success with it!

As part of the project, I've been working on building the Identity and Access Management Service, which we've been setting up using an off-the-shelf identity solution. As it is an off-the-shelf solution, there is a large amount of the functionality already available, you often just need to run the right set of commands. As we were looking at starting the project, we were deciding how we'd manage it all - I suggested using Chef, which already had pre-existing infrastructure and use in the business (both in the UK and US), even though none of the team (myself included) had any experience with it, and some members only had limited experience with Ruby. Another big reason for Chef was the ability to be able to write unit and integration tests, and use some of the tooling around the ecosystem to help us to build quality into the configuration as well as our code. The team agreed with my suggestion, and over the year I've jumped headfirst into learning Chef, and have been a driving force in the business for educating on how to use it, even for those teams already using it, being know as "the Chef guy" around Software Engineering, which is a huge accolade and great place to be for my internal personal brand.

As mentioned, although I am technically a Java developer, I've spent more time working on Chef than Java this year, simply due to the nature of the project. That being said, there have been some custom additions and functionality we've needed to build into the service which are all in Java, so I have been exposed to writing a fair bit of TDD Java code this year, and had some real-world exposure to design patterns. However, the amount of Java code to write has not been as much as any of the team have hoped, but that looks like over 2018 that'll change as we look toward different projects. Fortunately for me, I enjoy automation, and therefore at times have been happy letting another member of the team scoop up some Java while I work on cookbooks. As per my Software Engineering resolution for 2018, I want to pursue a side project that will help me boost my Java skills and put into practice the concepts I've been learning, even if my day job doesn't always give me that chance.

A team norm that I've really enjoyed is the act of pair programming - through it I've been able to pair with our whole team at times, but I've found it's mostly with our Senior Engineer, Stephen Galbraith with whom I've built up a really great working relationship which combines having fun while still getting stuff done. I've been learning a huge amount about TDD and the "right way" to build software through building quality into it. As I mentioned in my year end review, Steve has broken me as a developer - writing code without any tests now feels wrong, which is great, as I now can build software with a lot more confidence it's actually going to work. Both the act of pairing and the code review process has made me much more critically about code reuse and readability, whereas in previous projects they've either been for myself or for coursework, where they're throwaway. Steve has coached my overeager architecting for code reuse by advising me to follow the "rule of three", where you should i.e. copy-paste code up until the third instance at which point it should be made reusable.

Becoming a core part of the team has also been a great feeling, and has really built up my confidence in the work I do, which has been rewarded with a speedy promotion in January 2018 to Software Development Engineer 2 (SDE2) after the 15 months I've been working here. I've thoroughly enjoyed my first year working at Capital One, and I honestly can't wait to see what I'm writing about in my Year in Review 2018!

Spectat Designs#

Anna and I revamped Spectat Designs, a freelance venture for Web Development, with a new site and approach for customers.

We're currently looking at re-engaging with our existing clients to look at site refreshes, and migrating clients from WordPress to Jekyll + Netlify CMS (if CMS functionality is required), once the GitLab backend merges successfully. As part of this work, we'll be looking to build reusable project templates to minimise boilerplate in future, and get us up and running as quickly as possible.

I've been taking advantage of my Chef knowledge in order to automate the process of provisioning new client setups and making the amount of administration required for onboarding as little as possible. This process is also turning the previous "pet" server sites were hosted on, into more of a "cattle" server, meaning a new instance can be more easily spun up, bootstrapped and ready for client onboarding as soon as we're ready for it. There was a recent issue where the "pet" server had a hypervisor issue, which meant that I lost everything, both most recent configuration and some data. This was a tipping point, as my existing provisioning script was lacking, and only performed some basic functionality of the setup, still requiring a large amount of manual work to get a site up and running, and the most recent configurations were missing some fairly important updates I had recently made. If I had a "cattle" setup, my restoration time could have been in a matter of minutes.

We'll also be looking longer term towards automating tasks such as integrating tooling like UptimeRobot and DNS management into client onboarding, to help us hit the ground running as quickly as possible. These are often boring areas requiring manual steps for us to get configured, when instead we could be delivering value to clients.

Although we've not yet worked on any client acquisition, due to both of us going through an extremely busy time, but as we're looking to developing up our client base over the coming months, please remember the name if you find anyone who may be relevant!

Hackathons

Hack24#

At Hack24, Anna and I paired to play around with Cronofy's APIs as a method of building an application to make it easier to organise group events. The premise was to make it possible to link in each member of the group's calendar into the application, and specify a timeframe you'd be looking to organise for i.e. evening, 2 hours at a weekend, and the application would return back date(s) matching those parameters, as well as warning of any members who, if anyone, would not be available.

However, we didn't really get very far with it unfortunately due to other distractions, but we had fun with playing around with the APIs.

Hackference#

As documented in my recent article Hackference 2017, Anna and I built an application to automate the process of helping other freelancers to only allow website changes to be pushed live once a client has made their payments in full. The project, Be Paid to Get Deployed won two prizes, and more details about the app can be found on its project page.

This was one of the first hacks we've really found we had a killer idea that we'd want to use and (maybe more importantly) we also felt rested enough to be able to pull it off!

Health

Flu#

As we neared the release of the Web Servicing Platform at Capital One, I was spending a lot of time working very late, as mentioned in the Personal Well-being section. Poor eating and sleeping habits, as well as long hours and not looking after myself very well meant that I was much more susceptible to picking up a rather nasty cold that was going around, which took me off work for the best part of a week, and for a further few days I was working from home until I felt well enough to return without infecting anyone else. However, this was not before releasing the Identity and Access Management service into the production account on the Sunday, and being able to see my manager be the first person to test the platform end-to-end in production, as it was the official internal "go-live" day for associates.

As mentioned in the Events section, this meant I had to cancel my workshop at Tech Nottingham, which I was really looking forward to giving.

Ruptured Appendix#

This has moved into a separate blog post for better linkability.

Meetups and Community

Over the year, I've spent a huge number of evenings having both my mind and stomach fed by 8 different meetups, the first 4 of which were new to me in 2017!

Not only have I loved finding new people with similar interests to me, who I'm getting to know through the events, Twitter, and Tech Nottingham's Slack group, but I'm also enjoying building stronger relationships with those I already knew. As Emma and Andrew say at Tech Nottingham "if we've got you talking to one new person tonight, we've succeeded". But this is true for the community as a whole - it's full of both bubbly and quiet and everywhere-in-the-middle people who have so much to share with each other, and it's really awesome to say I'm a part of it. As I highlighted in a talk titled Came for the Campus, Stayed for the Community (which I gave as part of Tech Nottingham's student outreach programme) this amazing, lovely community has been one of the primary reasons that Nottingham has been so great to be in - I can surround myself with so many awesome people, and meet incredibly regularly to learn new tech and better myself in every way.

New Years' Resolutions

Looking back over some of the details from 2017, there have been some stand out changes that I'd like to make as I start looking towards making a mark on 2018.

Slack / Conversation Addiction#

Over this year, I've spent a large amount of time attempting to keep "Inbox Zero" on the two main Slack communities I follow - our internal Capital One Slack, and the Tech Nottingham Slack. It's been great, because I've found myself being able to help unblock others with questions they have - however, it's often at the cost of my own personal focus, and as the comic This Is Why You Shouldn't Interrupt a Programmer details, the effect interruption is very costly to concentration. It makes it even worse when it's actually my own fault seeing a notification coming in and wanting to see what people are talking about, rather than being able to blame someone directly messaging me or coming to my desk to ask me something.

This coming year I need to learn to allow conversations to happen a little more asynchronously. I need to be able to switch off my emails and Slack and just get my head into whatever I'm working on at that moment.

I'm also more aware of conversations going on around me than I should be, which doesn't help in an open office, but I've been contributing to other peoples' conversations without being invited in, and that's more just rude than anything, let alone distracting myself. Towards the end of 2017, I'd been combatting that with ensuring my headphones are on and helping me disconnect from what's going on around me, which has had good success so far.

Personal Well-being#

Over this last year, I've really thrown myself into my work and in terms of career building, at the expense of my free time and personal and at times, my health. I need to ensure that over the coming year I feel comfortable with taking a night off and not having anything to show for it.

Towards the last few months before the launch of the Web Servicing platform, we were given the option of overtime, which led to me working late (starting to lead to burnout) and also not eating healthily due to returning home late. To make matters worse, my walk home takes me past about every single fast food restaurant possible, meaning that I'd give in to my laziness and therefore start myself feeling worse. What made it even worse was that fact that if I knew I'd be staying late, I could have popped over to the nearest Tesco Local and gotten a sandwich to at least keep me going, but I'd always just think "it'll only be a few minutes more" until I'd realised it was now late and I was too hungry (and lazy) to cook something when I got home.

Note: In no way was I pressured to work overtime, it was a case of wanting to help get the work over the line, and was always a choice I personally made.

Additionally, after spending a week over Christmas in hospital with a ruptured appendix, I had a bit of a shock over quality of life and the fact that I really did not want to have to come back to hospital any time soon. Although my appendix wasn't anything related, there's nothing to say that if I had continued with that trajectory of unhealthiness, I wouldn't have ended up there with something worse.

As part of this, over this year I'm going to follow in the footsteps of my friend and housemate Houman and start prepping my meals ahead of time. This will hopefully help me get to the position of either being late in the office but having the option of pre-prepared healthy food I can warm up, or be able to come home and not have to worry about what I need to make for dinner, as it'll already be prepared and just need to be warmed up.

Another personal well-being target I want to hit is being able to get into a better sleeping pattern. Over the year I've often found myself struggling to get up for work, which isn't de-incentivised by the flexible working policy at Capital One, meaning I wing it a little more than often and get to work a bit later than 0900. So I want to try and make sure I'm maintaining a more regular sleep pattern, especially to make sure that at weekends I don't lose precious relaxing time catching up on missed sleep from the week.

Software Engineering#

I've definitely shied away from software development this last year, focussing more on improving my current Chef skills, writing blog posts to help build up my personal brand, playing around with CI/CD and automation or finding new and interesting best practices that are being applied to software in the industry. That being said, I've not taken those practices anywhere. I've not had a project to realy sink my teeth into, and build something that is actual proper software engineering and will be a thing that can be interacted with.

I have a few projects I'll be looking at focussing my time into over the next month or two, and will post about the choice I've made for some accountability.

Although I've been wanting to learn Ruby a lot better, so I can get a lot stronger with working with Chef, I'm a Java developer by trade, and I really need to get my Java up to scratch a lot more, both for the work I do in and outside of work. Although there are design patterns and techniques for programming that apply to both languages, I need to be more invested in the Java ecosystem and help build up my knowledge.

Conclusion

If you've made it this far I want to say thanks for reading! And even if you hadn't made it this far, just the fact that you have been reading has been really appreciated. 2017 has been such a great year all round, I'm really hoping that what's left of 2018 is going to be even better.

Written by Jamie Tanna's profile image Jamie Tanna on , and last updated on .

Content for this article is shared under the terms of the Creative Commons Attribution Non Commercial Share Alike 4.0 International, and code is shared under the Apache License 2.0.

This blog post is 100% human-written, and has nothing derived from LLMs (be it code, editorial support or prose).

This post was filed under articles.

This post is part of the series year-in-review.

Interactions with this post

Interactions with this post

Below you can find the interactions that this page has had using WebMention.

Have you written a response to this post? Let me know the URL:

Do you not have a website set up with WebMention capabilities? You can use Comment Parade.