What I have changed my mind about in software development
Overall a pretty good article, however I do feel like the author misses the mark on a couple points.<p>&gt; Unit testing private methods.<p>As someone else pointed out this leads to accidental testing. I&#x27;m not a test zealot, I think 100% coverage is a fool&#x27;s errand, and I think TDD is an abomination, but well-structured, well-thought-out tests can be a game changer when used appropriately. Testing things by accident has inevitably lead me to finishing some piece of work then spending half a day or more tracking down why some test failed inexplicably.<p>&gt; Using an IDE.<p>I think a better point here is to get really good with whatever tool you use. If you know every incantation in vim you&#x27;re going to be amazingly productive. If you know every keyboard shortcut in IntelliJ you&#x27;ll be as effective, but probably not much more. The person who knows vim or emacs in and out will beat the person clicking around in an IDE every day of the week.<p>That being said some of it is spot on in my admittedly limited experience (only about 13 years or so, in a handful of industries, never FAANG-level scale). The point about commenting problem areas in the <i>domain</i> has really changed my approach to comments. I don&#x27;t write any comments about what the code is doing unless it&#x27;s a &quot;here be dragons, don&#x27;t change $X unless you&#x27;re free the rest of the week&quot; kind of warnings. But I comment extensively why the business or regulation requires A or B to happen instead of the more straightforward C.<p>The ChatGPT bit as well matches my experience. For well-defined things where it&#x27;s hard for ChatGPT to make the answer up, and easy for you to verify if it does (or at least low-damage), it&#x27;s worth the $20&#x2F;mo IMO. I tried using it to learn CDK and while I&#x27;m not sure it saved me any time, it did save me from having to trawl through AWS documentation.