I can't imagine being in a place where I don't care about how my code runs in production or scales.
Whether it's monolith or whatnot, what you really want is the "good dev team" part.
And in your case I don't know what you can't get the line number and stack trace from a microservice. Likewise you can get tracing between microservices using something like Zipkin.
Personally I think the "truth" lies in between. Bigger services that cover key functional areas.
This. What the GP was talking about is something like nano-services. Who really writes a whole service stack for every function?
In addition to functional areas, I also like a service when a single job needs to get done. For example, read message from queue, do some processing, put result somewhere. The beauty of the service here is I can write it once, test it, deploy and it just works. I don't have to worry about it randomly getting broken from code changes in a larger monolith.
People seem to forget that microservices isn't new. It's just SOA all over again.
Heck, I'd bet a lot of enterprise SOA is just a giant crufty monolith with a bunch of its functionality exposed via service endpoints. I suppose that a pretty decent approach - add endpoints to a monolith. As long as the service interfaces remain the same, you can bust it up into as many medium or micro sized services as are necessary on the back end and the users of your services won't notice the difference.
(Sub in any other reason to separate a service for 'heavy stuff' - written in a more appropriate language for the function, etc)
Then, with .NET it is much easier to end up with gigantic spaghetti solutions with projects that are all coupled to each other.
Coupling is the problem, learn to control coupling. If everything needs to know about everything, how do you expect to have a team that is capable of maintaining that?
If there is an issue in one those services it takes a long time to figure out which service was it and why it wasn't throwing a 500 error. Even if they throw 500 status codes you still don't get the nice line number and stack trace in a large application gives you.
I think the whole microservices thing is a mistake, I as a developer should not care how this application is running in production. I want to work on a large app and leave the deployment business to someone else. I get it that it's hard to scale a big application but it shouldn't be my concern.
I miss the old .NET days where I could run the app on my machine...