At the very beginning of 2014 I decided to track my reading habits and share the best stuff here, on Baeldung.
2014 has been quite the year, covering each week with a review. I've been doing a lot more reading to make sure I cover and curate stuff that has value and is actually interesting.
Let me know in the comments if you're finding my reviews interesting and useful.
Here we go…
1. Java and Spring
Optional is one of these things that you may not be using to its full potential.
I'm still getting into the habit of leveraging it and writing Java 8 idiomatic code – so a piece like this, going over practical examples of how to use it in the wild, is quite a good read.
A good reminder of what's available when working with Java threads, if you've not done any low level coding in a while.
How to use Java 8 stream syntax for a few useful examples. Not an intro to streams, but a good quick read to see how you can leverage the new functionality in your day to day work.
Brian Goetz explains why they're doing primitive specialization instead of reification for generics in Java 10.
A simple but real world scenario of implementing a Jackson deserializer to better interact with a REST API. Good stuff.
Next, a few new Spring releases:
Finally, the webinar recordings that are more than worth watching this week(end):
2. Technical and Musings
Investing in the team and helping developers grow in their skill has a large impact on what the team can deliver.
In my experience, it takes some times until a team gels and hits that good rhythm of putting out high quality work at a consistent pace. It rarely happens without this kind of ongoing investment.
It's hard to understate the impact that a pragmatic mindset has when developing software.
For years, I thought, or kind of assumed that I had it and I was going into all of those scoping sessions with a good eye towards being pragmatic. Nope. Later on I had the good fortune of working with a team leader that was truly focused on simplicity and I realized how much I wasn't. He would look at a feature from a default of “We're not going to need that for V1” whereas for me that would only be an afterthought, if that. Learned a lot since then but hitting that good balance, erring on the side of “not needed” and framing that position intelligently is still tough.
So, personal stories aside, go ahead and read this piece – it has some important takeaways.
Why preparatory refactoring is a powerful technique to keep a system easy to work with. If a change is hard, you're probably not going to do it – so it's a good idea to make it easy first.
This is such a critical thing to understand, both as a constant learner as well as a teacher.
And the weekly dose of some Dilbert greats:
4. Pick of the Week
Earlier this year I introduced the “Pick of the Week” section here in my “Weekly Review”. If you're already on my email list – you got the pick already – hope you enjoyed it.