2020 has been ... a lot. But I've also learned a ton of stuff. Though I can't ever say I know enough of anything, my objectives for 2021 are going to be quite different from previous years...
I've definitely not been the smartest person in the room over the last year. I've worked with some incredible people, such as David Hewitt, David Fernandez, Romina Moya, Kate Beavis, Gerard Blanes, and many other great folk who have been good enough to explain stuff, pair code with me, and bear with my failures.
What I set out to achieve this year
1. Bash scripting
Erm, didn't really get to this a huge amount. Though I'm less concerned with remembering the syntax of specific languages these days (more about that later...)
2. Continue getting to grips with Kubernetes
Oh wow ... I can't believe I added this lol. I spent only as much time with K8s this year as I had to. I know it's got it's value but the point of an abstraction is generally so you don't have to worry about it unless something goes wrong. Nothing has gone horribly wrong with our Kubernetes instances this year.
Serverless still really makes sense to me. I spend a bit of time during furlough following along with Seed's excellent tutorial at serverless-stack, and messing around with the serverless application framework Webiny, which were great eye openers.
"I'd love to think that by the end of 2020 I will be able to write a Terraform script and get a system comprised of a few key pieces not only up and running but fully deployed, monitored and testable too."
Ha ha ... nope. Not that bothered by Terraform any more. It's a good enterprise system that I'd gladly pick up if my job required it ... but if not, I'm sticking with the Serverless framework. As with Kubernetes, it has more abstractions but less to have to worry about yourself.
Ah you know, that didn't go at all the way I'd hoped! Netmag folded just when I'd finished writing my first feature article for them. How sad for everyone who worked there. I'm still scoping out how I might be able to continue writing, but haven't figured anything out yet.
What I Want to Achieve This Year
As I mentioned near the start of this post, my journey this year has involved less about deepening my understanding of tools, and more about the core skills of a software engineer. So that's what I'm aiming for primarily this year.
Advocacy and mentoring
I already really enjoy advocating for others, so my role leading Zopa's Frontend Guild will continue. I hope that I can chair the group fairly and focus on the needs of our most junior and least outspoken members.
Next year will also bring a new opportunity to help someone grow their career, and I relish the opportunity to be involved in that.
One piece of feedback I received this year was that I should pursue issues that arise with third parties and other internal teams, instead of waiting for others to ask me what the next steps could be.
If there's an issue I should pick it up and progress it as far as I can on my own, not leaning on others in the team to do so. Although, keeping them informed about what's happening and allowing them visibility over key events and decisions is a necessity.
Stand up for whats right
During a few exercised I wasn't able to explain clearly why my preferred approach should be adopted, over another approach that was favoured by someone who wasn't as experienced as I.
I found that I struggled to make a case why it was better. If I'd been more insistent I think I would have been able to politely convince the other person why my approach was the best.
I still need to introspect about this a little, hopefully I can find out why I do that!
Not giving up
I recently paired with David on a project where we were both unfamiliar with the codebase. What impressed me is that David didn't give up, he kept pursuing different avenues to figure out what the code did and how it worked.
This persistence ultimately led to us refactoring the code to achieve our objective instead of reaching out to colleagues who would have been able to help.
The tricks he used to progress through the code were ones I use often, but on an unfamiliar codebase I would more than likely reach out to others earlier instead of applying those skills in this setting. I'm going to try to change that perspective and persist with puzzles that I'm not familiar with.
A lot of these items are here because I want to become a Senior developer, and a lot of that isn't about code but about other skills which you need to exercise.
There's a lot of churn in our industry, and I'm still really keen to learn things like Svelte, spend more time with Webiny, and more with fullstack apps (instead of static frontends). However that's proved to be really difficult due to the time my children need from me at this stage in their lives.
However, progressing within Zopa is something I'd really like to achieve. It's still a great place to work.