Professional Development – 2022 – Week 52+

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

.NET

Getting C# Code Metadata That Reflection Can’t Get (via Nick Chapsas)

  • public static void Foo([CallerMemberName]string methodName = “default blah”)
    • The method with this attribute can know the name of the method that called it.
  • public static void Foo(int num, [CallerArgumentExpression(nameof(num))]string param = default!)
    • This is helpful to see arguments that are computed (e.g., Foo(1 + 2))
  • public static void Foo([CallerFilePath]string path = default!, [CallerLineNumber]int lineNum = default)
    • Tells you where the caller’s source code was at compile time as well as the line number.

Is Dynamic in C# Really Slow? (via Nick Chapsas)

Nick compares dynamic instances, ExpandoObject instances, and reflection. In most cases, try to avoid all three of these for speed and memory performance. There are a few cases where one out performs the others, but “always be measuring” how your code performs. Also be sure to unit test the code so you can ensure it won’t blow up in production.

Leadership

Make the Most of Your One-on-One Meetings (via HBR)

This is easily one of the best playbooks for effective 1:1s backed by data about what works, what things don’t have much influence, and antipatterns to avoid. There are too many tips to enumerate here; definitely worth a read for anyone: leaders can understand how to be more effective, and you as an employee know what to advocate for in your 1:1s.

Navigating power dynamics as a manager (via SWLW)

  • I learned about the Power Distance Index, which measures how a direct report responds to authority. Lower in Denmark (authority is expected to be challenged), higher in India (what management says goes).
  • Be the last to contribute in a discussion.
  • Explicitly invite others to contribute.
  • Be more deliberate about your actions and comments.
  • Build trust with each individual.
  • Explicitly delegate decision-making.