23

Refactored an authentication library a while back and teams are now getting around to updating their nuget packages.

It is a breaking change, but a simple one. The constructor takes a connection string, application name, and user name.

A dev messages me yesterday saying ...

Tom: "I made the required changes, but I'm getting a null reference exception when I try to use the authorization manager"

Odd because the changes have been in production for months in other apps, so I asked him to send me a screen shot of how he was using the class (see attached image below).

Me: "Send me a screenshot of how you are using the class"
<I look at what he sent>
Me: "Do you really not see the problem why it is not working?"
<about 10 minutes later>
Tom: "Do I need to pass a real connection string? The parameter hint didn't say exactly what I should pass."
<not true, but I wasn't going to embarrass him any more>
<5 minutes later>
Tom: "The authorization still isn't working"
Me: "Do you still have 'UserName' instead of the actual user name?"
<few minutes later>
Tom: "Authorization is working perfect, thanks!"

A little while later my manager messages me..

B:"I'm getting reports from managers that developers are having a lot of problems with the changes to the authorization nuget package. Were these changes tested? Can you work with the teams to get these issues resolved as soon as possible? I want this to be your top priority today."
Me: "It was Tom"
B: "Never mind."

Comments
  • 3
    Ah the joys of average .Net devs.

    Also, needs more autofac.
  • 3
    To be fair if you define an exception like InvalidConnectionString and throw that then Tom's shit for brains might have been able to figure out that he was the dumb one.
  • 1
    @vomitmachine
    Even so, ConnectionStrings is a well known configuration artifact that autowires in basically everything.
  • 1
    @SortOfTested Yeah, Tom should be able to figure something like this out. But throwing an exception that's descriptive can be helpful in a situation like this.
  • 2
    @vomitmachine
    I think I'm just too used to working with devs that can't figure it out even if I write the code for them. There's a staggering lack of qualification in the .net community.
  • 1
    @SortOfTested that's pretty scary. I've been writing .net for a few years now and I've seen some guys who are bad at structuring and organizing their code, but by no means bad coders. My team is going to need a new guy probably pretty soon and I'm hoping that's not going to be the case.
  • 1
    @vomitmachine
    At least where I'm at, the primary qualification is you're cheap. They like to see team compositions of one me equivalent, and 10-20 indian or eastern Europeans recent graduates. The latter usually at least write intelligible code, if not overly dogmatic.

    Even ones that aren't cheap or recent grads, I see a decided lack of interest in learning anything. They learned asp.net and MVC in 2007 and by Cthulhu, it's going to carry them to the end of their lackluster careers. Dotnet core? Sure! How do I deploy it under IIS, and what's all this about config is json? I don't json, where's my xml?! Learning powershell is the line, don't even mention bash. Isn't there a VS plugin to do the work for me? They're super thirsty for tech like Blazor because it means they don't have to learn anything new to deploy a SPA.

    Suffice it to say, they don't know enough to identify a correct solution, or weaknesses in an existing one. I can't abide an absence of intellectual curiosity.
  • 1
    @SortOfTested The mentality of getting into tech and letting yourself stagnate in terms of education always seem to baffle me. It's like you're there for the entry level money but then since you don't continue to educate yourself you're pigeon holeing yourself into one stack.

    I'll never be able to understand the lack of curiousity. Im thankfully sated by my day job, but I have a lot of hobbies for after work and try to keep those active every day and learning something new.
  • 7
    @vomitmachine throw new TomPleaseUseACorrectConnectionStringInsteadOfJustALiteralCONNECTION_STRINGException();
  • 1
    Some people omg hahhaha
  • 3
    @netikras throw new TomHasToastAndEggsForBrainsException()
Add Comment