世界を動かす技術を、日本語で。

優れたジュニアエンジニアの大きなプールが存在する

概要

  • 優秀なジュニアエンジニア が多く存在する現状
  • 企業が ジュニア採用を避ける理由 とその誤解
  • AI時代に適応した採用プロセス の重要性
  • ジュニア採用の メリットと注意点
  • 長期的視点 でのジュニア投資の価値

ジュニアエンジニア採用の現状と課題

  • 134人のエンジニア (学生・ミドル・シニア・CTO含む)への面接経験
  • ジュニア層に優秀な人材 が多いにもかかわらず、多くの企業が採用を敬遠
  • 競合他社が シニア人材の奪い合い を続ける中、ジュニア採用で差別化する企業の優位性
  • Shopifyの例: インターン25人採用、年内に1000人目標、 エネルギーや推進力 を評価

企業がジュニアを避ける主な理由

  • スタートアップ :「少人数で即戦力が必要、指導の余裕なし」
  • 中規模企業 :「急成長フェーズでスケール経験者が必要」
  • 大企業 :「複雑なインフラで立ち上がりに時間がかかる」
  • 即戦力志向 で経験者を高待遇で採用しがち
  • 大学卒業生の 就職難 と企業側の シニア不足の矛盾

ジュニアとシニアの生産性比較

  • 「経験豊富=即高生産性」とは限らない現実
  • ソフトウェア開発は 積み重ね型 で、経験年数による伸びの限界
  • モチベーション・知的好奇心・性格 が生産性に大きく影響
  • 1年と5年の差は大きいが、10年と15年の差は小さい

企業が見落としているポイント

  • オンボーディング期間の誤解 :優秀なジュニアは短期間でキャッチアップ可能
    • LLM活用 で新技術やコードベースの理解が加速
  • 時代遅れの面接手法 :アルゴリズム暗記やホワイトボードコーディング偏重
  • 採用チャネルの固定化 :隠れた逸材を見逃す傾向
    • 例:Y Combinator応募者など

ジュニアと働く魅力

  • 固定観念に縛られず、変化を受け入れる柔軟性
  • AIネイティブ で新技術への抵抗が少ない
  • 成長意欲が高く、フィードバックを積極的に求める 姿勢
  • 上昇余地の大きさ :成長曲線のスタート地点での採用メリット
  • チームの 活性化・モチベーション向上 に寄与

ジュニア採用の注意点

  • シニアのサポートやメンタリング が不可欠
  • 重要な課題には 経験者の知見 が必要

ジュニア採用プロセス(5ステップ)

  1. マインドセット重視のフィルタリング

    • 取り組みプロジェクトへの情熱や理解度を深掘り
    • 好奇心・説明力・自己主張のバランスを評価
  2. AI利用可の自宅課題

    • 小規模なコーディング課題をAI利用OKで実施
    • 30分間の解説面談で設計意図や理解度を確認
  3. AIなしでの問題解決力評価

    • 40分間のシステム設計・意思決定・トレードオフ検討力の確認
  4. AI活用のライブ実装

    • 20分間でAIを使ったライブコーディング
    • プロンプト設計やAIとの協働能力を観察
  5. AI戦略の説明

    • AIと手動コーディングの使い分けや実例をヒアリング
    • AI依存・AI拒否どちらにも偏らないバランス型を選定

採用後のジュニア育成ポイント

  • メンタリング体制への投資
    • シニアのペア作業、学習パスの明確化、質問対応
  • 短期的な生産性に過度な期待をしない
  • 正しい指標で評価
    • 生産性の立ち上がり、定着率、主な障壁の把握
  • フィードバック文化の醸成
    • 定期的な対話と意見収集、成果の称賛
  • 少人数からのスモールスタート
    • 1~2名から始め、ノウハウを蓄積して拡大

ジュニア投資の重要性

  • AIネイティブ人材 を活かす企業が今後の勝者
  • Shopifyのように 先行投資する企業 が優秀なチームを築く
  • ジュニア採用による 長期的なリターン
  • 市場の非効率は永続しないため、 早期着手が競争優位 につながる

Hackerたちの意見

どこで「企業が新卒を雇わない」というデータを得ているのか、ちょっと疑問だな。2021年には104,874人のCS学生が卒業したけど、これは過去最高の数だよ(4年前の1.5倍)。でも、2022年から2025年の求人はその流れを維持してないよね。卒業生の数が増え続けて、仕事の数が減っていくと、当然新卒が仕事を見つけるのが難しくなるよね。悪魔の代弁者になってみると、今は「シニア」の人たちが新卒と競争しているかもしれない。彼らは雇われ続けるために、低い役職や給料を受け入れることがあるから。企業が過剰資格の人を雇わないって有名だし、技術職は年齢差別のリスクもあるから、実際に市場がどれだけ変わるのかはわからないな。

最後の職場は2020年5月から2024年3月まで続いた。会社は合併や買収、4回のレイオフを経て、私はしぶとく残った(実際、4回も「解雇」されたけど、また雇い直された!)新卒のエントリーレベルの子たちと競争してたし、私たちが提供したブートキャンプを卒業したばかりの子たちともね。大学の学位も資格もなく、1999年以降の履歴書には何も関連するものがなかったのに雇われた。だから、最低賃金扱いだったよ。すごく快適な在宅勤務の仕事だった。私のスタイルにぴったりだったし、上司もすごく忍耐強くて励ましてくれた。自分で言うのもなんだけど、私はロックスターだったけど、同じ役割で貢献できる優秀な同僚もたくさんいた。結局、3つの資格と大学の修了証を取得したけど、全く変わらなかった。昇給も昇進も、私の業績に対する認識もなかった。だから、大学ってそんなに大したもんじゃないよ。シニアもジュニアやエントリーレベルと競争してる。厳しいね。最高を目指して、頑張って、良い雇用主に妥協することをためらわないで。

ブートキャンプレベルのスキルはもう通用しないよ。CSの基礎がしっかりしていることが求められている。2022年の採用ブームは終わったし、AIが一部の仕事を引き受けているから、ジュニア市場はもっと競争が激しくなってるし、しばらくはこのままだろうね。新卒や学生、他のジュニアへのアドバイスは、実際の仕事経験を得る方法を見つけることだよ。この役割の給料は低いかもしれないけど、高い給料はシニアレベルのエンジニアにどんどん取られているからね。FOSSソフトウェアは、スキルや価値を高めるための別の場所だよ。

「新卒や学生、他のジュニアへのアドバイスは、実際の仕事経験を得る方法を見つけることだよ。この役割の給料は低いかもしれないけど、高い給料はシニアレベルのエンジニアにどんどん取られているからね。」これは一般的に良いアドバイスだね。ジュニアカレッジを大学へのステップストーンとして勧めるのと同じようなプロフェッショナルなアナロジーだよ。

それはある意味良いニュースだね。ブートキャンプは表面的な内容が多くて、実際に良い開発者が育ったわけじゃなくて、根拠のないアイデアを擁護する人たちの議論が多かっただけだから。

誰もFOSSの経験なんて気にしません。あなたのGitHubやLab、Bergを訪れるだけでもラッキーですし、熱マップを超えたものを見ることができたらさらにラッキーです。実際のところ、FOSSの経験が何かの役に立つなら、採用担当者もC#とJavaの経験がほぼ1:1であることを理解できるはずです。残念ながら、そうではないし、彼らもそう理解していません。

良いジュニアエンジニアが不足しているという点では、時々、履歴書をちょっと誇張して面接を受ける優秀なエンジニアを面接することがあるけど、結局はマネージャーが求める特定の経験が足りないから不採用にしてしまうんだよね。彼らは一般的には素晴らしいし、必要なスキルを身につけることもできるのに。ユニコーンを探しているのに、チームを成長させられないのも無理はないよね。

雇用者は新入社員を育てることを期待することに戻るべきだね。昔はこれが普通だった。大学卒業後の最初の二つの職場では、プログラミング経験のない人をプログラミングの役割に雇ってた。彼らはただ学ぶ意欲のある賢い人を探して、プログラミングを教えてたんだ。

ジュニアを雇うのは素晴らしいけど、もし市場の他の部分よりも優れたフィルターを持っていないなら、悪いジュニアを雇うのは大惨事だよ。悪いサテライトオフィスに仕事を外注するのと同じだからね。この厳しい環境で良いジュニアを見つけるのが得意なの?伝統的な方法が通用しなくなっている中で、採用の仕組みを改善できる?うまくいかないジュニアをたくさん雇うと、会社が潰れちゃうからね。

チームごとに1人のジュニアを雇うべきだよ。シニアスタッフにOKRやマネジリアルなタスクを押し付けるのはやめよう。メンターシップやアプレンティスシップを育てるべきだね。

ジュニアを雇うのは、もしあなたが他の市場よりも優れたフィルターを持っているなら、いつも素晴らしいことだ。でも、そうでないなら、悪いジュニアを雇うのは災害だよ:悪いサテライトオフィスにアウトソーシングするのと変わらない。これは絶対的な才能の問題じゃなくて、学べるスキルなんだ。特に、新しい雇用者の成果やROIまでの時間は、すべての要素の組み合わせに依存しているから:(a)面接/スクリーニング、(b)オンボーディング、(c)継続的なフィードバック。これはゼロサムゲームじゃなくて、業界全体がこれらのことにおいて改善することは十分に可能だよ。特に、一つの仕事の「ロックスター」は、別の仕事のやる気のない「自分が一番賢い」と思っている燃え尽き症候群の人だったり、その逆もあるから。

採用プロセスについての部分をチェックしてみて、特に正しいマインドセットをフィルタリングするところ。

最近卒業したばかりで、直接的な経験は少ないけど、Capture the Flagのチャレンジに情熱を持っている人を雇った。新しいことを学ぼうとする意欲と好奇心がすごくて、素晴らしい自己動機のある雇用者になった。彼は解決すべき問題を見つけて、それを解決する努力をリードし、結果的に会社に多くの金を節約させてくれた。

「AIの活用」がこのプロジェクトの最上位の要件だったのが混乱したけど、今はweaveがAI駆動の「エンジニアリング成果測定」会社だってことがわかったよ。新卒を雇う方が経験豊富なエンジニアよりも成功する理由が理解できる。いくつかのICはweaveの統計を役立てているかもしれないけど、毒のあるマネージャーの夢みたいにも聞こえるね。もっとシニアのエンジニアが避ける理由もわかるよ。

ジュニアを雇うときは、面接で解けないだろうなと思う問題を出すようにしているんだ。彼らが物事をどう考えるかを見たいからね。でも、最近の大学を卒業した子たちは、Leetcodeの問題を暗記したり、AIにクラスワークを外注したりすることが多いみたい。年々、キャリアに対する情熱が薄れているのも感じるし(つまり、コンピュータオタクが減ってる)。会社が特別なドメイン知識をほとんど必要としないことをしているなら、オンボーディングに時間がかかるのはほぼ避けられないよ。うちの場合、彼らが手取り足取りなしで貢献できるようになるまで、だいたい1年かかるんだ。でも、これは他の業界から来るシニアにも当てはまることが多いね。

ジュニアはチームの中でみんなより優れているか、何も知らないかのどちらかだと思う。

面白いですね。このアプローチの魅力はわかります。同じように、私は逆のことをしています。簡単に解ける問題を出して、すぐに解決できるようにしています。人はすぐにできるか、全くできないかのどちらかです。あなたと同じように、以前はもっと難しい問題を出していましたが、2つの失敗パターンを見つけました。賢い人がパニックになって面接でうまく考えられないか、高度な思考ができるけど実際のコードで変数を入れ替えられない人です。最近の採用を振り返ると、この方法が改善につながったかどうかはわかりません。

大学を卒業した多くの子供たちが、Leetcodeの問題を暗記したり、AIにクラスの課題を外注したりしているという問題が生じています。年々、キャリアに対する情熱が薄れているのを見ています(つまり、コンピュータオタクが減っている)。最近、/r/cscareerquestionsのようなスペースを見て、若い開発者が最近どんなことに触れているのかを知るためにいくつかのDiscordに参加しました。すべてが非常に有毒でシニカルです。RedditやTwitter、Discordにどれだけ浸っているかと、ビジネス環境でどれだけうまく機能するかには逆相関があることに気づきました。Redditの有毒さは、若者を雇用主を敵だと思わせ、職場に行くのは悪のマネージャーとの戦いに挑むようなものだと考えさせてしまいます。人々をリラックスさせてRedditの雰囲気を捨てさせることには成功したこともありますが、若者の中にはソーシャルメディアで見る別の現実にあまりにも浸りすぎていて、彼らを解放するのが難しいです。

人々が仮定を理解する能力が非常に低下していると感じます。「xをトラブルシューティングするにはどうしますか?」 「それはやったことがありません」 「じゃあ、その問題にどうアプローチしますか?」 「わかりません、すみません」

年々、キャリアに対する情熱が薄れているのを見ています(つまり、コンピュータオタクが減っている)。さて、オタクの人口比率がほぼ一定だと仮定すると、開発者の総数が増えることでオタクが占める割合がどんどん小さくなるということになりますね。

これは、私の指導教官が博士論文の防衛について言っていたことに似てるね。委員会は、あなたの知識の限界まで掘り下げてくる(一般的にはあなたの専門分野だけど、具体的なテーマには限らない)から、その後でようやくあなたの推論能力を試すことができるんだ。これは素晴らしい評価手法だと思うけど、私の博士課程では、論文防衛が近づくにつれて、仲間と一緒にその環境を再現する練習セッションを組織するのが一般的だった。特に、知識の範囲を超えて、門番(論文委員会や潜在的な雇用主)の前でプロフェッショナルな冷静さを保つのは難しいからね!私たちのほとんどは、互いに練習する時はうまくいかなかったけど、数回のセッションを経てその状態に慣れてくると、合格/不合格は実際の推論能力をより反映すると思う。特にジュニアの面接戦略としては面白いアイデアだし、どれくらい効果的だと思うか気になるけど、90パーセンタイルの候補者が本当に求めているような批判的思考や推論スキルを示すには、2回の試みが必要だと思う。

年々、キャリアに対する情熱が薄れているのを感じる(つまり、コンピュータオタクが減ってきてる)。これについては強いけど複雑な気持ちがある。プログラマーがみんなコンピュータオタクだった時代には大きな欠点があった。特に、そのステレオタイプに合わない人にはキャリアがとても魅力的でなくなってしまった。そういうことをすると、多くの潜在的な才能を逃してしまう。でも、良い面もあった。情熱のレベルは高かったし、上昇する給与が人を引き寄せていた。基本的なデータ構造や、なぜ時々ツリーや他のコンピュータサイエンス101のことを使いたくなるのかを理解しているだけで、まるで火星人扱いされるのはもううんざりだ。ジュニアを雇うときは、面接で解けないだろうなと思う問題を出して、彼らがどう考えるかを見たいんだ。問題を出すときにこれを明言してる?言わない方が良い面もあると思う。もし彼らが明確な答えが期待されていると思って、無理に答えようとするなら、それは有用なデータポイントになるかもしれない。でも、それはちょっと意地悪で倫理的じゃない気がする。面接官としてこれをやった時は、かなり明言してた。「これ、私たちが数ヶ月かけて解決しようとしていることで、10分で解決するとは思ってないけど、どうアプローチする?」ってね。面接官としての経験はあまりないから、他の人がどうアプローチしているのか気になる。

開発者を面接していた時、正しい答えを得ることよりも、問題解決や協力的に働くアプローチに興味があった。だから、面接を2つのパートに分けていた。最初の部分では、要件を与えて、彼ら自身でデザインを考えてもらう。インターネットアクセスや技術的なリファレンスも使っていい。これは記憶テストじゃないし、私は部屋を出て行く(今はLLMがあるから、これがうまくいくかは分からないけど)。2つ目の部分では、彼らのデザインを説明してもらい、要件を変更して一緒にそれに対応する方法を考えることを伝える。2つ目の部分が面接で最も有用な部分だった。実際の仕事で必要なことだし、そのプロセスで雇ったほとんどの人は良かった。

大学を卒業した多くの子供たちは、Leetcodeの問題を暗記したり、AIにクラスワークを外注したりしただけだ。 AIが登場する前から、超洗練されたLeetcodeのグラインダーには問題があった。彼らのスキルセットは、正しい解答やスクリプトされた答えを暗記してFAANGの面接に合格することだけだった。これらのケースを特定するための効果的な手法は、最適な解決策が存在する場合にのみ「正しい」答えを暗記できるという事実を利用する。幸いなことに、コンピュータサイエンスやソフトウェアデザインには、第一原理から推論が必要な一般的で比較的単純な問題がたくさんある。なぜなら、理論的にもグローバルな最適解は存在できないからだ。問題の制約に小さな変更を加えると、設計結果が大きく異なり、実質的に列挙できないものになる。可能な解決策の空間は非常に大きく、問題が比較的簡潔でよく理解されていても、現実的に暗記することはできない。純粋なLeetcodeのグラインダーは、きれいな答えがない問題を勉強したことがないようだ。答え自体はそれほど重要ではなく、私は常に、正しい答えがない場合の制約変更の影響を認識し、推論する能力を示すことに興味がある。しっかりしたコンピュータサイエンスのスキルを持つ人は、通常はそれをうまく乗り越えることができるが、完璧なLeetcodeスキルを持つ多くの人は、この最も基本的なバージョンで失敗する。ジュニアにとって最も重要なスキルは、彼らが効果的に推論でき、見たことのない問題に取り組む意欲があることを示すことだった。これが、ジュニアを強力なシニアエンジニアに迅速に育てることができるジュニアだった。

そうだね、情熱が欠けているのは、最も知られているテック企業があまり魅力的でないからかもしれない。彼らは意図的に技術を難解にし、アクセスを制限し、実験を許可しない。もし、いじくり回すのが好きな人たちに寄生したいなら、クソみたいなiOS/Android環境を与えて終わりにするべきじゃない。業界にとって、いじくり回すことはセキュリティの問題になっていて、未確認のコードが金属の上で実行されることに対する恐ろしい警告ボックスがある。なんてひどい!古くて停滞していて、あまり面白くない。代わりにいくつかの代替の場があるけど、そちらには別の焦点がある。

今のジュニアとシニアの差って、実はそんなに大きくないと思う。シニアって肩書きの人でも、ジュニアに近い人がたくさんいるし。実際にドキュメントを一ヶ月間読ませたら、ジュニアの方がシニアよりも知識があるかもね。それに、本当にシニアを雇いたいなら、給料で競争できないならリモートにしてみたら?ほとんどの求人はハイブリッドの役割ばっかりだし。他の都市の候補者を捨ててるって気づいてるのかな?採用担当者やCEOって、マゾなの?

これ、よく見かけます :( シニアというのは、しばしば業界での経験年数を指していて、能力とは関係ないことが多いです。「シニア」と呼ばれるエンジニアの中には、全く効果的でなく、効果的になることができない人もいます。彼らはしばらく前に業界に入っただけで、ただ水面を漂っていて、次の採用マネージャーを騙して「前の仕事でシニアと呼ばれていたから、今もシニアだ」と思わせています。「スタッフ」レベルの仕事に応募していない限りです。賢さや物事を成し遂げること、みんなを早くすること、信頼されることなどと「シニアリティ」の間には因果関係はありません :)

コロナ前はリモートワークに賛成だったかもしれないけど、コロナ後にリモートで働き続けたチームと、後から参加したハイブリッドのチームの生産性の差は信じられないくらいだったよ。

最近ジュニアを雇っている者として、ほとんどの意見に反対だな。優秀なジュニアはすぐに学んで、フィードバックを求める。管理が楽だし、改善したいと思ってるから、仕事についてどう思ってるか知りたがる。 --> このコメントには非常に懐疑的だ。直接管理が必要な人を管理するのは難しいから。忠誠心。最初から育てたエンジニアは長く残る傾向がある。彼らはあなたのシステムを深く理解して、次の世代のジュニアエンジニアを指導できる。 --> そうでもないよ。彼らはただ足がかりを探してるだけ。成長の余地がある。やる気のあるジュニアエンジニアは、しばしばより多くの可能性を持ってる。成長曲線の初めにいる人を得ることができるから。 --> かもね?判断が難しい。彼らはしばしば辞める。ジュニアはチームに新しいエネルギーをもたらす - 学びたいと思ってて、自分を証明して成功したいという意欲がある。彼らのモチベーションは伝染することもある!チームの既存のシニアは、賢くてやる気のある開発者と働くのを楽しむだろう。 --> いつもそうとは限らない。ほとんどはただ仕事が欲しいだけで、すぐに落ち込む。でも中にはそういう子もいる。ジュニアは自分の知識に縛られない。「これが私たちのやり方だ」と考えるように訓練されてないから。前の会社の技術を再利用しようとしたり、特定の文脈でしか役に立たなかった「素晴らしい」デザインパターンを再現しようとしたりしない。AIネイティブであるだけじゃなく、変化に対する抵抗が少ないことが重要。 --> これはちょっと同意する。

かもね?判断が難しい。彼らはしばしば辞める。私のジュニアとの経験から言うと、辞めたがっているのは、ランクアップするにつれて報酬が適切に調整されていない人たちだ。みんなに良い給料を支払い、尊重して扱うことが大事。彼らを挑戦させ、勤続年数やスキルが上がるにつれて昇給や昇進を与えれば(「予算内だから、ああごめん、今年は一人しか昇進できないけど、上のレベルの人を雇ったから、本当にそれは無理。後でまた試して!」なんて言わずに)、長く働いてくれる人が増えるよ。

忠誠心についての指摘には思わず笑ってしまいました。忠誠心はもう10年以上も両方とも死んでいます。ミレニアル世代やZ世代は、互いにお金を得るために給料をオープンに共有しています。企業での平均在籍期間も2年から1年に減りました。ジュニアが何らかの形でより忠実であるという考えは、夢物語であり、あからさまな嘘です。彼らを責めるつもりはありませんが、雇用主もこの10年でずっと悪化しているので、特に2022年の引き潮以降、AIの影響もあって、雇用主も従業員ももはや忠誠心はありません。完全にフリー・フォー・オールの状態です。

私のコメントは記事の一部、特にAIに関する部分に焦点を当てます。AIが実務を永遠に変えたという意見には賛成ですが、面接中にAIを禁止するのはちょっとおかしいと思います(面接中に候補者が何かをググるのを禁止するのも同じくらいおかしい)。ただ、AIを使ったジュニアがオンボーディングにかかる時間が早くなるという証拠はあまり見たことがありません。私にとってオンボーディングとは、新しいチームメンバーが既存のチームのやり方を取り入れること、つまり好ましいコードパターンやコミュニケーションチャンネル、確立されたフレームワークを学び、全体的にチームの一員になることです(技術チームと非技術チームの両方)。その点で、AIはあまり役に立っていないと思います。一方で、AIがこのプロセスや既存のライブラリ、プラクティスを学ぶのに役立つドキュメントを作成するのには役立つかもしれませんが、逆にAIは新しいチームメンバーが他の人に早く相談しなくなることも可能にします(記事自体もその点を指摘しています)。これが私の定義するオンボーディングプロセスを遅くする要因だと思います。つまり、コミュニケーションが少ないとオンボーディングが遅くなるということです。私が言ったように、オンボーディングはコードベースを理解することとも関連していますが、その点ではAIは確かに役立ちます(そして、適切なAIエンジニアリングプラクティスで書かれたコードが増えれば、さらに役立つでしょう)。ただ、これは全体の中では小さな部分だと感じています。同様に、プロジェクトの実際のドメイン(ユーザー、要件、言語、問題など)を理解することもオンボーディングの重要な部分で、ここでもAIは役立ちますが、あまり多くはありません。結局、人間のことなんです。確かに、ジュニアを新しいプロジェクトにすぐに働かせるために雇うと、その新入社員は「生産的」に見えるのが早くなります(だから、以前よりも「オンボーディング」が早かったように見える)。AIが彼らを「早く」させるからですが、私は彼らが本当にオンボーディングされたとは言えません。もしかしたら、文化の違いや「品質」の定義が厳しすぎるせいか、単に職場の環境が違うのかもしれませんが、私の経験では全くそうではありません。ほとんどのジュニアは、適切な監督なしに私たちの品質基準でコードを生産するのに少なくとも6〜8ヶ月かかります。システム全体を考える能力が非常に高いジュニアでも、経験不足からオーバーエンジニアリングをしたり、コードを間違った場所に置いたりする傾向があり、これは確実に生産性に影響します。

ちょっと横道にそれるけど、「オンボーディング」っていつも変な感じがする。15年で3つのテックジョブしか経験してないし、もう一つ必要ないかもしれないけど、どの職場でも初日に行って、みんなが頼んでくることを始めただけだった。リポジトリをクローンして、ローカルで実行して、開発に変更をデプロイして、いじくり回して、ドキュメントを読んで、ちょっとリファクタリングしたり、他の人のPRにコメントしたり。やることはたくさんある。何もしないで現れる人たちが理解できない。たとえ何かバカなことをして、EODまでにPRがレビューの準備ができていても、全然問題ない。私の同僚が作成した山のようなオンボーディングドキュメントにかける努力が報われたのを見たことがない。私は新しい人たちとペアを組んで、一緒に問題を解決して、彼らが学ぶんだ。

ジュニアエンジニアを採用する一番の裏技は、すでに10年プログラミングしている人を雇うことだよね。最近大学を卒業したから「ジュニア」って呼ばれてるだけ。ジュニア/シニアっていう言葉は、企業がみんなの価値を「業界や会社での勤続年数」に結びつけるための言葉なんだ。もちろん、能力はそんな風には測れないし、優秀な人を採用したいなら、あんまり気にしない方がいいよ。求人には便利だけど、結局のところ、意味的にも説明的にもあんまり役に立たない。

うん、経験はめっちゃ大事だよね(力がないと影響力を持てないし、チームのテックリードになるのは難しいから、企業経験が必要だよ)。でも、誰かが12歳でHaskellを書いてて、USACOでいいスコアを取ってたら、かなり優秀なエンジニアになるってことを理解する必要があるよね。