<story><title>“Google” programmers. How one idiot hired a couple more idiots</title><url>https://pvs-studio.com/en/blog/posts/0952/</url></story><parent_chain><item><author>dexwiz</author><text>I have a parallel term I use, jiggle programmers. They can jiggle code around until it works, often working off existing code. They may become obsessed with refactoring because it&amp;#x27;s the only kind of programming they really understand.&lt;p&gt;They usually cannot write code from scratch, or when they do it contains a huge amount of plumbing copied from other familiar codebases without any reason for its purpose. It&amp;#x27;s kind of like they can read a foreign language, but they cannot speak it. Or maybe a parrot who can produce the sounds without the meaning.&lt;p&gt;I do think Google has caused some of this. But the other secret, I think it&amp;#x27;s how most people program by default. Animals largely learn by copying. The deconstruction of concepts to primitives, and synthesis of these primitives into new ideas if a very academic way to approach things. Centuries have proven this approach is superior, but it takes a huge amount of effort, and many things are lost in this process. (Ever do a physics problem with spherical cows?) With the rise of self-taught programmers, you will see more take this copying approach than the academic redistillation.</text></item></parent_chain><comment><author>com2kid</author><text>As someone who has kicked off multiple &amp;quot;from 0&amp;quot; projects, including a startup and been on the initial team doing an entire embedded runtime,&lt;p&gt;Blank source files are scary yo.&lt;p&gt;There are a near infinite number of choices that can be made when confronted with a blank file. And the ramifications of those initial choices will live on, possibly for decades! (I spent 10 years at Microsoft where it wasn&amp;#x27;t uncommon to come across 20+ year old code still in use.)&lt;p&gt;More than once I&amp;#x27;ve initialized a new project, started at my blank folder structure, and spent a few minutes thinking &amp;quot;here we go again&amp;quot;.</text></comment>
<story><title>“Google” programmers. How one idiot hired a couple more idiots</title><url>https://pvs-studio.com/en/blog/posts/0952/</url></story><parent_chain><item><author>dexwiz</author><text>I have a parallel term I use, jiggle programmers. They can jiggle code around until it works, often working off existing code. They may become obsessed with refactoring because it&amp;#x27;s the only kind of programming they really understand.&lt;p&gt;They usually cannot write code from scratch, or when they do it contains a huge amount of plumbing copied from other familiar codebases without any reason for its purpose. It&amp;#x27;s kind of like they can read a foreign language, but they cannot speak it. Or maybe a parrot who can produce the sounds without the meaning.&lt;p&gt;I do think Google has caused some of this. But the other secret, I think it&amp;#x27;s how most people program by default. Animals largely learn by copying. The deconstruction of concepts to primitives, and synthesis of these primitives into new ideas if a very academic way to approach things. Centuries have proven this approach is superior, but it takes a huge amount of effort, and many things are lost in this process. (Ever do a physics problem with spherical cows?) With the rise of self-taught programmers, you will see more take this copying approach than the academic redistillation.</text></item></parent_chain><comment><author>at-fates-hands</author><text>&amp;gt; They usually cannot write code from scratch&lt;p&gt;True&lt;p&gt;&amp;gt; I do think Google has caused some of this.&lt;p&gt;I think it a lot of it is the frameworks and people constantly trying to shortcut the method of building something with code. We have so many frameworks, tools, plugins and other stuff that it makes it easier NOT to learn anything deeply any more. Pick a JS Framework and I&amp;#x27;ll give you a dozen plugins or tools that have already been built to write your code for you. All you, as a developer have to do is string them together.&lt;p&gt;By building all of these shortcuts, no one &lt;i&gt;really&lt;/i&gt; needs to learn Angular, you have their site as a reference and tons of material to help you. Developers actually learn in the absence of knowledge where they have to sit down and learn it without knowing there is a crutch or fallback if they get stuck. I think today&amp;#x27;s developers just get as far as they can and then start googling for a solution because they know that someone has already built a date picker in ten different languages, thousands times already. Why go back and reinvent the wheel when you don&amp;#x27;t have to?&lt;p&gt;Because it creates lazy developers.&lt;p&gt;An entirely other issue is why learn some framework inside and out if its going to be obsolete in a few years? Remember when everybody loved Backbone and Express? You tell someone in the Dev community today you use either of those and you&amp;#x27;ll get laughed right out of the bar.&lt;p&gt;I think its just a lot of things that work against developers learning more than then they really need in any given situation.</text></comment>