.NET
The weirdest way to loop in C# is also the fastest (via Nick Chapsas)
Nick breaks down the performance if for, foreach, looping over a Span, and then using the Unsafe.Add() method. The magic is because Spans are blocks of contiguous memory, and Unsafe.Add() lets you do pointer arithmetic to iterate the list.
Why you no longer need a Dockerfile in .NET 7 (via Nick Chapsas)
If you make a new project, you can configure it to support containers and JetBrains Rider creates the file for you. However, there’s an NPM package Microsoft.NET.Build.Containers; you can do “dotnet publish” and it automatically builds the container and publishes it locally. Of course you can edit the config to override the defaults.
Adding properties to classes you don’t own in C# (via Nick Chapsas)
Nick presents a way of setting up a dictionary where the key is “an instance of the class you don’t own” and the value is “some other metadata you want to associate with that instance.” The trick is that the dictionary has strong references, so those instances are ineligible for garbage collection. .NET 7 has a ConditionalWeakTable class that performs the same task, but with weak references.
Career
Are You Too Emotionally Invested in Your Job? (via HBR)
- Do you take criticism personally?
- Does work follow you home?
- Are you a people pleaser?
- Is your identity your job title?
Effectiveness
Your non-linear problem of 90% utilization (via A Smart Bear)
Although the post is from seven years ago, it’s still true today. We think that we can utilize as much time as we can, go as hard as we can, and that it will be sustainable. This leads to fragile/brittle systems. Overutilization in humans is even worse because of frequent interruptions and context switching.
Employment
What Companies Still Get Wrong About Layoffs (via HBR)
The article has too many good points to list here. Basically, layoffs solve a short-term problem but have ripple effects that take a while to undo (if at all). Companies would do well to examine all options first, be prepared to apologize, focus on remaining staff, make decisions fairly, and give people a soft landing.
Engagement
No, Remote Employees Aren’t Becoming Less Engaged (via HBR)
The authors studied what happened as companies start having hybrid remote or return to office (RTO) plans. Remote meetings have become more frequent, shorter, smaller in members, and more spontaneous. Some recommendations… have there be synchronous work schedules so that impromptu meetings are easier, make it easy for people to meet, try to reengage employees who are disengaging.
Learning and development
5 Ways to Acquire New Skills Without Going Back to School (via HBR)
- Certifications
- Online learning courses
- Internships, rotations, and volunteering
- Stretch assignments
- Mentorship
How Busy People Can Develop Leadership Skills (via HBR)
Carve out time for it and allocate 10% to specific gaps with formal learning, 20% observing other leaders, and 70% experimenting with different behaviors.
Project management
Project Management with Monday.com
My company uses Monday.com for project management, and I’d never used it before. This 1-hour course provides a tour of what Monday can do. The tool has pretty close feature parity to Trello (views, automations, customizations, etc.).