Wow! Once again I managed to go 9 months without actually writing anything here.

What I did manage was update the entire site with a new major Strapi (CMS) version and front-end application packages. This should offer a bit more security.

So what’s going on

Last time I posted something I mentioned I got into using the .NET ecosystem and C# language. I did manage to refresh my memory on C# and introduce myself a bit to the ecosystem, and use it to write up at least one microservice before I got yanked to another project. This time I’m working with a tech company in the US, with a new tech stack. Right now my work involves front-end development using Vue.js and Golang, all in AWS, while previously it was React, C# and Azure.

Growth goals for 2023

I’ve set some growth goals this year to improve myself. While I do this continuously, this year I have specific goals in mind.

The first one is in the front-end space, to study and explore the tooling in the JavaScript ecosystem. This includes bundlers, transpilers, process runners etc. The libraries are huge and a lot of it is really complex. However I sometimes feel a bit lost working with JS/TS as part of the work is about the tooling.

Golang

Another growth goal I set was to learn golang. I already have a yearly goal of learning a new language each year. 2021 was Dart, 2022 was C#/.NET and 2023 looks like it’s going to be Golang.

This is the primary back-end language I am working with in my current project and I’ve already managed to do some work with it, and re-write my own simple builder app for on-premise servers that I’ll be using to enable continuous deployment for the apps I’m building.

Golang is an interesting, compiled, language that doesn’t contain any extra features (design decision) which makes it relatively easy to learn. My initial thoughts with it are that it seems much more lightweight than something like .NET and C# to get started with, and to develop with.

As a final goal for this year I simply have general knowledge and experience improvements in software architecture, which covers great many things that don’t all include technology, but also soft skills.

More reading

I haven’t put down the books and got through some good ones in 2022-2023. I recommend anyone in the software development space to read at least some of these.

Release it! Second edition

by Michael Nygård

A great book that covers a lot of different failure scenarios in big projects from an Ops point of view. A really helpful viewpoint for developers to understand that there is so much stuff in between the user and your server that can go wrong, and it doesn’t stop there. You can find cracks in your system anywhere.

Fundamentals of Software Architecture: An Engineering Approach

by Mark Richards, Neal Ford

This was a brilliant read and I truly recommend it for any aspiring software architects. To me it helped understand that this role doesn’t just encompass a great deal of technology skills, but soft skills as well. It contains a lot of the most common architectural patterns and their trade offs.

The Pragmatic Programmer, 20th Anniversary Edition

by Andy Hunt, Dave Thomas

This book didn’t really teach me anything new, but it’s one of those classics that every developer should read, preferably at the start of their career. It contains a lot of helpful tips and ideas. One of the things I did take away was the idea of investing in your “knowledge portfolio” and trying to maintain a daily tech journal.

Five Dysfunctions of a Team

by Patric M. Lencioni

Recommended to me by an agile coach I worked with, this book is something that team leaders should read, but keep in mind that it’s only one methodology into team building. The book contains a fictional story about a broken team that has to come together to build a foundation of trust and go through the five dysfunctions to come out better.

It’s a good read, and apparently very well known. To me it taught that trust is the foundation of any high performance team where people should speak up about issues and have candid dialog and constructive conflict, commit to decisions and hold each other accountable. All of this will results in a high performance team, as opposed to individual performance.

Extreme Programming Explained: Embrace Change, 2nd edition

by Kent Beck

On my journey to understand agility better I decided to read the 2nd edition of the good old XP book by Kent Beck. XP is still the foundations of Scrum and one, if not the only, true agile development processes out there. If you want to start learning about agile beyond the manifesto, this books should be your first read.

More on the way

On my reading list I already have queued up:

  • Learning Test Driven Development - Saleem Siddiqui
  • Team Topologies: Organizing Business and Technology Teams for Fast Flow - Matthew Skelton, Manuel Pais
  • Just Enough Software Architecture: A Risk-Driven Approach - George H. Fairbanks
  • Software Engineering at Google - Titus Winters, Tom Manshreck, Hyrum Wright

(While TDD is not new to me by any means and not that difficult to tackle, as someone who’s been driven into front-end development, it still evades me a lot. I haven’t been able to instill it as an approach to back-end development since using it in the front-end is really difficult. Hopefully the book will help with that.)