Straight Line Thinkers: The Reality Behind 10x Programmers

<p>Recently, I have watched a video of Dave Farley talking about that&nbsp;<a href="https://youtu.be/aPSk2f3Vkz0" rel="noopener ugc nofollow" target="_blank">coding is, in fact, design</a>. In the 20-minute video, there was one concept that shocked me:&nbsp;<a href="https://www.youtube.com/clip/UgkxGHvUWxIuVgIH29PfbcFFnJrsuHYCQtAt" rel="noopener ugc nofollow" target="_blank">the straight line thinker programmer</a>. That wording, although previously unknown to me, uncovered something that was already familiar. A kind of developer, that seems very practical, that delivers a lot, but, somehow, dooms every development.</p> <p>This concept is also in line with the thinking of other roles. Often, when we ask a developer to implement some feature, we want it done right away. We do not want developers to waste time or create abstract artifacts that have no value. So, we value the ability to create the simplest implementation. But that is the catch.</p> <p>According to the classification of Dave Farley,&nbsp;<strong>straight line thinker programmers would implement the most obvious solution</strong>. If we need to show a price, they would add a simple piece of code to retrieve it and show it where needed. If some new functionality is added, and they already have a piece of code that seems to work, they will extend it to reuse it. And so on. They will create code and connections as needed via the path of least resistance.</p> <p>And that is the problem.&nbsp;If we imagine code as hints of a crime on a board, we can imagine a developer as the investigator who adds new hints and connects them with pins and threads. The straight line thinker will put the new hint in a good enough spot, and then connect. In just a few iterations, the board will become a mess.</p> <p><a href="https://drpicox.medium.com/straight-line-thinkers-the-reality-behind-10x-programmers-688e59afa7c7">Read More</a></p>