The problem is how to determine how someone is smart.<p>In my company we had this very eloquent, outgoing person who implemented many features very fast. To the eyes of management he was a champ, the king of &quot;shipping&quot;.<p>But a little bit later things started to seem weird. Noone was productive except for this person. Only he could understand the code organization because the system wasn&#x27;t well structured. Then bug reports started coming in, later on the customer complaints started coming in, and incidents were declared. The guy failed to fix the incidents and got fired.<p>Later on, I got hired. By auditing the code base I identified multiple issues that suggested the person did not understand what he was doing.<p>So the eloquent, passionate, cool, outgoing guy turned to be productive because he was only doing 20% of the job. All non-functional requirements were neglected. Non-functional requirements are often implicit and taken for granted. Nobody tells you &quot;I want to not be hacked&quot; or &quot;I want our system to not slow down and go over capacity&quot;. Those are implicit requirements that you as an engineer need to identify, specify and implement.<p>The non-technical leadership realized this only 2 years down the road when a huge damage was already done.<p>So, I am going to say NO to this article. Skills are important.