メモ


旅行予約サイト・Trivagoの元バックエンドエンジニアでプログラマーのマティアス・エンドラー氏が、最高のプログラマーに必要な15の特性を自身のブログにまとめています。

The Best Programmers I Know | Matthias Endler
https://endler.dev/2025/best-programmers/

◆01:リファレンスを読む
重要なのは、常に一次資料に当たること。Stack Overflowに飛びついたり、LLMに尋ねたり、推測したりする代わりに、Apache Webサーバーのドキュメント、Python標準ライブラリ、TOML仕様などの公式リファレンスを直接読むことが重要です。エンドラー氏は「驚くことに、公式リファレンスは多くの場合、アクセスしやすく、よく書かれています。常に一次リソースに当たることは、若いプログラマーとして身につけるべき最も重要な習慣の一つです」と述べています。


◆02:ツールを深く理解する
「優れた開発者は使用する技術を根本的なレベルで理解します。ツールを単に使うことと、それを本当に『理解する』ことは別物です」とエンドラー氏は指摘しています。エキスパートはリファレンスを読んだ後に設定を書き、その全ての行を理解し、同僚に説明できます。エンドラー氏は、ツールを本当に知るためには「誰が、なぜ、どんな問題を解決するために作ったかという歴史」「誰が保守してどこで働いているかという状況」「いつツールが適さなくなってしまうかという限界」「そしてどんなライブラリ、プラグイン、ユーザーがいるかというエコシステム」を理解する必要があると語りました。

◆03:エラーメッセージをきちんと読む
エラーメッセージを本当に読み、そこに書かれていることを理解しようとすることは、意外なほど強力なスキルです。「最高のプログラマーは非常に少ないコンテキストから多くの情報を推測できます」と述べるエンドラー氏は、エラーメッセージを読むだけでほとんどの問題を自分で解決できるようになると論じています。エンドラー氏がエラーメッセージを読めない人を助ける時は、いつも「まるで占い師がカップに残った茶葉を見て未来を占うような特殊能力を持っているような感覚」を覚えるそうです。

◆04:問題を分解する
困難は必ずスムーズに解決できるわけではなく、誰でも行き詰まることがあります。最高のプログラマーは問題に行き詰まった場合、問題を消化できるまで分解し、単純化します。この問題の分解は学ぶのが難しいスキルで、多くの経験を必要とするとのこと。エンドラー氏によれば、プロの開発者として給料をもらう仕事の大部分はこの問題分解だそうで、適切に行えば、単純な問題を次々と解決していくだけで仕事が完了するそうです。


◆05:手を汚すことを恐れない
「最高のプログラマーはたくさんのコードを読み、それに触れることを恐れません」と、エンドラー氏。最高のプログラマーは「それは自分の領域ではない」とか「それでは助けられない」とは言わず、代わりに学習を始めます。エンドラー氏は「コードは、ただのコードです」と述べ、最高のプログラマーは時間と努力をかければ必要なスキルを身につけることができると主張しました。

◆06:常に他者を助ける
エンドラー氏によると、優れたプログラマーは需要が高く常に忙しいですが、いつも助けようとする特徴があるそうで、「生まれつき好奇心が強く、支援的な考え方」が優れたプログラマーになる要因の1つだとのこと。エンドラー氏は「優れたプログラマーがチームにいることは純粋に喜ばしいものです。なぜなら、彼らは問題を解決できる人たちだからです」と結論づけています。


◆07:書く習慣を持つ
素晴らしいプログラマーは話が上手で、知識を共有することを喜ぶ傾向にあり、ブログや講演、オープンソースなど、自分の考えを発表する場所を持っていることがよくあります。エンドラー氏は「書く能力とプログラミングには強い相関関係があります。書き方をマスターすることは考え方をマスターすることであり、その逆も同様です。文章のスタイルはその人の考え方について多くを語ります。もし混乱していて構造が欠けているなら、コーディングスタイルもそうでしょう」と指摘し、「優れたプログラマーは言葉で遊ぶことに喜びを見出します」と論じました。

◆08:学び続ける
エンドラー氏は「私が知る最高のプログラマーの中には60歳以上の人もいます。彼らは私よりずっと優れています」と述べています。優れたプログラマーは、試していない新しいツールや気になる言語があれば学び、常に最新状態を保っているとのこと。エンドラー氏は、多くの人が大学卒業後や最初の仕事を始めた後すぐに学習を止めてしまうことを指摘し、「優れたプログラマーはむやみに流行りに乗るわけではなく、新しい技術の利点を常に慎重に評価するのです」と強調しています。

◆09:地位は関係ない
「最高のプログラマーは主席プログラマーも新人開発者も同様に扱います。階層はありません」とエンドラー氏は述べています。彼によれば、優れた開発者は「若い人からも年配の人からも学ぼうとします」。エンドラー氏は「新参者は多くの場合、オフィスの政治に巻き込まれておらず、まだ新鮮な思考を持っています。彼らは物事が難しい理由を知らないので、創造的な解決策を提案します」と指摘しています。彼は「過去の障害がもはや存在しない可能性もあり、これらの人々は優れたインスピレーションの源になります」と結論づけています。

◆10:評判を確立する
エンドラー氏は「良い仕事をすれば堅実なプログラマーになれますが、良い仕事で知られるようになって初めて最高の一人になれます。少なくとも大きな組織内でそうなるでしょう」と指摘しています。重要なサービスを構築・提供する、有名なツールを書く、人気のあるオープンソースに貢献する、よく言及される本を書くなど、評判を確立する方法はいくつかあります。「なぜ評判が重要か?」という問いに対して、エンドラー氏は「これらは全てコミュニティでの影響範囲を広げる方法です。有名な開発者は有名でない開発者よりもはるかに多くの人々に影響を与えます」と説明しています。


◆11:忍耐を持つ
「コンピュータと人間に対する忍耐が必要です。特に自分自身に対して」とエンドラー氏は説いています。全てが最初からうまく行くわけではなく、人は学ぶのに時間がかかります。それは周りの人が愚かなのではなく、単に持っている情報が不完全なだけ。エンドラー氏は「忍耐がなければ、世界があなたに敵対していて、周りの全員が無能だと感じるでしょう。それは悲惨な状態です。最高のプログラマーになるには、信じられないほどの忍耐力、集中力、そして献身が必要です。難しい問題を解決したいなら、気を散らすことは許されません」と語りました。

◆12:コンピュータを責めない
エンドラー氏は「ほとんどの開発者は気まぐれで『ランダム』に見えるバグをソフトウェア、他の人、自分の犬、または天気のせいにします。最高のプログラマーはそうしません」と指摘しています。コンピュータの振る舞いがどれほど奇妙に見えても、実はその背後にちゃんとした仕組みがあり、ただその仕組みが発見されててないだけということはよくあります。エンドラー氏は「最高のプログラマーは理由を見つけるまで掘り下げ続けます。彼らはすぐには見つけられないかもしれませんが、決して外部の状況を責めません。この姿勢によって、彼らは信じられないほどの進歩を遂げ、他の人が見逃すことを学ぶことができます」と論じています。

◆13:「わからない」と言うことを恐れない
エンドラー氏は「面接では、私は候補者に少なくとも一度『わからない』と言わせようと試みました。その理由は優位に立ちたかったからではなく、彼らの知識の境界に到達したかったからです。彼らが知っていると思っていることの端に彼らと立ちたかったのです」と説明しています。エンドラー氏によれば、優秀なプログラマーは「うーん、わかりません、でも面白い質問ですね!推測するなら○○でしょうか」と述べ、そこから改めて答えを求めるとのこと「わからない」と言うことを恐れていると、傲慢さや防御的な姿勢の表れになるため、全てを知ることはできないと認めるのは重要です。

◆14:推測しない
曖昧さに直面したとき、推測の誘惑を拒否するというのは重要な心構え。推測したくなる誘惑はとても強いものですが、推測すると間違った仮定がバグにつながる可能性があります。最悪の場合、自分の推測は正しいと信じて自分自身を疑わず、間違った仮定に基づいて突っ走ってしまうこともあります。エンドラー氏は質問し、リファレンスを読み、デバッガーを使うことを徹底するように呼びかけています。

◆15:シンプルに保つ
「賢いプログラマーは賢いコードを書きます。例外的なプログラマーはシンプルなコードを書きます」とエンドラー氏は対比して述べています。ほとんどの場合、シンプルなコードで十分であり、シンプルなものは複雑なものよりも保守しやすいという利点があります。エンドラー氏は「時には物事を正しく行うことが重要な場合もありますが、その違いを知ることが最高の開発者とそれ以外を分けるポイントです」と指摘し、「シンプルさを保つことで多くのことを達成できます。正しいことに集中しましょう」と論じました。

エンドラー氏は、「これまでに挙げた項目はチェックリストや競争ではありません。優れたプログラマーリングはレースではないのです」と強調し、「ただ、努力を避ける近道があると自分をだましてはいけません。近道はありません。あなたの旅に幸運を」と述べ、最高のプログラマーになるには継続的な努力と真摯な姿勢が必要であることを改めて伝えました。

この記事のタイトルとURLをコピーする

フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link