Things I Believe About Software Engineering
&gt; The fact that current testing practices are considered &quot;effective&quot; is an indictment of the incredibly low standards of the software industry.<p>This is an interesting one. I first took it to mean &#x27;current testing practices are inadequate&#x27;, which isn&#x27;t an extreme opinion, and one I bet 99% of HN agrees with. It&#x27;s &#x27;common wisdom&#x27; that teams should be doing more testing, TDD, etc.<p>But now that I read it again, it&#x27;s specifically saying that current testing practices are &#x27;ineffective&#x27;, not &#x27;inadequate&#x27;, which would indicate we should be doing less or even none of it. &#x27;ineffective&#x27; to me means worse than nothing, since testing, like anything, has a cost. (time wasted, more code to maintain, lower morale etc)<p>I&#x27;m not sure which the author meant. But I do think the latter is a hot take, and I get the feeling I&#x27;m in the minority in agreeing with it.<p>I&#x27;m reminded of this PG quote (obviously written a while ago):<p>&quot;Indeed, these statistics about Cobol or Java being the most popular language can be misleading. What we ought to look at, if we want to know what tools are best, is what hackers choose when they can choose freely-- that is, in projects of their own. When you ask that question, you find that open source operating systems already have a dominant market share, and the number one language is probably Perl.&quot;<p>If I think about what I&#x27;ve written unit tests for at home, that&#x27;d be a bunch of maths-y stuff that I was having trouble debugging, and a few functions here and there that I consider &#x27;tricky&#x27; and want a bit of extra peace of mind for.<p>When I&#x27;m building web apps at home though, like I always do at work, how much of it do I write unit tests for? Zero. I can&#x27;t quantify why. I just <i>know</i> intrinsically that they&#x27;re useless and it&#x27;s a waste of time. I just <i>know</i> that 95% of my code works and I <i>know</i> what the 5% I&#x27;m unsure about is and what manual testing or browser testing I need to do to clarify it.<p>If anyone on my team at work ever said that, everyone would look at them like they just took a shit on the carpet (including me, because I&#x27;m happy to smile and nod for the right salary).<p>Then there&#x27;s this, from the same essay:<p>&quot;One difference I&#x27;ve noticed between great hackers and smart people in general is that hackers are more politically incorrect. To the extent there is a secret handshake among good hackers, it&#x27;s when they know one another well enough to express opinions that would get them stoned to death by the general public. And I can see why political incorrectness would be a useful quality in programming. Programs are very complex and, at least in the hands of good programmers, very fluid. In such situations it&#x27;s helpful to have a habit of questioning assumptions.&quot;<p>I definitely know a few coders I&#x27;ve worked with who I&#x27;d be comfortable raising my views on testing with. We might differ on the details (I quite like browser tests, don&#x27;t find a lot of value in snapshot testing most of the time, we might unit test a different tiny subset of the app etc), but by and large we&#x27;d agree that most common testing is a crock. And coincidentally, they&#x27;re all the devs that I think write fantastic code, and that I&#x27;d happily build a startup with.<p>Anyway, that&#x27;s my Thing I Believe About Software Engineering, with a bit more clarification than OP&#x27;s ones.