「良いプログラマー」とは誰ですか?

私が始めた記事がどのように終わるか、私自身が知らないことに気づいたのはこれが初めてではありません。 たとえば、最近、企業新聞に.NETの方向性について短いメモを書くように頼まれました。 私は方向を選択し、それを開発し始めました。その結果、.NETがまったく表示されない記事を手に入れました。 したがって、今回は哲学的なトピックを継続しますが、前回良いアーキテクチャについて話していた場合、今回は正しいプログラマーとは何か、正しい方向に進むために時々尋ねるべき質問について話します。



優秀なプログラマーと平凡なプログラマーの違いは何ですか? そして、自分で優れたプログラマーになり、友人や同僚の間で「名誉と尊敬」を得るにはどうすればいいですか?







正直なところ、わかりません。 「良いプログラマー」というフレーズの意味を言うのは難しい場合がよくあります。 一方では、「良い」プログラマーは必然的にメガネとストレッチセーターのオタクであり、プログラミングオリンピアードの勝者であり、6桁の数字を掛けてバイナリ形式でマシンコードを直接読み取ることができると考えることに慣れています。 一方、インタビューでは「良い」プログラマーを見つけようとし、そこには他の選択基準があります。オリンピアードの勝者はそれほど多くないが、「リーディング」および「メイン」のものには多くの空きがあるため、このバーはより平凡なものになりますレベル。 そのため、インタビューでは、より単純な質問をします(または質問します)。特定の言語や技術に関する何か。その結果、候補者の頭の中で考える能力ではなく、記憶がチェックされます。



あなたの頭で考えますか? まあ、これは優秀なプログラマーの非常に優れた特徴的な機能です。 好むと好まざるとにかかわらず、私たちをこの職業に導いたのは、頭の中にある灰色の(または何であれ)物質です。 そして、プロのプログラマーがほとんどの時間をこれを行うことで生計を立てているのはまさに「思考」です。 もしそうなら、一般的に受け入れられている意味で優秀なプログラマーではないにしても、昨日と比べて少なくとも少し良くなる方法を考えてみてください。



私たちの多くは、私たちのお気に入りのプロジェクトの開発における別の反復の後、回顧を実行します。 レトロスペクティブは、最小限の緊急問題が提起され、解決される問題がさらに少なくなる退屈な会議です。 しかし、時々、チームメンバーの何人かに、解決すべきタスクを新たに見させ、日常業務で何かを変更するように強制することがあります。 一般に、これは機能します。 常にではありませんが、動作します。 そして、これが機能するので、開発プロセスを改善するだけでなく、プログラマーとしての自分自身を改善するためにも、同じアプローチを適用してみてはどうでしょうか? 自分自身にいくつかの質問をしてみてください。その答えは、私たちがどの方向に進んでいるかを理解するのに役立ちますか?



たとえば、次のような質問をどのくらい頻繁に自問しますか。「今日のコードと6か月前のコードの違いは何ですか? 彼は良くなっているのでしょうか、それともすでに完璧を達成しているのでしょうか? この間、ソフトウェア開発に関するあなたの見解はどのように変わりましたか? この無限の領域から何を学びましたか? 「生産の必要性」のためではなく、興味のために何かを書いたのはいつですか? 技術的な質問で誰かを助けたのはいつですか?」



もちろん、これらの質問に対する答えは、あなたが優秀なプログラマーであるかどうかを示すものではありません。 その意味は、あなたがその場で「より良く」なっているのか、それとも踏みつけているのかを理解することです。 優れたプログラマーは、才能のあるティーンエイジャーではなく、自分の仕事を愛する単純で頭の良い男または女です。 実用主義と卓越性の追求、現在の新しい深い知識への愛、学習への欲求、他の誰かに教えたいという欲求を組み合わせた人。 優秀なプログラマーのほとんどは、自分がほとんど知らないことを認識しており、それを修正したいという欲求や欲求を自分自身で見つけます。 私たちはそれぞれ、新しい知識を得るための独自の道を歩んでいます。ここでは、プログラミングのように、「銀の弾丸」も探すべきではありません。



それで、学び、読み、何か新しいことを学び、書き、それについて話してください。 そして一般的に、あなたが優秀なプログラマーであるかどうかを考えないでください。これはすべてナンセンスです。 結局のところ、この問題で最も興味深いのは、結果ではなくパスです!



All Articles