<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="387314" data-post-id="387314">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="adamu" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/adamu/120/31482_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  adamu
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="egeersoz" data-post="117" data-topic="74851">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/egeersoz/48/15704_2.png" class="avatar"> egeersoz:</div>
<blockquote>
<p>I think using PR review as the venue for design discussion, mentorship and shared understanding is already a smell, and AI simply exposes it. By the time code is written, the expensive decisions are locked in: arguing about an abstraction in a review comment means somebody’s either redoing the work, or, more likely, shipping it anyway because the reviewer doesn’t want to be the jerk. That conversation needed to happen before a single character was typed (or generated), i.e. at the design doc, the whiteboard, the “hey can I think out loud for ten minutes” Slack huddle. Reviews are a terrible forum for it because the sunk cost is already on the table.</p>
</blockquote>
</aside>
<p>I don’t understand why writing code is a sunk cost, but design docs, whiteboards, and Slack huddles are not. The code <em>is</em> the design and can be changed or reworked if it’s not right. Sometimes we don’t know the implications of our ideas until we’ve implemented them, sometimes more than once - writing the code is a necessary part of that process, not the final step. Some issues won’t be identifiable until they’re deployed to a running system, but I think a few iterations <em>in code</em> of some features can highlight design issues and be far less costly than going with the first design a person comes up with (or generates with an LLM), and then trying to coerce that into what it should have been by expensive patches to a running system.</p>
<aside class="quote no-group" data-username="egeersoz" data-post="122" data-topic="74851">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/egeersoz/48/15704_2.png" class="avatar"> egeersoz:</div>
<blockquote>
<p>I’m not a code author anymore. I’m a product author and the code is just the medium.</p>
</blockquote>
</aside>
<p>I <a href="https://www.anildash.com/2026/02/11/coding-agents-as-the-new-compilers/" rel="noopener nofollow ugc">hear this often</a> but I’m not there yet. I still feel that the code is the design and is inextricable from the product.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387314" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/engineering-leads-what-are-you-doing-to-stop-the-slop/74851/132">Post #131</a>
	                </div>
	            </div>
              <div id="likers-container-387314" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387314"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #131"></div>
  </section>
</div>
    <div class="postbit" id="387316" data-post-id="387316">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mudasobwa" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mudasobwa/120/5298_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mudasobwa
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Cure</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="egeersoz" data-post="122" data-topic="74851">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/egeersoz/48/15704_2.png" class="avatar"> egeersoz:</div>
<blockquote>
<p>I’m not a code author anymore. I’m a product author and the code is just the medium.</p>
</blockquote>
</aside>
<p>Mind to share a github link to any of the products you authored?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387316" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/engineering-leads-what-are-you-doing-to-stop-the-slop/74851/133">Post #132</a>
	                </div>
	            </div>
              <div id="likers-container-387316" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387316"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #132"></div>
  </section>
</div>
    <div class="postbit" id="387324" data-post-id="387324">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="adamu" data-post="132" data-topic="74851">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/adamu/48/31482_2.png" class="avatar"> adamu:</div>
<blockquote>
<p>I <a href="https://www.anildash.com/2026/02/11/coding-agents-as-the-new-compilers/" rel="noopener nofollow ugc">hear this often</a> but I’m not there yet. I still feel that the code is the design and is inextricable from the product.</p>
</blockquote>
</aside>
<p>I am somewhere along the way of “being an architect and a reviewer 80% of the time and a coder 20% of the time”. It’s a dangerous position to be in and you <em>can</em> lose your boots-on-the-ground skills but it really depends on the person. In my case, I’ve coded by hand <em>so damned much</em> that I don’t miss it lately. It feels like “sh1t gets real if Dimi has to code by hand” and my mind is sharper than before because I can maintain a birds-eye view much better than before (when I was stuck in the coding trenches 95% of the time).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387324" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/engineering-leads-what-are-you-doing-to-stop-the-slop/74851/134">Post #133</a>
	                </div>
	            </div>
              <div id="likers-container-387324" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387324"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #133"></div>
  </section>
</div>
    <div class="postbit" id="387325" data-post-id="387325">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="DaAnalyst" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  DaAnalyst
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>In the meantime (since my last LLM-related rant) I’ve started using Claude (Opus 4.6 now 4.7), a max subscription.</p>
<p>Have to admit it has changed my (work) life and I must retract much of my earlier skepticism. What used to take days, now takes hour(s). What used to take hours now takes (tens of) minutes.</p>
<p>As for the slop Claude (still) tends to produce with anything (any function body) spanning more than a couple of LoC my recipe is simple: review, tell it to fix it and how or fix it yourself (when it’s just several LoC) and tell it to acknowledge and memorize the change and why it was made. There’s no guarantee it won’t repeat it, but at least I know I did what I could to teach it.</p>
<p>Also, it really is better at generating correct code in Elixir than in JS. In JS it sometimes “forgets” about the implications of the side effects (at least for web components).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387325" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/engineering-leads-what-are-you-doing-to-stop-the-slop/74851/135">Post #134</a>
	                </div>
	            </div>
              <div id="likers-container-387325" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387325"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #134"></div>
  </section>
</div>
    <div class="postbit" id="387327" data-post-id="387327">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="DaAnalyst" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  DaAnalyst
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I still like to code or abstract patterns and behavio(u)rs myself. Sometimes even the first couple of cross-aspect cutting implementations. Then I give it (Claude) those to learn from how I want the rest of it to be done. It’s fantastic at applying patterns and it definitely generates less slop that way.</p>
<p>Also, since it’s not really real-time, often it’s still faster doing something (isolated/localized) manually.</p>
<p>PS. Love the fact that Claude immediately adopted my coding/formatting style (due to which I’ve never used <code>mix format</code>). Finally I have “someone” to code the way I do <img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji" alt=":smiley:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387327" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/engineering-leads-what-are-you-doing-to-stop-the-slop/74851/136">Post #135</a>
	                </div>
	            </div>
              <div id="likers-container-387327" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387327"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #135"></div>
  </section>
</div>
    <div class="postbit" id="387336" data-post-id="387336">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lud" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lud/120/14382_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lud
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<blockquote>
<p>I am somewhere along the way of “being an architect and a reviewer 80% of the time and a coder 20% of the time”.</p>
</blockquote>
<p>I was there too but recently I’m back to ai-assisted engineer. The code that is produced is not good enough to my taste.</p>
<p>Twice I did ask Claude Opus to generate a simple feature covered with tests, and then I commited the tests to a base branch, commited Claude’s implementation on a branch <code>A</code>, and implemented my own version on branch <code>B</code> based on the same tests. Both times my code was simpler, shorter, as performant if not more. I asked Claude to review both branches and compare them, without telling who was the author, and Claude agreed with me that his code was sub par.</p>
<p>Now this was for important pieces. I let Claude implement a lot of trivial things, and a lot of tests. But I do have the time to make thorough reviews, and write code by hand, so I keep doing it, for the sake of quality and mostly maintainability.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387336" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/engineering-leads-what-are-you-doing-to-stop-the-slop/74851/137">Post #136</a>
	                </div>
	            </div>
              <div id="likers-container-387336" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387336"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #136"></div>
  </section>
</div>
    <div class="postbit" id="387340" data-post-id="387340">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="egeersoz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/egeersoz/120/15704_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  egeersoz
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="mudasobwa" data-post="133" data-topic="74851">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mudasobwa/48/5298_2.png" class="avatar"> mudasobwa:</div>
<blockquote>
<p>Mind to share a github link to any of the products you authored?</p>
</blockquote>
</aside>
<p>Alas, all the beautiful products I’m authoring are private. <img src="https://forum.elixirforum.com/images/emoji/apple/slightly_smiling_face.png?v=15" title=":slightly_smiling_face:" class="emoji" alt=":slightly_smiling_face:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387340" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/engineering-leads-what-are-you-doing-to-stop-the-slop/74851/138">Post #137</a>
	                </div>
	            </div>
              <div id="likers-container-387340" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387340"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #137"></div>
  </section>
</div>
    <div class="postbit" id="387342" data-post-id="387342">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="DaAnalyst" data-post="136" data-topic="74851">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/d/278dde/48.png" class="avatar"> DaAnalyst:</div>
<blockquote>
<p>I still like to code or abstract patterns and behavio(u)rs myself. Sometimes even the first couple of cross-aspect cutting implementations. Then I give it (Claude) those to learn from how I want the rest of it to be done. It’s fantastic at applying patterns and it definitely generates less slop that way.</p>
</blockquote>
</aside>
<p>Indeed. You are discovering what many of us discover as well: you <em>can</em> find a way to work with Claude so it does good and serious work with high quality. It’s not automatic. It requires a skilled operator applying their own spices and bling.</p>
<p>Some argue that they would prefer spending the time to keep honing their coding skills. That’s their prerogative and I accept their choice with zero snark and zero sense of superiority, or generally – with no rejection of their way in any form.</p>
<p>That being said, we all swing in certain directions. I am very glad to spend my time becoming a better architect, data modeler and generally a better strategist, compared to forever grinding tactical skills 95% of which I have perfected 5-6 years ago (if not 10).</p>
<p>To me high-quality models like Claude Opus have been <em>liberating</em>. They liberated me from the tyranny of caring about “must private functions always be at the end of the file?” or “does <code>require</code> go before <code>alias</code> or vice versa?” and freed my mental bandwidth to ask questions like “but <em>how</em> and <em>why</em> is our interest calculation pipeline structured this way?” and “we need to add more product types soon, so let’s rearchitect the code to allow extension and configurability and pluggability”.</p>
<p>In a way, models like Claude ended a bunch of pointless bickering the same way code formatters ended most code formatting debates. But on a much bigger scale.</p>
<p>I don’t miss being a soldier in the trenches. Or I miss it 1-2 hours a month now.</p>
<p><sub><em>(Of course there’s a lot that can be said about <em>why</em> did I allow myself, a guy soon entering his middle age and having 24 years of career of fairly successful programming endeavors, be treated like a front soldier. A topic for another, more appropriate, forum thread. In the Future™.)</em></sub></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387342" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/engineering-leads-what-are-you-doing-to-stop-the-slop/74851/139">Post #138</a>
	                </div>
	            </div>
              <div id="likers-container-387342" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387342"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #138"></div>
  </section>
</div>
    <div class="postbit" id="387346" data-post-id="387346">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="egeersoz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/egeersoz/120/15704_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  egeersoz
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="dimitarvp" data-post="139" data-topic="74851">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>To me high-quality models like Claude Opus have been <em>liberating</em>. They liberated me from the tyranny of caring about “must private functions always be at the end of the file?” or “does <code>require</code> go before <code>alias</code> or vice versa?” and freed my mental bandwidth to ask questions like “but <em>how</em> and <em>why</em> is our interest calculation pipeline structured this way?” and “we need to add more product types soon, so let’s rearchitect the code to allow extension and configurability and pluggability”.</p>
</blockquote>
</aside>
<p>Yeah, this matches my experience. You can focus on the actually important and high-leverage decisions, instead of dealing with constant streams of stuff like “hmm, how can I arrange these parameters so that I can pipe the upstream function into this one… ah ****, but then it won’t be consistent with other functions in this module… what if I added a second clause… great, now dialyzer is complaining… oh man it’s 5 PM already…”</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387346" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/engineering-leads-what-are-you-doing-to-stop-the-slop/74851/140">Post #139</a>
	                </div>
	            </div>
              <div id="likers-container-387346" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387346"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #139"></div>
  </section>
</div>
    <div class="postbit" id="387347" data-post-id="387347">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Vidar" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Vidar
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This is a long thread, so I’ll just aim for a reply at the end here.</p>
<p>For me there is no real conflict between using AI or code by hand. The reasons are not the usual ones discussed:</p>
<ul>
<li>
<p>Over a certain threshold of complexity in code or domain I’m simply not able to write optimal code by hand in a given time frame. I truly wish that the alternative to AI code was beautiful elegant best-practice hand-crafted code. My realistic choice though is between less than optimal human code with potential errors, or less than optimal AI code with potential errors. The latter is much much faster though even after including more tests.</p>
</li>
<li>
<p>Over a (rather low) threshold for the volume of code there is no way for me to keep up with the AI. That includes reviewing the code as it is not humanly possible to review the code at the same speed the AI generates it. For most projects I could not possibly even type fast enough to produce the code, and far less plan and implement it properly.<br>
For some of these projects hand coding is not a viable alternative due to capacity and or economy. For these it is either AI coding or no project. The question then is all about how to make the AI do them good enough, and implement automated reviews and testing to confirm that.</p>
</li>
<li>
<p>The AI is very good at picking up formal information and new domains and using that to implement new code as required. It can read through dozens of very specialized scientific articles faster than I could learn the 101 about the subject. The resulting code is effectively a black box as far as I’m concerned, but provided I can confidently confirm and test that the black box works as required I’m ok with that. I also use some libraries that are sometimes like black boxes to me. If I were making medical equipment or plane autopilots I would reconsider, but that’s just not where I’m at.</p>
</li>
</ul>
<p>For me AI coding is going to stay around for reasons of pure productivity, economic value, and me simply being happier with it than without. (Also way more frustrated at times than without, but who is counting?) Realizing that I would be in it for the long haul my attention turned to how to make the AI do productive code. Or said another way in honor of this thread: How to stop the slop? There are many different philosophies and directions for that out there, and I have not tested half of them. My preference is to keep it simple. So I try to fight the slop in 4-5 ways:</p>
<ol>
<li>Good requirements/ specifications, and ideally a feedback loop the AI can use.</li>
<li>Comprehensive skills covering all touched bases. Improve with use.</li>
<li>Testing.</li>
<li>Automated reviewing using tools such as Credo, Dialyzer and Sobelow. Then a tool I use for automated review of code architecture, boundaries, OTP etc. And having the AI review the code using the skills.</li>
<li>Iterate. The first go is often a learning process and about just prototyping making something work. The next round both the specifications and plans are much better, and the results are better too. With AI the iteration is faster than ever.</li>
</ol> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387347" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/engineering-leads-what-are-you-doing-to-stop-the-slop/74851/141">Post #140</a>
	                </div>
	            </div>
              <div id="likers-container-387347" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387347"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #140"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/74851/load_more?page=15">Load more posts (56 remaining)</a>
</div></template></turbo-stream>