Ask HN: What made you change your mind about a programming language/paradigm?
Testing.<p>Unit testing to me seemed akin to drinking 8 glasses of water every day.  A lot of people talk about how important it is for your health, but it really tends to get in the way, and it doesn't seem to really be necessary.  Too frequently, code would change and mocks would need to change with it, removing a good chunk of the benefit of having the code under test.<p>Then I started writing integration testing while working on converting a bunch of code recently, and it has been eye-opening.  Instead of testing individual models and functions, I was testing the API response and DB changes, and <i>who really cares</i> what the code in the middle does and how it interfaces with other internal code?  So long as the API and DB are in the expected state, you can go muck about with the guts of your code all you want, while having the assurance that callers of your code are getting exactly out of it what you promise.<p>Unit test suites would break all the time for silly reasons, like someone optimizing a function would mean a spy wouldn't get called with the same intermediary data, and you'd have to stop and go fix the test code that was now broken, even though the actual code worked as intended.<p>Integration tests (mainly) only break when the code itself is broken and incorrect results are getting spit out.  This has prevented all kinds of issues from actually reaching customers during the conversion process, and isn't nearly so brittle as our unit tests were.