TL; DR:
Check out the FREE stuff!
I strive to be replaceable as a manager
A single point of failure is NOT a good thing
Being replaceable != dispensable
I’ll be hosting a live Ask Me Anything stream on Monday, May 6th at 9:30 PM PST
Win FREE Stuff
Make sure you check out my listing of FREE stuff you can win! Currently there’s a chance to win a 1 year dotUltimate license and another chance to win a book from Packt. You don’t have to spend a dime to enter to win these! And the best part is that your earned entries can be used for future giveaways too!
What’s In This Issue
In ONLY 6 Minutes – Blazor Interactive SSR and MudBlazor Tutorial
How Much Math to Program? – Principal Software Engineering Manager AMA
Hidden Dependency Injection Limits with Autofac in ASP.NET Core
Unlock Your Engineering Confidence – Interview With Maria Glazunova
AutofacServiceProviderFactory in ASP.NET Core – Problems With Dependency Injection (Part 1)
Autofac ContainerBuilder in ASP.NET Core – What You Need To Know (Part 2)
Autofac ComponentRegistryBuilder in ASP.NET Core – How To Register Dependencies (Part 3)
Weekly Recap
The FIRST One – Behind The Screen 2023/02/W1
I am starting to release last year’s vlogs on YouTube! My weekly vlogs are for members only on YouTube, but I want to start sharing with you the older vlog entries so if you haven’t become a YouTube member, you might find these interesting!
YouTube membership gets you access to these weekly vlogs that are put out every weekend so that you can see everything going on behind the scenes in my content creation journey, side projects, and some of my career journey as well.
In ONLY 6 Minutes – Blazor Interactive SSR and MudBlazor Tutorial
Want to get up and running with MudBlazor in your next Blazor web application? Check out this simple tutorial for using MudBlazor alongside interactive Server-Side Rendering (SSR) render mode in Blazor.
I put this tutorial together for you to help you avoid one mistake I made: Jumping into the dual render modes too soon! I wasn’t prepared to mix client and server-side rendering in Blazor, and didn’t realize I could get MudBlazor working with just interactive SSR.
How Much Math to Program? – Principal Software Engineering Manager AMA
This stream focused on: How much math you need to program! Join me every Monday at 9:30 PM PDT!
Hidden Dependency Injection Limits with Autofac in ASP.NET Core
Dependency injection is a powerful pattern that we can use in software development. ASP.NET Core comes with the IServiceCollection functionality built in to give us this kind of capability. However, we do have other tools, such as Autofac, that can enable us to do more powerful things with our dependencies.
In this video, I’ll explore the trade-offs of using Autofac in the recommended way for setting up your application. For many people, this pattern will work very well. However, as someone who builds plugin architectures, there are a few limiting factors that I need to work around!
Unlock Your Engineering Confidence – Interview With Maria Glazunova
I’ve said it a million times and I’ll say it a million more: Communication is a critical skill for software engineers. And if you don’t want to listen to me, listen to Maria Glazunova who I had the pleasure of interviewing in this video!
Maria coaches many software engineers and tech professionals on how to improve their communication skills. Many of these people have English as their second (or third) language — but the fundamentals of what we discuss regarding communication apply to EVERYONE.
Thanks for the awesome chat, Maria!
*SO* Close To Plugins In C# – Autofac in ASP NET Core
This is the second video in my series explaining how to get the most out of Autofac in ASP.NET Core. The first video examined the suggested way to set things up — but this video goes against the grain with setting up our dependency injection container!
In this video, I’ll explore the trade-offs of using an Autofac ContainerBuilder in contrast to the recommended way of setting up an ASP NET Core app. We’re getting MUCH closer to having a workable plugin setup!
Break into Big Tech – My Journey from Startup to Microsoft
This article is a high-level view of my career journey going from startups to Big Tech — landing a principal software engineering manager role at Microsoft.
AutofacServiceProviderFactory in ASP.NET Core – Problems With Dependency Injection (Part 1)
Learn how to use AutofacServiceProviderFactory in ASP.NET Core for dependency injection! This article explains how to set it up along with the pros and cons.
Autofac ContainerBuilder in ASP.NET Core – What You Need To Know (Part 2)
Learn how to use Autofac ContainerBuilder in ASP.NET Core to wire up dependency injection. I’ll explore what we can and cannot do with this approach!
Autofac ComponentRegistryBuilder in ASP.NET Core – How To Register Dependencies (Part 3)
Learn how to use Autofac ComponentRegistryBuilder in ASP.NET Core! We’ll see how we can move closer to getting the C# plugin architecture support we want!
Join me and other software engineers in the private Discord community!
All of my weekly vlogs are now on YouTube which are accessible via membership!
Remember to check out my courses, including this awesome discounted bundle for C# developers:
Exclusive Article: The Best Engineers Are Replaceable
This is an opinion piece where I describe some of my philosophies in my software engineering and management career.
Job Security? Best Possible Engineer?
Job security is top of mind for many software engineers. While this isn’t a new thing, I suspect over the past few years this has become more and more top of mind for individuals given the layoffs.
It’s hard. There’s no doubt about it.
Historically I’ve heard people joke about the idea of job security as a software engineer being someone that has secret critical knowledge about a codebase. I’m sure you’ve heard this kind of thing before, maybe not verbatim, but along the lines of “That engineer wrote this super complex algorithm in the performance-critical part of our service that only they understand… talk about job security!”.
The idea is of course that if you have some critical knowledge that you keep to yourself, there’s no way a company could get rid of you! They’d be foolish to do so since you’d be taking the secret sauce with you.
This person would seem to be indispensable but they’re also not emulating behavior that we would ever want a software engineer to have. It would be ridiculous for engineering teams to strive to not eliminate single points of failure.
The best engineers, the ones we all want to see emulated, are engineers who are not single points of failure. Let’s dive deeper.
My Goal As A Manager
Something happened a few years back in my management career but since that point in time I like thinking about this as my goal for being a successful manager.
I should be able to leave the team and it’s fully successful without me.
I am 100% replaceable.
This might sound kind of ridiculous because on the surface it probably sounds like:
If I am replaceable, I’m probably not adding any value
If I can just leave the team and it’s fully successful without me, I’m not adding any value
If I can easily be replaced, that should suggest someone should just replace me (or I don’t value job security)
Of course, this warrants an explanation. Ultimately, when it comes to managing a team, I want the team to:
Operate effectively (move quick, deliver quality, etc…)
Have a high degree of autonomy (not blocked by others all of the time)
Be cohesive and have alignment (the team understands the charter and has aligned values)
Have members with clear career direction (working towards promotion, career goals, etc…)
By working with the team closely, these are the things I try to drive. I aim to level up the entire group that I am responsible for to the point where they don’t need me — but this is my big value add. This is why I am replaceable but I am still an indispensable addition to the team.
Replaceable Does Not Mean Dispensable
Let’s dig into this a little bit more, because now that I’ve explained my role as an engineering manager and the framing I have, it probably still sounds weird that replaceable and indispensable can be used to describe the same person. This is EXACTLY why I wanted to write about this topic because it seems backward, but I stand by this concept still.
The idea is that one can add so much value to an area that it’s now functioning at a whole new level. I hate the idea of “10X engineers” (because what does that even mean?) but maybe this is the closest example I have to this concept. The value is not that you are there, trying to prop things up so that you’re the single point of failure gluing it all together. The value is that you were able to improve things overall to the point where you didn’t need to rely on things being held together by a thread.
Going back to the software engineer example, the analogy would be that you made things so much better for everyone to keep working in the code base without you needing to be there to keep micromanaging every change so that it didn’t fall apart.
In that given situation, you have done so well at your job that you have made yourself replaceable. But you have an indispensable set of skills and experience because you can attempt to repeat this in the next area.
Your time, effort, and skillset being invested in one area yields such great returns that your input is no longer necessary to keep it highly functioning. Now you move to the next.
Make Yourself Replaceable
The takeaway here is that the best engineers are the ones who:
Aren’t single points of failure
Can offer tremendous impact in an area
Has a lasting impact in an area without needing to actively invest time
Has enabled others to adopt this mindset
The more that you try to own exclusively and create a single point of failure, the less effective you’ll be long-term. This is because you can only juggle so many things at once before you become ineffective. However, if you can have a great impact in areas to a degree where it’s felt long after you’re actively investing time and effort into it, it means that you’ve had opportunities since then to repeat it.
You can be replaced in a given area BECAUSE you delivered amazing value — but you’re an indispensable asset to an organization because you can go forth and repeat your successes in other areas. What organization wouldn’t strive to keep individuals like that?
Sounds like success in a role AND job security, to me.
As always, thanks so much for your support! I hope you enjoyed this issue, and I’ll see you next week.
Nick “Dev Leader” Cosentino
social@devleader.ca
Socials:
– Blog
– Dev Leader YouTube
– Follow on LinkedIn
– Dev Leader Instagram