Staying 'up to date'. Avoid becoming legacy. Regular tasks
I believe the industry is generally moving forward in the right direction:
- Languages get better, for example JDK more performant
- Build tools like Gradle get faster
- OS’s get better and more secure
- Libraries get more efficient and have more useful features
There are of course regressions, but in general it is worth it to stay up to date.
Therefore I will define a list of software that we need to keep up to date. The person assigned to follow the development of the software, will not only read about the news, but inform the team when it is relevant and learn it in depth.
Spring eco-system
- 1st working day every month, read through: https://spring.io/blog Inform the team of any news that are relevant to our codebase.
Dependabot
- Merge in the monthly (start of month) PR Read the changelog and notify the team of any interesting changes in the libraries we use.
Gradle
- Gradle can soon be updated via Dependabot, but for now just be subscribed on github: https://github.com/gradle/gradle It is possible to only be subscribed for releases
The person responsible for updating gradle can do it on all repos.
Read the changelog, if there are new experimental features / flags we can enable for better performance, share with the team and evaluate if it is relevant for our repos.
JVM
- Read: https://inside.java monthly, start of month And share the main important points with the team if anything is relevant to our codebases.
Jetbrains IDE (Intellij)
- Read monthly https://blog.jetbrains.com and also use the Jetbrains toolbox application Inform the team about any new releases and especially when a new major version is released, try out relevant new features and inform the team.
MacOS
The person responsible for this area will always update to the latest OS version and inform the team about relevant changes / features. Things like the new Passwords app which makes google authenticator etc. mostly obsolete (for mac and Iphone users) are very relevant.
webdev
- https://web.dev/blog - check monthly, and share with the team relevant parts from new blogs. This can be new features that are newly baseline available. Check around 5th every month, when the blog about previous month progress is released.
Devtools
- https://developer.chrome.com/blog/ Inform the team monthly about any changes to devtools that are relevant to the team.
- The person responsible for this should become very knowledgeable about devtools in general
Postgres
- Roughly annually new major version. The person responsible for updating can also do the minor version upgrades on the server if relevant.
- The person should also read through the changelog carefully and inform the team about anything that is interesting for our applications