2018 in Review
This post's featured URL for sharing metadata is https://www.jvt.me/img/profile.jpg.
Note This post is being published super late. But most of the words written here were actually written in early 2019, but this was never published because I always prioritised other things over it. Some of the below blurs a little into my knowledge of the future, so unfortunately this isn't the best representation of my review in 2018 as it's over a year late!
As I called out in last year's Year in Review, this post isn't necessarily for you, dear reader. This is me writing for future me to read back over and reflect on - although I want others to read it, hence it being on a public blog, you're not necessarily the end audience!
If you've even glanced at 2017 in Review, you may be a little worried about this post - please don't be! It's not nearly as intense, largely because I'll be writing a separate follow-up post about my appendix recovery.
This year's Spotify playlist Your Top Songs 2018 covers really nicely the playlist to my year - lots of old and new music alike.
I'd recommend a listen of the playlist while reading the post, as it's what I'm listening to as I'm writing this!
In November my family came up to Nottingham for the weekend to see my new digs. It was the first time the family had been up to Nottingham to see me in a few years (excluding when my appendix ruptured!) so it was quite nice to spend time with them up here, and host them in a different way to when I was a student in Nottingham.
Given I've now moved to Sherwood, Anna and I decided to stay local, showing off the up-and-coming place Sherwood is.
It was really nice to have my sister Cat stay with us, too, as it meant we had a bit more time with her as she stayed until Monday morning, so we watched our traditional Christmas movie The Grinch and had a nice chilled time.
Most exciting was the fact that the family got to meet Morph, our cat, who is a loud little cat and is super cuddly and cute. The only problem with him is that because he's a black cat, photos don't do him justice and my family have wondered for some time if he even exists!
This section was rewritten as a separate post, I'm Not Good With People.
A friend I thought I'd lost
2018 was also the year I met a good friend who I'd not seen in over a year. I was incredibly shocked to see him at OggCamp, but so so happy. I've seen him a couple of times since, and it's been so nice.
After registering, I'd quickly popped to the loo, and walking out I saw him and Anna talking and I was like wait what? Is that him?, bowled over by the thought of him being there, and then worried that maybe he'd not realised I'd be there and that it'd be awkward. But no, he revealed, he'd planned to come because I was there and that he wanted to support me talking.
I honestly wasn't sure if I'd ever see him again, given the last time we spoke was him basically mic-dropping and leaving Nottingham, after an incredibly, incredibly difficult point in his life that I still feel very strongly responsible for.
I would reach out every so often to say hi, or check he was OK, but didn't get much back - and to be fair, I honestly didn't blame him. I was worried that every time he saw or spoke to me he'd be reminded of what was and what had happened and I honestly couldn't have faulted him if he had wanted to distance himself forever.
But I was very incredibly fortunate that he returned to us, and that I'll be looking at seeing more of him.
Folks, tell people how much they mean to you while they're around.
Being an adult
- Anna and I moved in together in September, and I'm now officially her lodger!
- We got a Monzo joint account, which we've found to simplify things to no end, as well as make it really easy to track how much we're spending on things
- I've definitely felt like more of an adult, as this is the first time I've lived with my partner
- Since being in my second year at uni, I've been wanting to move from HSBC to First Direct, as they have some better offerings, and my parents have been using them for years. I finally got an account in December through referral which should mean a nice gift, too. This was largely lower priority following my move to Monzo for my primary spending account in 2017, but I'm glad I finally got around to it.
- One thing I noticed about this was just how difficult it was to get an account set up. After setting up a Monzo account in 2017, as well as a joint account in 2018, I couldn't believe at just how difficult it was to get an account with First Direct. I had to send in three sets of forms in the post as well as phone up a human to set my telephone + mobile banking. The amount of wasted time, effort and paper was a real shame in this day and age. I guess it's not so bad if you look at any of the other traditional finance institutions, but against a "challenger bank" like Monzo, really disappointing. Although, it does have to be said I was impressed at how quickly their staff picked up on phone calls (first couple of rings) as well as that they were open pretty late every day.
- It infuriated me no end that my telephone banking security questions and answers couldn't be randomly generated and "had to be an answer that an agent would understand"
- More infuriating, though, was being told "please don't share your passwords or 'secret' answers with anyone", having just asked the agent to set the details for me. I asked if I could set it online, but they said no. And for clarification, I asked if by "anyone" they meant the agent that sets them for me, to which they were a bit puzzled.
- Anna got a desktop PC, so we're now spending a bit more time working in the office which is a bit nicer, because we used to do a lot on our laptops downstairs, which involved poor posture and support, and the smaller screens didn't help for productivity!
In the last week of November, I realised that I still had 11 days of holiday left to take before the end of year! However, I was on out-of-hours on call for most of the month, so realised that even if I was "on holiday" during the days, I'd still be on call in the evenings so that didn't help. I was able to get them carried over, with the note that I'd have to use all before the end of March. How did I get so many? Well, the previous year, I'd carried over 5 days (the maximum) so that I'd have some extra days of holiday in 2018 (with those 5 needing to be taken before end of March). But when my appendix ruptured, it meant that I was on sick leave without the ability to go through my holidays. So when I'd recovered just after Easter, I had ~30 days of holiday to take in the remaining two thirds of the year! Then, I'd not planned in too many days off as I was excited to get back to work.
At the beginning of the year I was promoted from a Software Development Engineer 1 (SDE1) to a Software Development Engineer 2 (SDE2). This was a great achievement after 15 months in the company where I was achieving some really great results, and working as another member of the team, rather than "just as a grad". I'd been key in promoting the use of Chef in a Test-Driven fashion, and my drive for building the right solutions in the right way, rather than compromising (too much) for a deadline.
Unfortunately, I missed the promotion announcement and celebration as I was ill, which is a shame because it's always nice to be there to hear people singing your praises! I also didn't get invited to the mid-year promotion celebration party which I felt was a real shame as it would've been nice to celebrate albeit a bit late - but this is something I should feed back ideally.
I'd also been invited to a leadership weekend programme, but as it was while I was just returning to work, I wasn't sure a weekend away with potentially a lot of physical exercise would be best for my barely-recovered body.
After mid-year appraisals, I moved into Quality Engineering to take more ownership on spreading Software Engineering principles such as code reuse into the Quality Engineering department, which I didn't get around to looking at until the end of the year, due to some high pressures in the team. Even though I was working as an Software Quality Engineer (SQE), I was effectively used as SDE resource due to my background, and the time pressures in the team. We are a cross functional team, so it's not unexpected for folks to do both sides of the job, but for a large amount of the second half of the year I felt I was doing two roles.
And because I was busy with in-team delivery, I wasn't able to get involved as much with the greater ownership of the PSD2 delivery from an End-to-End testing perspective for Quality Engineering. It meant that I wasn't able to support the few of us QEs delivering it as well as I'd hoped, nor steer the delivery to how I wanted it to look. But I did end up owning pieces like platform conformance using the FAPI Conformance Suite, which involved some difficulties due to our internal integration environments, and was very important for proving to the FCA, our regulators, that the platform was conformance to the regulations.
The team changed massively throughout the year, resulting in lots of time spent onboarding new members and downloading the details of the complex system that we as a team own. While I was off ill with my appendix, the team had two Software Development Engineers and one Software Quality Engineer, as well as hiring a fresh Quality Engineer to the team, and then as I was returning, we brought two new SDEs in on secondments from other parts of Tech to bring our numbers up, but also to spread internal knowledge of the Identity Service across tribes. This resulted in lots of thinking about how best to communicate as there was a lot of vendor-specific, and system-specific, knowledge, as well as some of the intricacies of OAuth2 and the new consent granting flow we'd be introducing. This also resulted in lots of context switching, trying to share understanding of the system and how to get things up and running and setting team members up for success, while also trying to deliver within some pretty tight deadlines - not a great recipe for success!
We had a new QE in the team, who was coming from a good testing background, but not as strong a Java background. I found this quite difficult, as we were working to tight deadlines, but also needed to help support someone with not a lot of knowledge on the complex system we were working on, nor on the tech stack we were using. I found it put me in a very difficult position where we as a team had limited experience, therefore with the deadlines we had, it was unfortunately a case of letting others not get the support they needed. This wasn't necessarily the best call long-term, but helped us get over the deadlines we had, and have since started supporting better.
After a large number of months towards the end of year preparing configuration and general "production readiness" for several months' work going into Production, starting to actually write Java code again was having a noticeable affect on my mental well-being and positivity. This has especially true for the beginning of January where I'd been pairing with our new QE and helping him understand how and why we unit test our Cucumber code.
One of my first places I made my mark as a QE was Creating a versionable, self-contained (fat-/uber-) JAR for Cucumber tests and Creating a versionable, self-contained (fat-/uber-) JAR for Gatling tests which was necessary due to a split in repos, but has since been a really popular conversation internally and externally.
I also documented Why You Should Be Unit Testing Your Functional Acceptance Tests which is something else in-team we've done very well, and has had noticeable benefits, even though it was born out of the complexity of the system we work with.
This year my dad turned 60, and as part of the celebration, we were going to travel to Malawi, where he was born and grew up. There were a few other big birthdays this year with his cousins/friends that he'd grown up with so we were going to make it a big event, and we were all really excited about it. Until (not naming any names) someone decided to blow their appendix and mean that Mum and Dad didn't have the time over the Christmas period to plan it, so we had to postpone it for now.
Instead, we decided to go to Italy - specifically Rome and Pompeii. This was a really nice time, as I had studied Latin at school, and was very interested in Pompeii, and it was pretty surreal to be there for real, but we had a lovely time.
Anna's family and respective partners, including me, went to Cumbria for a week, which was the first holiday with a partner's family, so I was a little apprehensive. But it was a really lovely time, and helped me feel even more comfortable with her family, and involved lots of food, walking and tea, but also bits of playing board games and having a quiet time reading.
Anna and I also spent a long weekend in Amsterdam in November, which was lovely, not least because of restaurants such as Cafe de Klos - I'll add a list of recommendations of things to do and places to go at some point.
The TL;DR of my site in 2018 is:
- I had a great year of working on my website, especially while I'd been off recovering from my appendix, where I was able to spend some dedicated time on it and the infrastructure that supports it
- I've also found it has been really good to write quick articles in evenings when I'm wanting to do something productive, but nothing too mind intensive
- I spoke at DevOpsDays London about the "overengineered monstrosity" that it was
- Moved from
Move to Hugo
After writing 2017 In Review and realising that I changed my theme that year, I though that in 2018 I'd be happy with what the site looked like. It turns out no, I did not, and this year I moved not only themes but static site generators!
As I wrote about in Goodbye Jekyll, Hello Hugo!, this wasn't something I was planning on doing over the Xmas period, but I ended up doing it because it was so much fun (and so much quicker!)
Emails from readers
This was the first year that I started to receive correspondence from readers of my blog, who wanted to feed back to me or give thanks.
The first was from Pascal in the Netherlands:
Here a friendly thanks you from a fellow (Junior / Medior) Linux admin.
In search of an issue i had with converting JSON to YAML i came across you page: https://www.jvt.me/posts/2017/06/22/yaml-to-json/#converting-from-json-to-yaml
This helped me so much and with that little piece of script i made an Ansible Dynamic Inventory.
So again a big thank you!
I also received a message from Leonid, Lead Go engineer on the Tyk API Gateway about my article TYKJS Middleware Gotcha When Base 64 Decoding Data. Leonid wanted to help me with resolving this issue, as there was a fix that went into Tyk for this, but it didn't seem to be working.
It was really nice to get some response from readers, being further validated that what I was writing was useful.
Statistics on the site
Some more interesting numbers on the site:
|Number of visits||2130||10380|
|Number of articles||22||60|
|Number of blogumentation articles||12||41|
Engagement + Analytics
As always, pinch of salt due to tracking protection!
|Continuous Delivery with Capistrano and GitLab Continuous Integration (2017)||1341||1240|
|Verify a Ruby Class Method is Called with Arguments in Rspec, Without Doubles or Mocks (2018)||896||861|
|Building Chef Cookbooks with GitLab (Part 1) (2017)||856||730|
|Site's home page||776||674|
|Converting YAML to JSON and vice versa (Part 1 - Ruby) (2017)||647||596|
|Deploying to Netlify using GitLab CI (2018)||630||534|
|Merging multiple repositories into a monorepo, while preserving history, using `git subtree` (2018)||435||372|
|Why You Should Use GitLab.com (2017)||422||388|
|Getting around `Permission Denied` when running ChefSpec (2017)||297||275|
Something very interesting to see is that 70% of my traffic is from organic search!
Interestingly this doesn't include the huge amount of visibility my posts received on LinkedIn - I can't seem to see it now but I received > 3 thousand views on these posts in total, from companies all around the world:
- My First Week Back to Working (Remotely) After Three Months
- Finally Returning to Full Time Work After 123 Days
There are also notable mentions to the following companies, who I've seen internal domains linking to my articles from!
- Capital One (I've obviously placed a few of these myself, as I currently work here, but it's still nice to see people following links!)
- Morgan Stanley
- JP Morgan Chase
- General Electric
- Commerz Bank
Thanks for validating that my posts are helpful to others!
I've also been keeping an eye on more than just referrals but looking at my backlinks. Aside from a number of Hacker News clones, I've noticed:
- Blogumentation by Björn Wilmsmann
- A link from murb.nl
- Making TeX less noisy
- DevOpsDays London 2018 by Carolina Gilabert
utm_medium + Campaigns
I've also started to track a little bit more through this sharing metadata, starting to go through
u.jvt.me, which is hosted at https://bit.ly. This has definitely been useful to determine what sources traffic is coming from.
2018 has been a great year of attending events - lots of hackathons, conferences, and the booming tech meetups.
I'm still trying to talk about Kickstarting your Automated Build and Continuous Delivery platform with GitLab CI at Tech Nottingham, which has been cancelled for various reasons (including when I was rescheduled to January 2019).
Probably one of the most annoying things about my appendix rupturing was the proximity to FOSDEM 2018 - which I unfortunately missed! There were also some really great meetup talks in Nottingham while I was off, so that hurt pretty bad too, but Anna very nicely took notes for me, so I wasn't missing out too much.
Some of the highlights with write-ups:
- AWS + Chef Dev Day Roadshow
- Hackference 2018
- DevOpsDays 2018
- Chef 14 Meetup.
- The DVSA did an AWS Game Day, which was really great fun, which has a great writeup on the official DVSA blog
- Anna and I spoke at Hacksoc about Hacktoberfest in October 2018
- Infrastructure as Cake - Testing Your Configuration Management in the Kitchen, with Sprinkles and Love at OggCamp 2018
- Documenting Your APIs (with OpenAPI) at OggCamp 2018
- Overengineering Your Personal Website - How I Learn Things Best at DevOpsDays London 2018
- Missed Hack24 as I was still recovering from my appendix
- Anna, Carol and I mopped up at Hackference's hackathon
- LincolnHack was largely spent prepping for my Tech Nottingham talk that following Monday - oops! But Anna worked on a cool app to support her work's step challenge competition, which she rebuilt in 2019.
Chef Knowledge-Sharing at Capital One
I wrote Test-Driven Chef Cookbook Development Using ChefSpec (and a sprinkling of InSpec) because was getting so many messages about how to do it right, but not having the time to spend with each and every person, so wanted to create a resource that folks could use at their leisure.
Unfortunately I didn't really have much success in building up a community of folks working with Chef, and then as part of my move into QE, I would have even less involvement in the community, as it would not be my day-to-day work.
Chef Training Courses
In July I announced I would be working on Creating Chef Training Courses with Packt Publishing , which was super exciting. But then as I described in Revert 'Some knowledge-sharing news', I announced I'd no longer be doing them. It was a good learning experience, but I really hadn't thought about how much work it would be, nor how little I would enjoy preparing and then recording, and re-recording.
Free stuff from GitLab
In early January, Michael Miranda from GitLab dropped me a message about Continuous Delivery with Capistrano and GitLab Continuous Integration. I was more than happy to answer some questions, and thought it was cool that he reached out.
Fast forward a few months, and he's asking me about whether I'd received any information about swag. I was confused, and he mentioned that I was being sent $100 to say thanks.
This was really quite cool, and incredibly appreciated.
However, I realised that if I really wanted to, I would be able to spend the money on buying swag myself, as I'm in quite a fortunate position financially.
So I as I was looking at talking at Tech Nottingham in November on GitLab, I bought 4 pairs of socks as a giveaway. I did also buy a GitLab Neon t-shirt for Anna and I, as well as some more stickers to give away at the talk.
I was invited back to my secondary school in May, where I was able to speak to some Year 12 students about how I went from school to where I am now. It was a thoroughly enjoyable afternoon and was really nice to be able to give some help with giving some advice on the process and reflect my own experiences.
I wrote up my thoughts in the post My Path from School to University to Work for posterity to cover conversations had, and add a little bit more info to the answers I was giving.
While I was recovering from my appendix, I started getting to the point where I needed something technical to be doing. Something I've wanted to get on with for some time is converting the Spectat Designs infrastructure to something automated and hands-off in its provisioning, so as with everything else, chose Chef, which built upon Hetzner Cloud instances which were then provisioned with Terraform.
This was a good experience to create resource-based cookbooks from scratch (whereas at work they're mostly recipe-based cookbooks) as well as giving me some more ownership of the whole process and freedom to experiment with different styles of cookbook development.
I purposefully kept to Chef 12, as that was what we were using at work at the time, as I knew we were just about to upgrade to Chef 13 at work, and I'd be picking that up as part of returning-to-work delivery. This meant I'd be able to upgrade the Spectat cookbooks from Chef 12 to Chef 13 and write about the upgrade pains which I knew we'd likely hit as part of the upgrade process.
This blogumentation made it super easy to link through to colleagues who were also going through upgrades, as well as seeing that I was getting a tonne of traffic from organic searches, which was cool to see!
Anna and I also migrated some existing customer sites from rarely-touched WordPress instances to Jekyll, which simplified the serve provisioning process greatly, as well as made it easier to work on ourselves. Although not technically in 2018, in early Jan 2019, we onboarded the first client to Netlify CMS which has so far been a really enjoyable experience!
Reviewing 2018's Resolutions
It wouldn't be a good idea to look at what I want to do this coming year unless I look at what I'd planned to do last year and what's next.
Slack / Conversation Addiction
I've been much better at this! At least personally with things like Tech Nottingham's Slack or the Chef Community Slack. However, it's meant I'm instead chasing conversations on Twitter, Hacker News and, failing that, Reddit.
I've not been as good at this at work, where I'm still looking at a lot of channels to get down to "inbox zero". It's not helped by being in more channels which have interesting things going on across both the UK and the enterprise. That being said, I've started to mute many more channels, so I really only get notifications for the important ones, and then can dig into conversations in other ones if I'm feeling particularly bored / have some breathing room.
When I was writing the post last year, I wasn't aware that I'd be moving into Quality Engineering later that year, so the drive to have engineering work outside of the office was less of a problem as I was starting to write a lot more code.
However, I'm still not at the point of knowledge that I'd expect to be, even if I do have some of the other "well rounded" skills like Configuration Management, ownership of the DevOps process, and CI/CD principles.
As this post has been written after 2019, there's no point these being actually actionable.
I want to get a better work-life balance as I move into this year. With my appendix taking out some time, and helping me reflect on what's important, I want to make my time count.
I'd recommend a read of my comment on this bookmark of Don’t Put Your Work Email on Your Personal Phone, as it sums up quite nicely the risk of my having a phone for work, and the bad habits it's caused.
Personal / Mental Well-being
Personally, I've been looking to invest in myself a bit more with self care such as back massages - both because I have a bit of back pain from poor posture and using a PC all day, but also because I like it!
We've also started to get a cleaning company every so often to help with cleaning the house, instead of Anna and I doing it, as it can have a negative impact on our happiness if we realise that a free weekend at home will have at least a day spent sorting the house out.
Since being off ill, I've found that I'm a little happier to leave work early, as at the end of the day, it's only part of what I'm around to do.
I've also been rediscovering playing games as well as watching series on i.e. Netflix, which I used to do a fair bit, as a way to relax and do something different.
As part of the comments in Social Life I also need to try and play these games socially - especially as I've been getting back into the Borderlands series, which is much more fun with a group.
As mentioned above in [the Software Engineering section], this year I'll be looking at investing in my IndieWeb presence.
For a large part of the year, I've been reading IndieWeb pages, and studying the [IndieAuth spec] and ramping myself up to start to ensure my site works with the IndieWeb technologies.
However, although mentioning that I wanted to get involved with it more at Hackference 2018, I didn't actually do anything with it.
Seeing Josh Hawxwell's IndieWeb talk at NottsJS in early January 2019 made me immediately think, yeah I need to get on this stuff!
NOTE 2020-01-12: I ended up not writing an IndieAuth server, as I found other things to work on that had higher priority such as sending Webmentions and a Micropub endpoint.
Changing how I write this Year In Review posts
Following in the footsteps of how Jessica White approaches her "year in review", I like the idea of performing a quarterly retro on how things are going would be much better - not only for quicker iterations of feedback, but also so I can make the writing of this post a lot easier!
Or similar to how Carol approaches her "year in review" with a month-by-month review, so you can get a feel of the progression of the year, and how things changed over time.
Write more, but write less
Yeah, let me explain this one.
I want to start to write more frequently, to the point where I spend more time writing the post than it takes to review it, as I've found some posts that take ~3 minutes to read will take maybe ~30 mins to write, which isn't a great time tradeoff.
I also want to improve the communication style to improve context, as well as ensuring it's clear and concise, to the point where I write more posts, I don't write as much fluff so get to the point more, and provide the context needed, reducing the assumptions on readers' knowledge.
Having a third of my year just gone was pretty sucky. I'd had a lot of things planned in my professional life that would've put me in a better place coming into 2019. However, following reflections in Social Life, I feel like it was good to give me some break and a bit of perspective on life.
Coming back to work after being off, I was a bit more relaxed about delivery and deadlines, because hey, I'd literally almost died. That sort of thing puts it all in perspective - but then by the end of the year I'd got back into the same bad habits.
That being said, if I had the ability to take that much time off work, I feel I could've accomplished so much more. One worry I have is that I'm not progressing in my technical programming skill while at work (due to other things to do) and then when I get home it's mostly blogging or chilling, so where do I get the time to progress career through technical knowledge?
Well, as mentioned in IndieWeb, that's where creating indieauth4j comes in, as it'll help me hone my Java knowledge, build something from scratch, and get the chance to test it too. I'll look to get technical feedback from colleagues who can help shape it, and put me on the right path for building better software.