Isn't that "for some reason" in C# being it's the standard way of doing dependency injection and being able to unit test/mock objects?
I've found it easier to work in C# codebases that just drank the Microsoft Kool-Aid with "Clean architecture" instead of Frankenstein-esque C# projects that decidedly could do it better or didn't care or know better.
Abstraction/design patterns can be abused, but in C#, "too many interfaces" doesn't seem that problematic.
While I do occasionally encounter people rambling on about nothingburgers in meetings, I get more irked that the status quo at my workplace is people just sit there silently, contributing nothing in medium sized (6-12 people) meetings. It just seems like nobody wants to risk saying something that might be challenged or "seem dumb", as if they are all suffering from imposter syndrome.
Recently a fellow developer was doing a demo of an automated UI testing suite and how it could apply to our product, and when it came time for questions or to show any sort of interest at all, its just crickets. I feel obligated to participate in situations like these, reach for questions or at least acknowledge other's hard work, because nobody else seems to want to. For me its frustrating, I wish I were surrounded by people that are more willing to give their 2 cents, even if it means a little bit longer meeting, rather than staring at a sea of blank faces that don't bother to queue their mic for the entire meeting.
Isn't it reasonable to assume the person spending a lot of extra time programming will generally become a better programmer than someone who doesn't? I'm aware that there are many factors that have nothing to do with raw programming skills which are factors of job performance. But considering the day to day duties of most junior/ic roles often consists mostly of programming, shouldn't this extra time spent programming make them, at least eventually, better, more efficient developers on-the-clock?
While I (thankfully) haven't had to write Markdown from my phone, I think this is might be worth exploring. I have very similar experiences trying to find common programming symbols in the Google keyboard on my Pixel.
I've found it easier to work in C# codebases that just drank the Microsoft Kool-Aid with "Clean architecture" instead of Frankenstein-esque C# projects that decidedly could do it better or didn't care or know better.
Abstraction/design patterns can be abused, but in C#, "too many interfaces" doesn't seem that problematic.