Yeah... I mean give me layers of interfaces, indirection and dependency injection that&#x27;s hard to follow.  Class structures that don&#x27;t flow well for procedural workflows.  Projects with dead end code paths because they are so big no one person understands even half of it.  I mean, these are such great things.<p>I&#x27;ve totally missed them in modern JS development, and haven&#x27;t been fighting against many of these practices for years now at all (&#x2F;sarcasm).<p>Seriously though, my biggest issue with JS development today is people that don&#x27;t understand patterns beyond what they use in C# and Java, and don&#x27;t want to keep things simple and easy to reason about.  Most C# and Java applications I&#x27;ve worked with have many layers of unnecessary complexity for the sake of, more because &quot;that&#x27;s how it&#x27;s done in &#x27;Enterprise&#x27; software&quot; more than it is about what&#x27;s truly needed.<p>I actually really like C#, and the thought of being able to use some of the features really appeals to me.  That said, actually working with solutions common from .Net, I&#x27;ve been happier without it.  I&#x27;ve spent the better part of my time the past 4-5 years migrating away from .Net solutions to Node based ones... once you get past people trying to implement overly complex patterns and embracing &quot;the node way&quot; of simple, composable, functional modules... it can and does go much more smoothly.<p>--- edit:<p>When I say complexity for the sake of... it&#x27;s usually for the purpose of testability, often in scenarios that don&#x27;t have tests, and beyond that aren&#x27;t trying to target multiple implementations of an interface.  Even then, with JS you don&#x27;t need the added constraints.  I know there are &quot;contract&quot; concerns, but what that gets you is WS-* and SOAP&#x2F;WSDL hell that nobody really understands vs easy to reason REST&#x2F;JSON services.  In the end, having simple systems where you have to learn a bit of convention tends to be easier than complex systems with layers of indirection.