.NET
“The readonly Keyword Is Useless!” | Code Cop #012 (via Nick Chapsas)
- .NET 8 introduced the idea of primary constructors where one doesn’t have to specify fields that are solely set in the constructor. There isn’t a way to specify that the parameters are readonly.
- Primary constructors are helpful where you’re defining properties, but not so much when you’re injecting dependencies.
- You can technically get around this by defining a readonly field with an assignment from the primary constructor.
Make Your LINQ Up to 10x Faster! (via Nick Chapsas)
- In recent versions of .NET, some math LINQ extensions — e.g., Sum, Max — have been SIMD (single instruction, multiple data) optimized to take advantage of hardware acceleration. However, this optimization can’t be applied everywhere.
- An external library, SIMDLINQ, expands on this concept on certain data types and adds some other methods like MinMax that returns both the minimum and maximum in one call.
- SIMDLINQ is able to outperform Microsoft’s LINQ in some cases because SIMDLINQ breaks compatibility (which MSFT can’t do). So there is some risk.
Career
The Key to a Fulfilling Career? Variety. (via HBR)
Habituation is our tendency to react less as things don’t change. The antidote is variety. Look for opportunities at work to take on different assignments, work with different teams, etc. In your personal life, you can try exploring new places, learning a new language, or trying a new hobby.
Communication
How to Make Small Talk with Anyone from Anywhere (via HBR)
- Your country’s norms aren’t universal, but neither are anyone else’s.
- Aim for a human connection.
- Use commonalities and your environment.
- Ask open-ended questions.
- Share something about yourself.
- Explore various angles of a topic.
- Just say “hello.”
Engineering
Perverse incentives and DORA metrics (via SWLW)
The author suggests that the only one of the DORA metrics (i.e., deployment frequency, lead time for changes, change failure rate, and mean time to restore) is lead time. Speed is a differentiator, and if can lower MTTR, you also decrease lead time. You do need good enough visibility (automation maturity) in being aware of, diagnosing, and fixing changes quickly. The post states that MTTR is a fear-based metric and that failures are to be avoided; “Here’s the thing: complex systems break. They break all the time too.”
Leadership
What Employees Need from Leaders in Uncertain Times (via HBR)
A leader often has little to no control over the external environment, but they have influence over internal things. Creating trust by being predictable (i.e., fulfilling expectations over time). Inoculate uncertainty with vision — paint a portrait of the future and inspire others toward it. Increase honesty and transparency; don’t bullshit people. Frame uncertainty as opportunity.