.NET
The Best Feature That Is Not Coming to .NET Anymore (via Nick Chapsas)
- Green threads — threads managed by the runtime instead of the OS
- .NET has the async-await model which doesn’t necessarily make the code faster but it does make it more scalable.
- The problem with async-await is that devs need to pick which methods should be async.
- Another limitation is that async code can only be called from other async code, and some types like Spans as you’d expect.
- Green threads would make synchronous-looking code async with very little overhead. However, .NET already has a model and it may not be possible to have async-await and green threads coexist.
- Additional problems… people already get confused async-await so they’ll just be confused about different things with green threads, there are issues interacting with native code (P/Invoke).
“One Line of Code Means Clean Code!” (via Nick Chapsas)
- Fewer lines of code doesn’t necessarily mean cleaner.
- Simplicity is a tradeoff; for example, simple doesn’t always mean performant in terms of CPU or memory. (Nick gave an example of a complex string reversal method that was the fastest and allocated the least amount of memory.)
How C# 12 Changes Your .NET Classes Forever (via Nick Chapsas)
- Current C# requires you to have private fields to store any arguments passed in to a class constructor. Primary constructors involve having the arguments as part of the class definition itself. (This is syntactic sugar, as the compiler is creating backing fields for a typical looking constructor.)
- You benefit from using this constructor if your constructor does nothing more than assign backing fields from the arguments.
- A downside is that the class definition becomes longer, meaning you have to be intentional about spacing/line breaks to quickly scan and determine inheritance or interface implementation.
Hiring
How to Evaluate a Job Candidate’s Critical Thinking Skills in an Interview (via HBR)
- “Critical thinking is seeking information from various sources, assessing its credibility, and determining its relevance and veracity.”
- “Innate curiosity has been shown to be associated with the following eight traits — avid learners, problem solvers, active listeners, self-driven, high productivity, growth mindset, overachievers, and strong at stakeholder management.”
- The article suggests a flip interview where the Socratic Method is used. The goal is not answers, but better questions.
Leadership
How to Be a Better Leader Amid Volatility, Uncertainty, Complexity, and Ambiguity (via HBR)
- The VUCA — volatility, uncertainty, complexity, and ambiguity — concept has been around since the late 1980s. The article states that these properties aren’t going away any time soon.
- Decision-making doesn’t always improve with more data. Computers fall short when not given enough data, however our brains evolved to thrive in unpredictable environments.
- Active listening works in low-urgency high-transparency environments, so use active questioning instead. Start with who, what, when, and where first to see which of those questions elicit surprise. (Don’t start with figuring out the why.)
- The goal isn’t to have the best plan, it’s to be better planners.
- Don’t ignore fear and anger. When you feel these, do an “emotion reset” by asking yourself when you’ve dealt with this before. If your fear and anger remain constant despite the reset, then the VUCA is real — re-plan fast and act decisively.