Publishing my first weekly review gave me such a great feeling that I'm doing it again!
Although it's been short, it's been good; here's what I've been paid to do this week.
We're starting a project with our biggest client, and for the first time since becoming a senior developer, I've been the opportunity to lead our part! It's been great so far!
I've made sure that we have made as much documentation as possible, and that it is as useful as possible. This means clearly explaining the why as well as the what, starting high-level before exploring the details, and making sure to identify the relationships between things as we build up the picture.
Start as we mean to go on, and keep going! You're not really doing the design and documentation for you, it's for your team, present, and future.
... of our technology stack!
I think this can be summarised with one fact:
The documentation doesn't go as far back as the (pre-1.0) version we're using.
I've needed to add a few things to an existing application, but also implement a whole new process. This means understanding where and what the moving parts are, so I can find out how to create my stuff correctly. There's probably one person I can ask for help, but it is, unsurprisingly, years since they been have actively involved with the code that they would also have to search for documentation and examples.
It's been fun to dive into a framework, not so fun having to guess what is the correct way to do it!
Maintainability is a key part of software development, and tackling technical debt always pays off. Sometimes it's tough to take the big hits, like major version upgrades, re-writes or even re-builds, but there will come a time to do it. Make it easier by doing it often.
When working with older software, make sure others know about how painful it is, how much longer it's taking, and how it's not just a great thing we should do. Make sure to either incorporate technical debt into the regular work cycle, or dedicate a block of time to tackle it. I'd rather tasks be easier, more fun, and take less time.