Goals for 2018

I’ve been reading a lot of blogs from software and web developers recently and many of them post about reviewing the last year, predictions for the coming year or their goals for the coming year. When reading one of these recently I was inspired to follow suit, because the new year of all times of the year is a great time for evaluating. In light of this, here’s what I’d like to work towards in 2018.

1. Blogging#

My writing efforts dropped off a bit in 2017, this is something I’d like to improve on. I spent much of my time that was available last year working on golangcode.com, but I would like to share the time more evenly between this site and that. I would also like the posts for this site to be more about programming as a whole, rather than sharing code snippets as much of it has been previously. – Stay tuned and watch this space!

2. Rekindle Passion#

To go along with the blogging, I want to get excited a bit more about the things I’m working on. I used to be able to chat about a new technology for hours, wide-eyed and enthusiastic. This might be down to having worked in the industry for a few years, but I’ve noticed I’m more pessimistic these days. Hopefully I can re-ignite this passion.

3. Continue Learning (Go & Vue.js mainly)#

These aren’t new languages and libraries, but I want to continue to learn Go (as in golang), maybe getting more of it doing live/production work where it can. I’ve been using it both outside of work and inside, but I still feel like I have a lot to learn – and 2018 can only help with that. Specifically, I’d like to fully get to grips with testing Go apis.

Likewise, while JavaScript isn’t my favorite language, Vue.js makes things a little more bearable. I find the time it takes to develop things using Vue is still a bit slower because I’m still learning, but the time to fix all those little edge-caseTM bugs is massively reduced – when compared to doing the same with just jQuery.

4. Write Code with Better Foundations#

Coding isn’t easy, but it is a lot easier to just write code which works – and that’s it. For most software projects though, this sort of code is often a nightmare, because it has no tests, depends on a piece of infrastructure which only exists on live and it complicated to understand. This is why we break problems down in constituent parts and use techniques like dependency injection to allow this code to be tested easily and efficiently. The code I write in 2018 I would like to be more robust in this way, allowing the code itself to survive for longer while still being worked on.

And that’s everything, thanks for reading!