メイン 技術 優れたプログラマーと優れたプログラマーの違いを見分ける方法

優れたプログラマーと優れたプログラマーの違いを見分ける方法

明日のためのあなたの星占い

コードの記述が科学である場合、すべての開発者はほとんど同じです。

アートと同じように、同じ結果のコードを書いている間、2人の開発者が同じ思考や認識や主観的な真実を持っていることはありません。

望ましい結果を生み出すのに苦労する人もいますが、プログラムを作成したり問題を解決したりするために座った瞬間にエピファニーが彼らを襲ったかのように、ほとんど自然に起こります。

ブログ投稿 、Steve McConnell(ソフトウェアエンジニアリングの専門家として引用)は、個々のプログラミングの生産性に大きなばらつきがあることを発見した最初の研究は、1960年代後半に、Sackman、Erikson、およびGrantによって実施されたと書いています。彼らは、最高のプログラマーと最悪のプログラマーの間の初期コーディング時間の比率が約20対1であることを発見しました。彼らは、プログラマーの経験量とコードの品質または生産性との間に関係を発見しませんでした。

この調査には欠陥がありましたが、それらを考慮した後でも、データは、最高のプログラマーと最悪のプログラマーの間で10倍以上の違いを示しています。

ロバート・アーバインの身長

Arkeneaでは、開発者の採用に5年以上の経験があり、優れたプログラマーと優れたプログラマーを区別することは、以前と同じように困難です。

それはユニークな挑戦ではありません。多くの大企業やさまざまな業界の企業が同じ問題に苦しんでいます。多くの人がさまざまなテストによってフィルタリングプロセスを作成しましたが、本当にアーティストをテストできますか?

正解はノーです。

プログラマーが優れたリソースであるかどうかを判断する際の要因は、優れたコードを書くことだけではありません。

しかし、方法があります。優れたプログラマーと優れたプログラマーを区別する他のいくつかの指標(コード記述の品質は別として)があります。

クリストファー・バーク、 Quora は、問題を解決するための実用的なプログラムを書くことができる人は誰でもプログラマーであることを強調しました。一方、優れたプログラマーとは、他の人と協力して、顧客が時間どおりに、不良率が低く、対人関係のドラマがほとんどまたはまったくない、使用に適した保守可能でエレガントなプログラムを作成するプログラマーです。

しかし、優れたプログラマーになるのは、アルゴリズムとアーキテクチャを直感的に理解し、ほとんど監督なしで自己矛盾のない大規模システムを構築でき、新しいアルゴリズムを発明でき、ライブシステムを壊すことなくリファクタリングでき、技術に関する非技術スタッフと効果的かつ協調的に通信できる人です。技術的でない問題、エゴを抑える方法を理解し、他の人に自分のスキルを教えることができます。

しかし、私の経験では、彼のプログラマーの定義を優れたプログラマーの定義と同一視し、優れたプログラマーの定義を優れたプログラマーの定義と同一視します。

クリストファーが優れたプログラマーと呼ぶ人は、彼または彼女のキャリアのこの段階に達したときに必ずしもコードを書くとは限りません。その人は、企業やその開発チームとより戦略的に協力して、製品の方向性を示します。基本的には、CTOのような人です。

問題が解決されるまで(問題に取り組むことと混同しないでください)問題にとどまる意欲と、それを創造的に解決する能力は、優れたプログラマーにのみ見られる非常に望ましいスキルまたは適性です。

ロビン・ミードが生まれた場所

では、典型的な質問ですが、優れたプログラマーをどのように特定しますか?この人はすぐにあなたの問題の根本にたどり着くことができるでしょう。彼または彼女はすぐに解決策を提供しないかもしれませんが、解決策に迅速かつ効果的に到達するための道筋を描くことができます。