<story><title>How Going Back to Coding After 10 Years Almost Crushed Me</title><url>https://betterprogramming.pub/how-going-back-to-coding-after-10-years-almost-crushed-me-88c85ceb5376</url></story><parent_chain><item><author>void_mint</author><text>&amp;gt; yet no one seems to agree with me that devs should not write their own tests.&lt;p&gt;I&amp;#x27;ll die on this hill. The developer that wrote the code by definition cannot write an appropriate test suite for it. It is entirely possible&amp;#x2F;probable that details missed in implementation will be missed entirely in test, as the developer missed them.&lt;p&gt;&amp;lt; controversial take&amp;gt; Manual QA promotes bad habits and is not a great thing to introduce to an org. SDETs&amp;#x2F;QA Engineers&amp;#x2F;Developers whose role is explicitly to create tests for an org are worth their salary 10x. &amp;lt;&amp;#x2F; controversial take &amp;gt;</text></item><item><author>01100011</author><text>I&amp;#x27;m at a FANG with some of the smartest people I have ever encountered in my life, yet no one seems to agree with me that devs should not write their own tests.&lt;p&gt;There is an unwavering belief that knowing the corner cases and weak points of your own code makes you somehow better at writing the tests.  We also seem to be obsessed with testing that is half-way between unit level testing and system level testing.  We test APIs and features more or less in isolation.&lt;p&gt;Tests should be written by antagonistic developers who are not at all familiar with the code.  They should stress the capabilities promised in the interface documentation.  Hiring more people who are dedicated to testing costs a lot of money though.  I don&amp;#x27;t see things changing anytime soon.</text></item><item><author>diydsp</author><text>&amp;gt;developers now own the test writing and CI infrastructure runs and reports the tests. It has really made software more reliable&lt;p&gt;I switched from medical, with fierce QA, to more general SW dev over the last 3 years.  Developers waste time writing braindead unit tests and don&amp;#x27;t stress their software like QA teams.  Major bugs run undetected for weeks and cause chaos. Managers grin believing they&amp;#x27;re net-ahead.</text></item></parent_chain><comment><author>marcus_holmes</author><text>There should be both.&lt;p&gt;Unit tests written by devs are not testing that the system does what it is supposed to do. They&amp;#x27;re testing that the code does what the programmer intended it to do. They have to be written by the programmer because they&amp;#x27;re coupled with the code.&lt;p&gt;There&amp;#x27;s a separate testing process needed (as you say) that tests if the system does the thing it&amp;#x27;s supposed to do. The programmer cannot do this, precisely because it&amp;#x27;s basically testing their understanding of the requirements.&lt;p&gt;I have my co-founders Q&amp;amp;A everything before rolling out to production. It&amp;#x27;s a pain, but it&amp;#x27;s saved us a few headaches where I was just following the golden path and missed some obvious problems.</text></comment>
<story><title>How Going Back to Coding After 10 Years Almost Crushed Me</title><url>https://betterprogramming.pub/how-going-back-to-coding-after-10-years-almost-crushed-me-88c85ceb5376</url></story><parent_chain><item><author>void_mint</author><text>&amp;gt; yet no one seems to agree with me that devs should not write their own tests.&lt;p&gt;I&amp;#x27;ll die on this hill. The developer that wrote the code by definition cannot write an appropriate test suite for it. It is entirely possible&amp;#x2F;probable that details missed in implementation will be missed entirely in test, as the developer missed them.&lt;p&gt;&amp;lt; controversial take&amp;gt; Manual QA promotes bad habits and is not a great thing to introduce to an org. SDETs&amp;#x2F;QA Engineers&amp;#x2F;Developers whose role is explicitly to create tests for an org are worth their salary 10x. &amp;lt;&amp;#x2F; controversial take &amp;gt;</text></item><item><author>01100011</author><text>I&amp;#x27;m at a FANG with some of the smartest people I have ever encountered in my life, yet no one seems to agree with me that devs should not write their own tests.&lt;p&gt;There is an unwavering belief that knowing the corner cases and weak points of your own code makes you somehow better at writing the tests.  We also seem to be obsessed with testing that is half-way between unit level testing and system level testing.  We test APIs and features more or less in isolation.&lt;p&gt;Tests should be written by antagonistic developers who are not at all familiar with the code.  They should stress the capabilities promised in the interface documentation.  Hiring more people who are dedicated to testing costs a lot of money though.  I don&amp;#x27;t see things changing anytime soon.</text></item><item><author>diydsp</author><text>&amp;gt;developers now own the test writing and CI infrastructure runs and reports the tests. It has really made software more reliable&lt;p&gt;I switched from medical, with fierce QA, to more general SW dev over the last 3 years.  Developers waste time writing braindead unit tests and don&amp;#x27;t stress their software like QA teams.  Major bugs run undetected for weeks and cause chaos. Managers grin believing they&amp;#x27;re net-ahead.</text></item></parent_chain><comment><author>EdwardDiego</author><text>I&amp;#x27;m with you on that hill. Good QA have a vastly different mindset to devs - and they&amp;#x27;re not prone to the unconscious tunnel vision you develop when writing code that assumes a particular approach.&lt;p&gt;However, I have to say, depending on your product, some of the best damn QA I&amp;#x27;ve worked with aren&amp;#x27;t writing integration tests, at most they&amp;#x27;re using SQL to get the DB into an appropriate state, and then they&amp;#x27;re doing the rest manually, but it&amp;#x27;s really about their mindset, manual is just the easiest approach for them. Manual encompassing &amp;quot;click on the thing&amp;quot; as well as &amp;quot;hit the endpoint with Postman&amp;quot;.&lt;p&gt;It&amp;#x27;s their mindset I value most. And some of the best pairing I&amp;#x27;ve ever done is with a QA to write integration tests.</text></comment>