HN 日本語サマリー

← 一覧へ戻る
キャリア

正式な学位とアルゴリズム問題解決こそが答えだ。常にそうだった

A formal degree and algorithmic problem-solving is the answer. Always has been (zaksa.zip)

3 pointsby zaksa0 コメント

要約

この記事は、ソフトウェア開発における正式な教育とアルゴリズム問題解決能力の重要性を主張しています。筆者は自身の経験を基に、これらのスキルが長期的なキャリア成功に不可欠であり、特にAI時代においては競争優位性を確立するためにさらに重要になると論じています。

全文翻訳

正式な学位とアルゴリズム問題解決こそが答えだ。常にそうだった 2026年8月22日 手術用メスを手に取ったことはありますか?それは信じられないほど素晴らしい道具です――小さく、軽く、そのサイズと用途において他に類を見ないほど鋭利です。人間の皮膚にそれを使用することを許可されるまでには、何千時間もの練習が必要であり、それを習得するには一生かかります。 その道具を間違った人に渡したくはないでしょう。どれほど意欲的で、学びたがりで、善意があり、勤勉であっても、彼らは物事を台無しにするでしょう。彼らはシェフ、美容師、あるいは切断工具を扱う他のどんな専門家かもしれません。隣接する経験があるにもかかわらず、彼らは失敗するでしょう。手術を目的としたメスの扱いは、高い責任を伴う困難な仕事です。 ソフトウェアの現状について考えるとき、私はこのアナロジーを使いたいと思います。プログラミングのためにコンピュータでAIを使用したい人々に対して、私たちは厳しいフィルターを必要としています。これは、この議論をする資格も資格もない両方の立場にある人間からの、甘くて苦い声明です。 私のキャリアの大部分において、私は正式で厳格なコンピュータサイエンスの教育を受けたこともなく、「leetcode」に時間を投資することもありませんでした。それにもかかわらず、私はうまくやってきました。私は問題を解決するためにソフトウェアを構築する人間であり、今もそうです。必ずしも金のためではなく、常にそうしたかったからです。同時に、私はブートキャンプ開発者、元物理学者、教育を終えなかった、あるいはあまり進まなかったエンジニアたちと働く豊富な経験を持っています。経験が示しているのは、学位なしで、あるいはコーディング面接を回避して成功したキャリアを目指す場合、長期的に物事がうまくいくことはめったにないということです。現在の状況でこれらのスキルを欠いていることは、キャリアを終わらせる可能性があります。 いくつかの逸話: かつて、チームの全員にファイルインポートをアルファベット順に並べるよう強制するシニアエンジニアがいたスタートアップで働いていました。彼はまた、史上最もクレイジーなリンティングルールを持っており、リンティングでコード化できないものは何でも、プルリクエストのコメントで作り上げていました。皮肉なことに、その同じスタートアップには、アプリケーションレイヤーの単体テストやe2eテストがゼロで、バックエンドサービスのスモークテストがわずかしかありませんでした。テストとデプロイは週末を要する絶対的な地獄でした。彼らは確かに優先順位を正しく設定していました。 別の仕事では、IDEでテキストを折り返す前の最大シンボルの長さを巡って何時間も議論し、「タブ対スペース」の議論について強い意見を持ち、すべてをカスタムビルドしていた人がいました。これには、顧客が増え始めたときに常にハングアップし、スケジュールされたメールを失う電子メールサービスも含まれていました。あなたのソフトウェアの最高傑作はゴミだと認め、顧客を失わないサードパーティサービスを使用してください。 また、言語やフレームワークの専門家にも耐えてきました。彼らは、非常に小さな技術のサブセットでは比較的優れていますが、それに隣接するものでは完全に迷子になり、基礎については全く無知です。彼らは、自分が働いている会社が専門とするフレームワークを時代遅れにし、新しいことを学ばせることを常に恐れている人々です。AngularがReactの平凡さよりも優れている理由、あるいはJavaと比較してKotlinの劣等性についての1時間の長々とした議論を聞くのは、正直疲れます。ただ受け入れて、問題を最もよく解決するものを使用してください。 また、特に企業環境では、運良くすり抜けてしまう全く無知な人々もいます。Linuxの専門家だと豪語する人がいて、私のホームラボの設定についてアドバイスを求めました。彼の最初の話は素晴らしく、さまざまなディストリビューションやsystemdについてたくさんの面白い事実を説明してくれましたが、数週間の議論の後、彼の提案は辻褄が合わなくなり、私は疑念を抱きました。オペレーティングシステムとネットワーキングに関する基本的な質問で彼を突いた後、彼が非常に表面的な知識しか持っておらず、私のホームラボの設定が彼が見た中で最も複雑なものであることが判明しました。また、特定の機能が動作しないという同様の状況があり、私はその特定の技術スタックが得意だとは思っていなかったので、それを作成し所有していた人物が、自分の仕事の読み書きやデバッグができないことが判明しました。 上記のほとんどの人は、私が彼らと一緒に働いていた当時、私よりもシニアなポジションにあり、そして彼ら全員が、正式な教育とコンピュータサイエンス、そしてアルゴリズム問題解決のスキルを、キャリアの成功にとって重要ではないと考えていました。その考え方は、私が働いた多くの場所で容認されるか、称賛されていました。私が上で書いた人々は、悪いパフォーマーとは見なされていませんでした。 もし私が「教育は不要、アルゴリズムも不要」という層を分類するとしたら、彼らは3つのカテゴリーに分類されるでしょう:彼らはソフトウェア開発において間違ったことに集中するか、彼らは非常に浅い知識を持ち、優れたエンジニアリングがいかに難しいかを軽視しているか、あるいは彼らは全く無知で、良いソフトスキルと政治に頼っています。 おそらく、ショートカットが許されない場所でショートカットを取る人々と付き合うことに、私はあまりにも憤慨するようになったのかもしれません。 評判の良い大学のコンピュータサイエンスの学位は、最悪の場合でも、学生にコンピュータがどのように機能し、何ができるのかの概要を与えます。より意欲的な学生には、コンピュータシステムの深さと複雑さへの理解を深める機会も提供します。私は、特にAI後の世界では、単に仕事をしてこのレベルの理解と評価を得ることは、本当に難しいと信じています。 「leetcodeをひたすら解く」ことは、仕事を確保する目的で行わない場合、楽しい気晴らしであるべきです。それは、エンジニアが頭の中で問題を視覚化し、明確に定義された問題をコードで解決し、プログラミング言語を十分に習得するのに役立つ、ある種の思考を育みます。楽しみのための問題解決は、コーディング面接をストレスなくするものではありません…結局のところ、それは競争です。競争は、人々によく準備させ、最高の自分を引き出すことを期待するものです。これは本質的にストレスフルです。さらに、非常に賢く高給を稼ぎたい何千人もの候補者をフィルタリングするための、経済的に実行可能な方法はほとんどありません。 名門の学位も、アルゴリズム問題解決における優れた習熟度も、キャリアの成功を保証するものではありません。それらは、候補者に有利に統計を働くようにする要因です。今日のよう​​な厳しい市場では、それらはセキュリティを提供します。AI後の時代には、スキルの維持と開発のための素晴らしい機会を提供するので、計り知れない競争上の優位性を提供するでしょう。 お金のために参入して遠くまで行った例外的なケースもありますが、仕事に対して信じられないほど不幸で不機嫌でない人には会ったことがないので、彼らは私のキー入力の価値はありません。 多くの、何もないところから成り上がった私たちにとって、ソフトウェアエンジニアリングの最上位に到達するための経済的な側面もあります。名門教育を受ける余裕ができ、アルゴリズム問題解決に没頭する時間ができる前に、私は生き残るためにソフトウェアを書きました。さらに、世界の大部分の教育システムは、法外に歪んでいると私は考えています。名門大学は、ますます世界から切り離され、社会との取引において厚かましくなっている(SBFにシャウトアウト)金持ちの子供たち、ネポベビーを惹きつけがちです。 教育の資金調達の問題に対する、合理的で博識な解決策を提供することも、慰めを提供することもできません。私にとってうまくいったのは、冷酷で容赦なく、お金のために戦うことでした。私がナイーブで勤勉であることをやめ、人々を切り捨て、当然のものを奪い始めるまで、物事はうまくいき始めませんでした。驚いたことに、これは多くの橋を燃やすのではなく、人々を畏敬させ、尊敬を植え付けました。外の世界は厳しいです。 学校に留まり、道具になるな、ゲームのために問題解決を学ぶことを愛せ。