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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m in a session now where I’ve corrected AI’s mistakes and it has corrected mine.</p>
<p>If AI could make me 3x as fast, I think the ideal is to let it make me only 2x as fast, and spend the gap on scrutinizing its work, tweaking it, having it scrutinize my tweaks, and coming up with higher quality output.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387533" 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/182">Post #181</a>
	                </div>
	            </div>
              <div id="likers-container-387533" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387533"
                     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 #181"></div>
  </section>
</div>
    <div class="postbit" id="387545" data-post-id="387545">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Saw this earlier and it made me think of this thread:</p>
<p>          <iframe class="tiktok-onebox" src="https://www.tiktok.com/embed/v2/7618127445673168159" frameborder="0" scrolling="no" style="
              min-width: 323px;
              height: 717.7777777777777px;
              border: 4px solid #fff;
              border-top: 3px solid #fff;
              background-color: #fff;
              border-radius: 9px;
              " seamless="seamless" sandbox="allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-presentation"></iframe>
</p>
<p>Humour, but does emphasise what might become an almost impossible (/unenviable) task, or represent the new role the majority of <em>employed</em> devs might shift into; reviewers of code written by LLMs rather than writing it themselves. This could shift the role of developer away from creativity (writing code) and more towards administration (reviewing code), to some degree anyway.</p>
<p>For those who end up having to review code it’s probably not going to be a very pleasant task/job, as indicated by the OP of this thread:</p>
<aside class="quote no-group" data-username="sergio" data-post="1" 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/sergio/48/26966_2.png" class="avatar"> sergio:</div>
<blockquote>
<p>Managing a team of 2 engineers, it’s become quite difficult to review and keep the slop out at the rate of features being built. I can’t imagine what it’s like with a team of 20 engineers. I know the status quo will not work <strong>period.</strong></p>
</blockquote>
</aside>
<p>Generally there’s more job satisfaction in creative roles than ‘mundane’ administrative ones.</p>
<p>Does make you wonder when things might reach breaking point - for devs. (Maybe we should do an annual “How satisfied are you as a developer poll” to see whether/how things change over 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="387545" 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/183">Post #182</a>
	                </div>
	            </div>
              <div id="likers-container-387545" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387545"
                     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 #182"></div>
  </section>
</div>
    <div class="postbit" id="387578" data-post-id="387578">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This is what I’m worried about as well. Creative work is turning into a wheel of fortune that I just need to spin enough times to get what I want. Or at least get something I can convince myself I wanted the whole time. And than fix all the things that are wrong with it instead of doing them well from the beginning.</p>
<p>And  don’t think that’s specific to software development. More and more I see people having to fix slop instead of being creative.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387578" data-batch-url="/posts/batch_likers">
                        4
                      </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/184">Post #183</a>
	                </div>
	            </div>
              <div id="likers-container-387578" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387578"
                     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 #183"></div>
  </section>
</div>
    <div class="postbit" id="387583" data-post-id="387583">
  <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">
								<aside class="quote no-group" data-username="AstonJ" data-post="183" 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/astonj/48/15_2.png" class="avatar"> AstonJ:</div>
<blockquote>
<p>his could shift the role of developer away from creativity (writing code) and more towards administration (reviewing code), to some degree anyway.</p>
</blockquote>
</aside>
<p>My take is the source is not Claude’s. It’s still yours, you just didn’t type it yourself verbatim, but you did type pretty all the input that was used to create it. That code is 100% yours, so you’re not a reviewer but still the author. Difficulties bridging the gap between explicit and direct on one side and indirect, often implicit &amp; semi-ambiguous on the other? Easy: revert back to an interim stage that suits you better - doesn’t need to be the code itself, can be just the stubs, key abstractions, behavio(u)rs, .. All those + your own implementation patterns are the inputs you must provide to Claude if you need the results resembling those when you do provide those same inputs to yourself (because otherwise you couldn’t do without).</p>
<p>I’m saying all this because I’ve discovered how relatively easy it is to do away with all the slop if you take on the responsibility of telling Claude to separate the concerns and sometimes even how exactly you need them separated (and keep feeding it your patterns). Claude itself already knows how to do it quite well, it’s just it’s not doing it by default. It’s default is to find the shortest way of implementing the provided requirements that works. I’d compare its code generation to water: If the shortest way down is through the floor then it will go through the floor. Not preventing it in doing so is our slop, not Claude’s. Claude can’t read our minds, let alone the thoughts that haven’t even been articulated yet. Therefore it’s slop in → slop out / quality in → quality out. No reviewers, still the authors.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387583" 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/185">Post #184</a>
	                </div>
	            </div>
              <div id="likers-container-387583" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387583"
                     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 #184"></div>
  </section>
</div>
    <div class="postbit" id="387656" data-post-id="387656">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="Sorc96" data-post="184" 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/sorc96/48/28361_2.png" class="avatar"> Sorc96:</div>
<blockquote>
<p>This is what I’m worried about as well. Creative work is turning into a wheel of fortune that I just need to spin enough times to get what I want. Or at least get something I can convince myself I wanted the whole time. And than fix all the things that are wrong with it instead of doing them well from the beginning.</p>
</blockquote>
</aside>
<p>My take is different.  The creative work now is more about learning and taming the tool than cranking out yet one more iteration of a function that I’ve probably written a dozen times in six languages in the last three decades.  It’s taken a couple of months of work to write the correct (gemini-cli) skills to get the results I want in a predictable way but the time invested has paid dividends.  Orchestration tools, multiple agents, correctly deconstructing tasks, precise prompts … the work really has changed from knowing syntax to knowing how to architect, plan, and construct useful tests.  I find using gemini to be more cognitively taxing than churning out code by hand, at least most of the time, but get verifiable results an order of magnitude faster.</p>
<p>I am an emacs user so “taming the tool” really feels like second nature.  <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="387656" 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/186">Post #185</a>
	                </div>
	            </div>
              <div id="likers-container-387656" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387656"
                     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 #185"></div>
  </section>
</div>
    <div class="postbit" id="388973" data-post-id="388973">
  <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">
								<p>To come up with a balanced opinion instead of wild guesses, I spent a whole week to code review <em>everything</em> we deliver. The vast majority of code in these PRs has been produced by Claude. Here are my observations.</p>
<ul>
<li>in a team of qualified engineers, able to state the task in a clean detailed manner, the outcome is robust enough</li>
<li>sometimes^W too often, the code looks like javascript written with elixir syntax (<code>if</code>s, <code>cond</code>s, <code>Access</code> via brackets everywhere, no <code>with/2</code>, no deep pattern matching, no multiple heads)</li>
</ul>
<p>That’s basically it. The code is ready for prod, it passes all the acceptance tests one might ever invent, but it makes my eyes bleeding and if I’m to be the next person to modify it, I’m to start with full rewrite of this crap to real elixir.</p>
<p>That being said, my personal battle now is to come up with rules for Claude to prefer elixir code over javascript written with elixir syntax. I resolved this issue for myself a century ago by teaching my agent on my own opensorce libs (I pointed her out there and told her, “this is a good code, write like that.”) Claude is so much more stupid, that a ruleset is most likely required.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388973" 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/187">Post #186</a>
	                </div>
	            </div>
              <div id="likers-container-388973" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388973"
                     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 #186"></div>
  </section>
</div>
    <div class="postbit" id="388976" data-post-id="388976">
  <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>Interesting.. my experience with its default syntax is quite different. It uses function clauses quite often (but forgets about adding a header-only above them), it never uses <code>if</code>, not even when it should, prefers matching with <code>case</code> against <code>nil</code> as the first clause instead of doing <code>if foo = get_foo( bar) do</code>, it uses <code>with</code> quite often, but yes, it likes to nest <code>case</code> and <code>cond</code>, ..</p>
<p>However, I’ve never used it on a greenfield yet, so it could be it tries to pick up some of the coding style it finds in the code base (it definitely didn’t find the patterns I’m complaining about here, though).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388976" 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/188">Post #187</a>
	                </div>
	            </div>
              <div id="likers-container-388976" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388976"
                     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 #187"></div>
  </section>
</div>
    <div class="postbit" id="388982" data-post-id="388982">
  <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="DaAnalyst" data-post="188" 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><code>if foo = get_foo( bar) do</code></p>
</blockquote>
</aside>
<p>This would never pass my CR <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"> I even thought about providing a PR to Elixir core to improve this particular construct to not break a scope (passing the whole argument to <code>if</code> down to the macro hygiene.)</p>
<p>This code leaves <code>foo</code> in the outer scope, which is, ahem, unexpected.</p>
<aside class="quote no-group" data-username="DaAnalyst" data-post="188" 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>my experience with its default syntax is quite different</p>
</blockquote>
</aside>
<p>Depends on the model, I guess.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388982" 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/189">Post #188</a>
	                </div>
	            </div>
              <div id="likers-container-388982" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388982"
                     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 #188"></div>
  </section>
</div>
    <div class="postbit" id="388989" data-post-id="388989">
  <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">
								<aside class="quote no-group" data-username="mudasobwa" data-post="189" 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>This code leaves <code>foo</code> in the outer scope, which is, ahem, unexpected</p>
</blockquote>
</aside>
<p>Now, that I did not know. 100% agreed. it shouldn’t. I wonder how this passed under the radar <a class="mention" href="/u/josevalim" rel="nofollow">@josevalim</a>.</p>
<p>However, that’s also “not my problem” (until it becomes <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_smile:" loading="lazy" width="20" height="20"> ).</p>
<p>Anyway, I like the if construct this way a lot - less LoC than using <code>case</code>, unless inlining results with their <code>-&gt;</code> which then becomes less readable, unless, of course, one aligns the results with tabs which then becomes un-Elixirish (and I guess the default formatter would revert it to new lines, not sure b/c I’m not using it).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388989" 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/190">Post #189</a>
	                </div>
	            </div>
              <div id="likers-container-388989" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388989"
                     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 #189"></div>
  </section>
</div>
    <div class="postbit" id="388990" data-post-id="388990">
  <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 quote-modified" data-username="DaAnalyst" data-post="190" 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 wonder how this passed […]</p>
</blockquote>
</aside>
<p><code>if/2</code> should not assume anything about its arguments, that’s why I never provided a PR. Having a dedicated clause to catch the developer’s unwillingness to produce idiomatic code is far beyond the scope of the standard library, I believe.</p>
<p>The outer scope gets <code>foo</code> assigned, so why <code>if/2</code> should even care about that?</p>
<p>I truly hate that elixir ever has <code>if/2</code>, let alone <code>unless/2</code>. I never use them in my code and I tend to get angry when I see them in the colleagues’ code. <code>if</code> conditional is the worst thing ever happened to programming languages. I can bear with one-handed <code>if</code> for side effects, that’s it. Two branches in <code>if</code> are simply contradictory to our life experience and erlang was all about mimicking our life experience.</p>
<p>We think like “if now it’s 5PM+, I’ll get my scotch,” but we rarely think “if now it’s 5PM+, I’ll get my scotch, otherwise I’ll take a shower.” ANd <code>if</code>s are extremely complicated to grasp.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388990" 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/191">Post #190</a>
	                </div>
	            </div>
              <div id="likers-container-388990" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388990"
                     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 #190"></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=20">Load more posts (6 remaining)</a>
</div></template></turbo-stream>