Professional Development – 2023 – Week 4

Image Credit: https://www.flickr.com/photos/54585499@N04/

.NET

Double the Performance of Your Dictionary in C# (via Nick Chapsas)

Many times we need to check if something is already in the dictionary before adding it. The issue is that you need to do one lookup to see if it’s there and then another lookup to store it (compute inefficient). Additionally, value types and structs are copied when using TryGetValue (memory inefficient).

ref var valOrNew = ref Collections.Marshall.GetValueRefOrAddDefault(dict, myClass.Id, out var existed);

User beware because this is technically unsafe (e.g., if the dictionary changes during this action, you may get incorrect results). I agreed with the comments — we need syntactic sugar on the Dictionary class to solve this problem under the hood.

The Easiest Way to Measure Your Method’s Performance in C# (via Nick Chapsas)

  • Built-in Stopwatch class
  • MethodTimer.Fody package; decorate a method with the Time attribute. You can also make your own logger so it doesn’t go to the debug output.

Career

Leading With Confidence: How Engineering Managers Can Avoid Technical Decay (via SWLW)

  • Ask for more details from individual contributors about their challenges
  • Establish sessions for knowledge sharing and solicit the sharing of recent experiences
  • Implement the practice of doing side projects
  • Follow technical blogs from tech companies and engineers
  • Follow the engineer/manager pendulum career path

Difficult Conversations

How to Talk with Your Team About the Elephant in the Room (via HBR)

  1. Identify to yourself what’s impeding progress
  2. Look at the situation with curiousity
  3. Name what you observe to others, without judgment
  4. Set an intention with others for learning
  5. Invite reflection and input from others

Managing

7 Ways Managers Can Help Their Team Focus (via HBR)

  1. Inventory tasks and projects
  2. Clarify and curate communication channels
  3. Normalize saying no
  4. Make meetings meaningful
  5. Enable purposeful productivity
  6. Formalize focus
  7. Respect boundaries

Personal Development

Why Success Doesn’t Lead to Satisfaction (via HBR)

The dopamine desire to get pleasure from what we do. This ostensibly addictive cycle throws our “enoughness” barometers completely out of whack, preventing us from being able to objectively gauge if what we’ve achieved is, in fact, satisfying.

Talent Management

Designing Jobs Right (via HBR)

People redefine their jobs when they are too easy and when they are too challenging. Bosses would do well to have conversations with each individual to ensure it’s tailored to the sweet spot of ease/challenge. Employees should also give their bosses work, such as including them in conversations about planning, strategy, and execution.