1 ポイント 投稿者 GN⁺ 2024-07-18 | 1件のコメント | WhatsAppで共有
  • テック系の求職市場は、金利上昇、VC資金の縮小、顧客支出の冷え込み、標準化された採用プロセスが重なり、開発者に不利な方向へ変わっている
  • 企業の資金・売上・成長段階によって報酬と安定性は分かれ、高金利環境ではVC依存度の高い企業ほど崩れるか、生存モードへ縮小しやすい
  • 現代のテック採用は、実務経験よりもコーディングテストと行動面接に偏り、小規模スタートアップから大手テック企業まで似た手順を複製している
  • 「Everything Bagel」型の求人票は、アプリケーション開発、インフラ、セキュリティ、顧客支援、オンコール、コスト最適化、ドキュメント作成まで、複数部門の仕事を1つの役割に押し込んでしまう
  • テック職は、製品と組織をともに改善する役割から、裁量の小さいまま他人の優先順位をこなす作業者の役割へ変わり、熟練した開発者の経験と判断が十分に反映されなくなっている

金利とテック雇用のつながり

  • 「ただ同然の金」で成り立っていた低金利環境は終わり、金利が5%を超える水準まで上がったことで、資金そのもののコストが高くなったという前提がある
  • 金利が高くなると、現金を持つ組織は不確実な企業へ投資するより、政府保証の利息商品のような安全な場所に資金を置ける
  • テック企業への投資は不確実な未来に対するリスク資産として扱われ、高金利期には弱い企業が崩れ、強い企業でさえ「clean house」を理由に人員を減らす
  • その結果、高報酬のテック労働者が数十万人規模で、2〜4年にわたり仕事の少ない市場に直面するという見方が出てくる
  • 金利上昇期には最低賃金のパートタイムや建設の仕事が増えることはあっても、テック職はVC資金と顧客支出により強く結びついている

企業タイプと報酬構造

  • テック企業は資金と成長の状態によって4種類に分けられる
    • nepo company: 家族・縁故資金など、現実検証から切り離された資金で非現実的な製品を作れる会社
    • speculation company: 製品・顧客・市場の検証なしに、アイデアを試すための資金を受ける会社
    • initial growth company: 初期需要が生まれた後、成長資金を受けて売上拡大を試みる会社
    • stable era company: 再現可能な市場参入経路、顧客への到達性、継続的な売上を持つ安定企業
  • 高金利環境では、成功度の低い企業ほどVC資金に依存し、資金の流れが鈍ったり止まったりしたときに最も大きく揺らぐ
  • 顧客側も支出条件が制限されるため、顧客離れや支出縮小が同時に起こりうる
  • speculation companyは、市場価格の50〜80%程度の報酬で、200〜500%多い仕事を期待する場として描かれている
  • initial growth companyは高リスク・低報酬の組み合わせになりうえ、成長に失敗した企業は低報酬と反復的なレイオフが組み合わさった状態に陥りうる
  • stable era companyはさらに3種類に分かれる
    • 安定して成長し、利益を出す会社
    • 著名CEOの志向に応じて成長と縮小を繰り返す会社
    • 1つ以上の経済部門を支配し、簡単には崩れない会社
  • 現代の大規模成長企業は、年間の株式報酬を含めると熟練社員に1日あたり1万〜5万ドル相当の報酬を与えることがある一方、他の企業では10年間実質賃金が伸びず、有効な株式報酬もない場合がある

採用プロセスが実力を見分けられない問題

  • テック採用では3つの矛盾が繰り返される
    • 要件が壊れている
    • 面接プロセスが壊れている
    • ほとんどの会社が同じ要件と同じ面接方式に従っている
  • 面接官は、自分が想定した答えより優れた答えを出す候補者を安定して評価できないことがある
  • 現代のテック面接は、実務と無関係な即興課題の遂行を求め、失敗すれば候補者を低能力とみなす一方、より高い水準の経験者を見分けられないことがある
  • Google式のコーディングテストとAmazon式の行動面接が業界全体に複製され、小さなスタートアップから大企業まで似た手順を求めている
  • 行動面接は、「対立をどう解決したか」「ミスをして謝罪した経験は何か」といった質問を繰り返し、実際には候補者が進捗と親切さのバランスをどう扱うかを見る手順だと解釈されている
  • カルチャーフィットを質疑応答の形でコード化すると、会社の平均的な性格から外れる人を排除する性格の同質化につながりうる
  • 企業が面接段階を増やし続け、実際の業務、経験、能力、洞察から離れていくと、テック産業全体が非効率になりうる

「Everything Bagel」求人票

  • 「Everything Bagel」求人票は、1人のSoftware Development Engineerにあまりに多くの責任を同時に求める形態である
  • 例示される要件には次のようなものが含まれる
    • React、Vue、TypeScript、Node、Python、Rust、Goなどでアプリケーションを書く
    • PHP、Ruby、Cベースの既存アプリケーションを保守する
    • AWS、Docker、Kubernetes、Terraform、Lambda、EventBridge、Step Functionsなどでインフラを展開する
    • AWSコスト最適化、CI/CD、24/7オンコール、ログ・監視・アラート・可観測性の確保
    • アプリケーションセキュリティ、依存関係のセキュリティ、SOC-2関連のインフラセキュリティ
    • 顧客サポート、社内スタッフ支援、コードレビュー、メンタリング、ドキュメント作成
    • 37個のJavaScript SaaSプラグインと追加のトラッキングスクリプトの維持
  • このような単一職務の要件は、実際には5部門・20人規模の仕事に近い
  • 業界の一部は、技術者が専門性を持つべきだという考えを捨て、「devops means DEVS DO OPS」のように、運用経験のない開発者に運用まで押しつけていると見られている
  • アプリケーション開発者がパートタイムのAWSアーキテクトまで兼ねる構造では良い結果は期待しにくく、こうした能力は通常5年以上の集中的な積み上げが必要だという立場である
  • 過剰な要件は仕事を物理的に不可能にし、各項目が週に数日を要する作業になりうるため、入社初日からすでに遅延状態になる

現場経験から見た組織とインフラの問題

  • 多くの会社が「サイトが遅い」と言っていたが、実際には基本的なAWSメトリクスとシステム管理を見ておらず、問題が放置されていた事例が繰り返される
  • ある会社は全サービスを2コア・16GB RAMのMySQL 1台で運用しており、データベースは3TBまで肥大化し、CPU 99.99%の状態が2年間続いていた
    • 64GB ARMサーバーとreserved IOPSに変更した後、バッチデータ変換時間は16時間から20分に短縮され、レプリケーション遅延も4〜6週間からリアルタイムのsub-second水準に変わった
  • 別の会社は使っていない研究クラスターに月5,000ドルを使い、実際の本番クラスターには月500ドル相当のリソースしか使っていなかった
    • リソースを本番クラスターに移し、ARMへ切り替えると、ユーザー応答時間は7秒から200msに短縮した
  • 社内データ処理APIが顧客向けWebサーバーと同じ2コアEC2 2台で動いていた会社では、バッチ処理に20時間かかっていた
    • ECS-on-EC2ベースの自動スケーリングコンテナへ移した後、20〜50個のコンテナが同時処理し、処理時間は30分に短縮された
  • MySQLからRedshiftへデータを移すツールが80時間かかっていた会社では、30億行のテーブルに SELECT COUNT(*) を先に実行し、LIMIT/OFFSET で全テーブルを走査する構造になっていた
    • データベースカーソルとS3へのストリーミング書き込み、メモリ内圧縮を導入し、抽出時間は80時間から40分に短縮された
  • 「クラウドネイティブ」という理由でシステム管理やアーキテクチャ経験を軽視すると、問題を検知できる人すらいなくなり、同じ問題が長期にわたり放置されうる
  • 顧客が離れている状況でもVCが「営業人員をもっと増やせ」と求め、開発者5人に対して営業・マーケティング50人という構成になる事例もある
  • 売上が落ちる会社が、製品転換や改善よりも既存アイデアと営業中心の戦略に固執すると、開発者は望む製品を作れず、企業の失敗につながる

経験と実際の成果物が無視される採用市場

  • テック採用のあり方は、この10〜20年で、単純な「コンピュータをうまく扱える」という評価から、社会的地位と面接ゲーム中心の構造へ変わったという認識がある
  • 実際の業務、経験、能力よりも、その場で問題を解き、話す過程のほうが大きな比重を占めている
  • 個人プロジェクトや実際の成果物も、面接評価に十分反映されていないと見られている
    • mpreg: 分散階層型トポロジカルソートによる自動依存解決データ処理システム
    • CRC処理改善: グローバルなファイル形式と宇宙ステーションの情報検証に使われたコードとして言及される
    • icli: 手動・自動の株式取引用CLI
  • 業界は実力よりも社会的・政治的地位と権力に近づいており、採用はより多くの「us」を作る方向であるべきだという問題意識がある
  • テック職務が広すぎる仕事を1人に背負わせる一方、採用では実際の経験を十分に見ないため、求職者が持ちこたえにくい構造になっている

開発者の裁量とプロダクト主導性

  • テック産業の雇用は過剰な投機資金に結びついており、資金と顧客が減るにつれて仕事も消えた、という結論につながる
  • 多くのテック職は、「software servant」のように、非技術系プロダクトチームが決めた作業と優先順位をこなす構造へ変わったと見られている
  • Engineering-led managementでは、実際に仕事をする人が製品を定義し、ユーザーと対話し、要件を決め、機能を実装する
  • 開発者の役割は、かつてはビジネス全体の視点から問題を解決することだったが、今では他人のアイデアと優先順位を実行するプロジェクト管理の作業者に近づいたという認識である
  • 同じ役割と労力でも、ある会社では1日400ドル、別の会社では1日2万ドルを受け取るという報酬格差が拡大し、こうした比較が求職者の無力感を強める
  • 良い製品、良いシステム、成長する製品と経済を作ることが、技術者の目指すべき方向として残っている

1件のコメント

 
GN⁺ 2024-07-18
Hacker News の意見
  • ソフトウェアエンジニアリングやその周辺業界だけの問題ではない。ヨーロッパの知人たちも、金融からファッションまでまったく別の業界で転職や昇進・異動を試みているが、かなりひどく失敗している
    最近の採用の大半は、個人の経歴や貢献できる可能性を見ずに、関門だけをひたすら通過させるようなものになっている。採用ポータルに載った履歴書は、山の一番下に沈む沈殿物のようなものなので、できるだけネットワークや知人を活用したほうがいい
    私も技術職の求人減少の打撃を受け、ソフトウェアコンサルティング会社に入ろうとして8か月間ベンチ要員のままだった。結局そこを辞め、企業・税務のバリュエーション業務に戻ったが、不完全雇用でも何もないよりは、特に精神面ではましだ
    原文ソースには「怠け者のサルのようにこのバナナで滑った」という小さな文言も入っている

    • 「最近の採用は関門ばかり多く、個人の経歴や貢献できる可能性を見ていない」という部分が核心だ。以前応募したときに「C++や高度なグラフアルゴリズムの経験は?」といった質問を受けたが、私のプロフィールや履歴書にはそんな内容はまったくなかった
      それでも、10年のソフトウェアおよび関連経験が突然無効になったかのような反応をされた。複数の言語を学び使ってきた人が、C++を暗黙的に少し使った程度だからといって、C++をまったく使えない人のように扱うのはおかしい
      ある会社は、求人票にPython経験は不要と書いておきながら、最初の電話面接で低レベルなPython実装の質問を浴びせてきた。それならなぜ面接をするのか分からないし、全員の時間の無駄だ
      結局、企業は採用のやり方をまったく分かっておらず、同じ理由でメンタリングや教育もできない。ただし応募者側から見ると、自然なフィルターにもなる。採用ができない会社は、働きやすい場所ではない可能性が高いからだ
    • ここ数年、コンピュータサイエンスの卒業生をメンタリングしてきたが、面接プロセスでアプリやWebサイト全体を作らせるような過剰な課題を要求する会社がたまにある。そういう場合は断るよう助言しているが、実際にはまれだ
      面接プロセスが長すぎると不満を言うケースも多いが、詳しく聞くと合計4〜5時間程度であることがよくある。数年前、短い面接だけで人を採っていた時期の基準が期待値を歪め、その頃に入社した若いエンジニアたちは、今ではどんな面接量でも不合理に感じているようだ
      Redditであらゆる課題を拒否しろと言われるため、60分以下の簡単な課題まで拒む人たちを説得しなければならないことが多い。何か月も失業中なのに、最小限の時間投資で応募を前に進められる課題をまた「勇敢に」拒否する姿を見ると、もどかしい
      もう一つの問題は、1社から返信が来ると求職活動を止めてしまう人たちだ。求職は逐次処理ではなく並列処理だと、繰り返し伝えなければならない。動きの遅い会社1社と面接して、何か月も返事を待っていると、候補者にとって大きく不利になる
      過剰な面接ループが確かに存在するのは事実だが、平均的なケースはインターネットで読むほど悪くはないと思う
    • タイトルのほうにはある程度効いたようだが、Minions の部分にはあまり効かなかったようだ
      出力例は「Panic! at the Tech Job Market」を要約するとして、LIKE SLUGS THROUGH THE HOURGLASS, THESE ARE THE DAYS OF OUR TECH TRIUMPHS のような文句を作り、金利・技術職採用・企業タイプを整理していたが、Minions の指示にはきちんと反応できていない様子だった
    • 欧州連合はある程度景気後退の状態にあり、金利と失業率のつながりもよく知られている。ECBが金利を引き上げた後、ヨーロッパで就職が難しくなったのは驚くことではない。幸い、今は金利を下げている
      本当に説明が必要なのは、米国全体の雇用市場が数年間例外的に強かったにもかかわらず、なぜ米国のテック業界だけがレイオフと採用凍結に見舞われたのかという点だ。答えは金利のように見えるが、テック業界が旅行・レジャーのような業種よりもなぜ大きな影響を受けるのかを、きちんと説明する必要がある
      個人的には金利が周辺的に役割を果たしていると思うが、筆者が2020年2月をテック採用の基準点にしたのはよくなかった。2020年1月とそれ以前は比較的正常だったが、パンデミックがテック採用を暴走させ、チャートは70から220まで上がった
      3年分の採用を1年でしてしまえば、いつかは止まらなければならず、利上げがその停止の合図になった。他のあらゆる業種が事実上、政府の指示で休業状態だった時期と重なっていたため、2024年にテック業界が他業種と違って見える理由も説明できる
    • 原文ソースの文言が面白かったので、ChatGPTが指示に従うか見ようと思ってページ要約をさせたところ、ベーシックインカムについての短い段落を出してきた。だが原文にはそんな内容はない
      なぜ間違ったのか尋ねると、たった今要約したと言っておきながら、実はWebページを要約することはできないと答えた。それはおかしいと言うと、メッセージを削除し、ChatGPTのコンテンツポリシー違反だという通知が出た
      結局、コンピュータが一度嘘をつき、さらに嘘をつき、その反応がコンピュータを不快にさせるかもしれないとして検閲した、というわけだ。人々がこんなゴミをどうやって使っているのか分からない
      Geminiで試すと、金利とレイオフについての要約を出してくれ、そちらのほうが期待した結果に近かった
  • ときどき、Google の報酬の半分以下しかもらっていないと思って憂鬱になることがあるが、目を開けると、娘の幼稚園の先生たちが30人の幼児を見ながら、私の稼ぎの半分にも満たない額で働いているのが見える。看護師や医師は数か月も耐えるのが難しい条件で働いていて、スーパー、ガソリンスタンド、警察、消防、社会福祉、教師も同じだ。
    だから、私たちが何に不満を言うべきなのか分からない。3人のスタートアップの「低い」報酬だろうが何だろうが、私たちは一日中 コードのパズルを解いて大金をもらっている。
    Google に勤める友人と比べるのをやめて、穏やかで幸せな心を育てる方法を学んだほうがいい。

    • Xoogler として言うと、Google は昔とは違う。高い給与の代償として、一緒に働く大半の人が Google からどうやってもっと金を引き出すかに関心を持っている、という事実を受け入れなければならない。
      幼児の世話をすることのほうが、与えられた一度きりの人生を使うには、一見してもよりよい方向に見える。
    • 少ない投入でこれほど多くの金を稼ぐのが倫理的なのか、信じがたくなることがある。在宅勤務中に妻と町を見て回っていて、360Kč の会計に 500Kč を出したら、いくらお釣りを渡すべきか分からず困っているウェイトレスを見て、すぐに答えが出た。
    • 父は学校の用務員として働いていて最近退職したが、仕事があまりにも人をすり減らすものだったので、ようやくほっとしていると言っていた。配偶者は看護師で、定期的に出勤を怖がっている。一方で私は出勤が怖くなく、むしろ成長していると感じている。
      お金が必要なくても、この仕事を続けると思う。本当に好きなことができ、自分の技術を使って役に立つ人間になり、ほかの人を喜ばせることができる。しかも父や配偶者の約3倍をもらっている。
      HN の多くの人はバブルの中にいる。外の世界がどういうものかまったく知らない。事実上、王族のように扱われてきたからだ。人はどこにいようと、自分の持っているものを奪われたくないし、後退したくない。たとえ誰かの終着点よりも前からスタートしていたとしても同じだ。
      プログラミングが役に立たないと思っているのか? 技術を必要とする事業がないと思っているのか? 広告を売るために中毒性のあるものを作るテック企業ではなく、実際に社会に貢献する有用な事業で働くことになるだけだ。
    • 今言ったことすべてに対して不満を言うべきだ。システム全体が壊れている。
      誰もがこんなひどい条件に置かれずに生きる権利を持つべきだが、私たちは社会的に彼らを対等な存在として見ていないため、それを許し続けている。個人的に耐えられるなら、ほかの人たちが耐えている苦痛は簡単に無視される。
      みんながより良い生活を送れるなら、私は喜んで少ないもので暮らす。実際には富の蓄積の規模があまりにも大きいので、そこまで多くを犠牲にする必要すらない。その富を再分配するだけで十分だろう。
      システムの問題を個人主義的な解決策で解こうとしてはいけない。私たちの小さなバブルの外にいる全員が苦しんでいるのに、どうやって穏やかで幸せな心を持てるのか分からない。
      「私たちのバブルはほかのバブルよりましだから幸せでいよう」という態度は悲劇だ。みんな同じ船に乗っていることを忘れてはいけない。
    • ゲーム業界で働いているので、目標は30万ドル超の総報酬を狙うことではなかった。
      しかしゲーム業界で働くということは、そもそも「穏やかで幸せな心」という考えをある程度手放さなければならない、という意味でもある。
  • 以前はコーディング面接は日常業務とはまったく関係のない通過儀礼だと思っていたが、久しぶりに求職市場に出たシニア/スタッフ級エンジニアになってみると、必ずしもそこまで悪いものではないのでは、という方向に不承不承ながら傾いている。
    ここ数年で積み上げた技術のおかげで通過できている感じがあり、そうだとすればコーディング面接はある程度シグナルを捉えているのかもしれない。シニアになればなるほど、コーディング面接は完全に無意味だという考えから離れつつある。

    • コーディング面接にも種類がある。業務に直接適用される基本的な質問をすること、経歴を偽っていないか確認するために基礎知識でフィルタリングすること、思考過程を見て動くコードを作れるか確認することは問題ない。
      しかし、日常業務とは何の関係もない極端に難解な問題を制限時間内にその場で解かせ、答えが間違っていたり最適でなかったりすれば落とすのは、安く使える新人を選別する過程に近い。
    • プログラマーには2種類いると思う。コードを書いて何かを作れる人と、何かを作れるうえに、コードを書くことの理論を会話で説明できるほど流暢な人だ。2つ目のグループは1つ目より5倍役に立ち、コーディング面接はどちらのグループかを試すものだ。
      1つ目のグループは理論的な流暢さは重要ではないと考えがちだが、実際の問題を解かなければならないときには2つ目のグループを探すことになる。コードを書けるだけで、コードについて理論化できないチームは、後で別の人が作り直さなければならないゴミの山を積み上げがちだ。
      もちろん、素早く理論化できない人、人前でできない人、プレッシャーの大きい面接の場でできない人もいる。そうした形式上の問題は解決すべきだ。難解な雑学質問も無意味だ。
      それでも「コーディングテストは日常業務に必要な技術を試していない」という基本的な反論はおかしい。毎日使う技術ではないが、必要なときに取り出すべき技術であり、毎日やっていることを支える技術だ。整備士が毎日エンジン理論を使うわけではなくても、エンジンの仕組みを知らない整備士に長く車を預けたいとは思わないのと同じだ。
    • 人々がコーディング面接をなぜあれほど嫌うのか、理解したことがない。雇用主の立場では、言葉だけで受けた印象ではなく、実際の能力をある程度確認するのは当然だ。
      候補者からはとんでもない解法をたくさん受け取ってきた。ごく簡単な kata をやらせて、コンソール出力を作る小さなプログラムをきれいにリファクタリングし、機能を1つ追加してもらうのだが、半分は動くようにすることすらできない。多くの人はコードのきれいさにまったく努力しない。求めているのは、動くようにして見栄えをよくすることだけだ。
    • 最後に面接を受けて LeetCode の問題をいくつか解いたとき、ほとんどはイテレータの実装、畳み込み演算、そして必要ならメモ化を加える組み合わせで些細に解けた。
      すべての問題がそうではないが、易しい〜中程度の難易度のコーディング面接問題の大半は、この3段階でかなり一般的にカバーできるように思う。最初の仕事を探していたときはこういうことをまったく知らなかったので、時間がたつほどコーディング面接の問題が簡単になったと感じた。
      実務で Python を多く使っていたわけではないが、yield キーワードは LeetCode の問題ではほとんどチート級だ。
    • 個人的には、シニア/スタッフ職のコーディングラウンドのほうが簡単になった。同じ質問でも、面接官の経験や探しているシグナルが違うので、問題解決、コミュニケーション、テストなどを見る。
      ジュニアや「SDE II」レベルのコーディングラウンドには、昇進したばかりの SDE たちが候補者と自分自身との競争のようにしてしまう有害さがある。面接官が考えていたものより単純な解法を出したら、不快そうにされたこともある。
  • 文章自体はおおむね良いが、筆者は報酬水準を過度に膨らませて見ているように思える。安定した非テック企業であるトラクターメーカーが1日5,000〜1万ドルを払うと言っている箇所がある
    税込みなので半分にし、ソフトウェア職だけを対象にするとしても、平均報酬が年額ほぼ100万ドルというのはあり得ない。米国のソフトウェアエンジニアの平均は約13万5,000〜15万ドルで、この平均には最高報酬帯のFAANGエンジニアも含まれている

    • 記事全体としては、「金利が上がるとベンチャーキャピタルの資金が減る」以上に付け加えることはあまりない、誇張に近いもの。福利厚生を含めても数字がひどく膨らんでいる
      その水準を受け取っている個人はいるが、以前聞いた話では、年間総報酬100万ドル以上はGoogleの初期ユニコーン級エンジニアが受け取るレベルだった
    • 1日5,000〜1万ドルなら、年間勤務日250日として125万〜250万ドルになる。トラクターメーカーでその程度というのは出所が分からない
      おそらくゼロを1つ余分に付けたタイプミスだった可能性が高い。1日500〜1,000ドルなら年12万5,000〜25万ドルで、はるかに現実味がある
    • おそらく「キャリア全体の実働日数で割り、株式の指数関数的成長まで反映した日給換算の平均報酬」のような計算を使っているのだと思う
      原文では、現代のテック環境において安定した「ハイパースケール超成長」企業が、経験者に対して毎年指数関数的に成長する株式報酬の価値を含め、1日1万〜5万ドル相当を払うとされている
      年収25万ドルなら1日あたり約1,000ドルにすぎないが、40年のキャリアの間に高成長企業の株式報酬で5,000万ドルを積み上げられるなら、平均で1日5,000ドルになる
      いささか怪しい計算で、もっと明確に説明すべきだったし、なおかなり野心的な仮定ではあるが、文章の随所の示唆を見る限り意図はそういうことらしい
    • 筆者の履歴書の「available for employment」の下には、Google L10の給与リンクとAmazonのdistinguished engineerがある。つまりソフトウェアエンジニアのラダーにおける期待報酬基準が上位0.01%、あるいはそれ以上の人に見える
    • あり得ない。市場報酬に対する感覚がなく、期待値がこれほどずれているなら、採用されないのも驚きではない
      履歴書からも分かるが、FAANGでの適正レベルをL10だと考えているようだ。これは極めてまれなレベルであり、彼の経歴でそのレベルに合わせられる可能性は0%だ
      文章全体は、過度に膨らんだ資格意識で要約できる
      https://matt.sh/files/a-resume/resume.html
  • この筆者は、驚くほどの資格意識で知られている。Redisにいくつか些細な貢献をした後、敵対的買収を試みた人物だ
    そういう点を見ると、期待に合う仕事を見つけるのに苦労しているのも、それほど驚きではない
    https://news.ycombinator.com/item?id=9176800

    • antirezが「Redisのコードベースに重要な貢献をした人は片手で数えても指が余るが、Matt Stancliffはその一人だ」と言っているのを見ると、中核的な貢献をしたのは確かに見える
      ただし持ち出された出来事はかなり古く、現在の話題との関連性は低い。資格意識が強いのは少し気まずいが
      https://groups.google.com/g/redis-db/c/PxFeA0fHgO4/m/zD4IWbXlMOgJ
    • 長文なので最初は共感したが、数百語を過ぎると「明らかに十分な自分の仕事が、なぜ採用につながらないのか」と不満を述べているように見えた。これは広い求人市場全体についての根拠というより、論理的誤りと少し大きな自尊心に近い
    • 今ではある程度の自己認識ができたように思える。ただ、カンファレンスで奇妙な提案をしていた当時はそうではなかった可能性が高そうだ
      記事上部のGitHub Sponsorsリンクを見ると、月額1万2,000ドルの支援を誰かが申し込むと確信しているように見える
    • その貢献は些細ではなかった。何を言っているのか分からない
  • 「馬鹿げて見えても機能するなら、それは馬鹿ではない」という言葉のように、以前の職場のあらゆる問題を見抜けるほど賢かったのに、その会社たちがなお潰れたのだとしたら、自分が考える理想的な従業員ではなかったのかもしれない。プログラミング面接は自分には低すぎて、劣った人間だけが通るものだと思っているのに家賃を払えないなら、その面接はそれほど低レベルではないのかもしれない
    AWSの知識でクエリを7秒から40msに、バッチ処理を40時間から20分に短縮することが、会社の成功と失敗を分けるケースはまれだ。経営機能不全はしばしばその差を生むが、それを皮肉なブログ記事のネタとして記憶しているだけでは、雇われる理由にはならない
    会社にもっと良いシステム管理をしてほしいと望むのは、ある程度までは良いことだが、データベース設計とAWSコスト削減に集中しすぎると、McKinseyの寓話に出てくる真ん中の石工になるということだ

    • システム管理者として、プロダクト・営業・マーケティングの問題まで解決すべきだったという意味なのか? 特定の立場では、できることは限られている。人々が高くつくミスをしていると知らせても、説得するのは本当に難しいことがある
      マーケティングチームが仕事を台無しにしているなら「マーケティングがめちゃくちゃだ」と言うことはできるが、知らせる以上のことはしにくい。どれだけ外交的に言っても、組織階層で十分に高い位置にいなければ、エンジニアリング側から直すのは難しい
      以前、CEOの友人が新しいマーケティング責任者として来て、そのマーケティング判断について丁寧に懸念を示したところ、CEOに叱られた。その後、その責任者はブランドを台無しにし、顧客を混乱させた
    • あらゆる問題を見抜けるほど賢いのに会社が潰れたのなら、むしろ理想的な従業員だったのかもしれない
      技術職かどうかにかかわらず、大多数の役割で採用責任者が好むのは、「跳べ」と言われたら「どれくらい高くですか?」と聞く人であって、「いいえ」や「なぜですか?」と聞く人ではない
      仕事をうまくこなせる程度にはシニアであるべきだが、上司が自分をジュニアのように感じるほどシニアであってはならない
    • 問題を見抜くことと、その問題を解決する権限を与えられることが常にセットで来るかのような、かわいらしい解釈だ
      たぶん記事で言及されている面接官か従業員の一人なのだろう
    • McKinseyの寓話が何なのか気になる
    • 彼の口調とこの口調は、同じ布から切り出されたように見える
  • 現状は本当に良くないが、理解している限りでは、新卒とジュニアが最も大きな苦しみを受けている。業界が収益性の高いものに見えたため、多くの人がソフトウェアエンジニアリングに殺到し、コンピューターサイエンス卒業生が過剰に輩出された
    スタートアップに、経験のない人に賭けるべきだと説得するのは難しく、成熟した会社もジュニア2人分の費用を払うくらいなら、1.5人分の価格でシニア1人を採って似たような仕事をさせようとする。以前はC級の会社にも、インターンシップから正社員につながるパイプラインがあったが、今はずっと珍しくなっているように見える
    金利上昇、今流行っているものだけを追う投資家、近い将来の不確実性のせいで、新規プロダクトや機能、そしてそれに必要なエンジニアの成長を投資家に納得させるのが、より難しくなったようだ
    ここ数年で解雇された優秀な人材が多く、企業は採用で大きな優位に立っている。そのかなりの人たちは大幅な減額も受け入れる意向があるので、平均的な人を選ぶ理由が減っている

    • 自分の場合はまったく逆だった。この2年は、2010年代初め以降にテック業界で働いてきた中で、最も良い時期だった
      2019年ごろには、業界を離れることを真剣に考えていた。業界全体がLeetCodeの反復練習、総報酬の追跡、平凡なドローンの集まりになっていた。実際の問題はおろか、挑戦的で面白い問題に取り組んでいる人を見つけるのも難しく、一緒に働いた人たちはプログラミングやコンピューターサイエンスにまったく関心がなかった
      ところがこの2年で、本当に素晴らしいことをしている複数のチームと仕事をし、粘り強く賢い人だけで構成されたチームにも出会った。特にAIまわりの新しいコツや手法を使ってプロジェクトを作り始めている
      今は難しい問題を解く小さなチームが数多く資金を得ており、面白く才能があり、本当に奇妙なプログラマーたちが再び見つかるようになっている。何かを作り、問題を解くのが好きな人たちが再び仕事を得ている
      物価を考慮すると、久しぶりに最も少ない報酬しか得ていない気がするが、ようやく仕事がまた楽しくなった。作ることに取り憑かれた人たちと一緒にハックできる
    • ジュニア人材を採用する会社の立場では、最近流行した1〜2年単位の転職のせいで、価値提案が特に魅力的ではなくなっている。育てたら去ってしまう、あるいはそもそも経験者を買える水準の給与を要求するなら、投資する価値は下がる
    • コンピューターサイエンス卒業生が過剰かどうかは分からないが、少なくとも自分が期待するジュニアエンジニアが過剰だとはまったく見えない
      自分の基準でのジュニアエンジニアとは、アルゴリズムとデータ構造を知っていて、少なくとも1つのプログラミング言語を本当に理解しており、その言語で小さなプログラムを素早く書ける人だ。実務経験はなく、1万行を超えるプロジェクトをやったことがないかもしれず、CI/CDやDockerを知らないかもしれないが、コーディングはできなければならない
      しかしジュニア面接を受けに来る大半は、コーディングができない。自分が一番好きだと主張する言語で、面接中に5行のコードすら書けない。料理ができないのにジュニア料理人に応募したり、運転できないのにジュニアタクシー運転手に応募したりするのと変わらない
      ジュニアは「知識は多いが経験がない」であるべきなのに、ITでは不思議なことに「知識も経験もない」と考える人が多い
      過剰に輩出されたジュニアエンジニアがどこで見つかるのか教えてくれれば、喜んで採用したい
    • ジュニアエンジニアにとってさらに難しくなったもう1つの理由は、以前よりニアショア・オフショアのアウトソーシングがずっと増えたことだ。Zoomなどは10年前よりはるかに良くなり、誰もがリモートワークに慣れた
      ラテンアメリカや東欧の優秀なエンジニアたちと仕事をしたことがあるが、最近では米国拠点のエンジニアと働くのとほとんど同じだ。英語も上手で、勤務時間の重なりも十分あり、特にラテンアメリカは2000年代半ばのインドへのアウトソーシングの悪夢とは正反対だ
      いずれにせよ、人とのやり取りの99%はZoomやMeetで行われるので、どこにいるかは大した違いではない。だから米国のジュニア開発者に米国の給与を払うのが難しくなる。同じ金額、あるいはそれより少ない金額で、ラテンアメリカや東欧の優秀なシニア開発者を見つけられるからだ
    • 以前は「ジュニア2人の代わりに、1.5人分の価格のシニア1人」だったが、今は「求人自体を取り下げ、既存のシニアたちをもっと酷使する。彼らにも選択肢がないと分かっているから」に近い
      応募していたり面接を受けていたりしたポジションが何度も取り消され、友人2人もそれぞれの会社で同じことが起きていると言っていた。あるケースでは、5人チームが2人チームになり、航空会社の中核サービスを運用している
      新卒にとって悪いのは確かで、思ったよりさらに悪いかもしれない
  • この15年間、人材、主にエンジニアを採用する仕事をフルタイムでやってきており、現代の採用に対するMattの批判の多くに強く共感する
    ほとんどの技術面接は、パン職人を採用するのに、電子軌道がどのようにグルテン結合を作るのかを尋ね、有効な軌道構成をその場で描けなければ落とすのと同じくらい、職務上の成果とは関係がない
    Mattの比喩は、請負業者の採用のような取引的な採用にはよく合うが、今後数年間長く一緒に働くという相互の期待がある状況にはあまり合わない。エンジニアを採用する会社は、たいてい人々にチームでパンを焼かせなければならず、そのチームは時に非常に大きい
    責任がどんどん細分化されると、実際には有効な軌道構成を描けるパン職人が少なくとも1人は必要になる。そして量子力学に強いパン職人を見つけたなら、今度はその人が一緒に働くにはひどい人物ではないかも確認しなければならない
    だからリファラル採用は昔も今も王道だ。誰かが仕事をうまくできるかを判断する最高のテストは、数年間一緒に働いてみることだ

    • リファラル採用は、実際にはほとんどどこにも存在しない
      自分が本当に優れたソフトウェアエンジニアだと知っていて、自分の雇用を賭けて保証できる人たちを推薦しても、他の候補者とまったく変わらない扱いを受けた
    • 今ではそれが現実だ。パン職人もそうやって面接される
    • 上位1%のテック企業でないなら、この論理はあまり当てはまらない。すべてのテック企業が、自分たちは「最高のパン」を作らなければならないので最高のパン職人が必要だと考えている
      現実的ではないが、投資家が数百万ドルを使えと言って渡してきたなら、何とかして使わなければならないのも確かだ
    • 「軌道構成を描けるパン職人が必要だ」というような考え方が、この有害な採用市場に寄与している
      応募者が多すぎ、仕事が少なすぎることがすべてだ。インフレ、パン作り、金利、チームビルディングのような話は、すべて特権意識の症状だ
      応募者が2人しかいなかったなら、そんなふうには考えなかったはずだ
  • この記事のナプキン計算はどれも首をかしげるものだった
    「1日あたり」という基準がどこから出てきたのか分からない。役員報酬なのか、中堅・シニアエンジニアの報酬なのかも不明確。1日5,000〜1万ドルなら年100万〜300万ドルで、特に株価が大きく上がった年ならあり得るが、記事で言うほど一般的ではない
    こうした数字が「GoogleやAppleではなく、何年も継続して成果を出しているトラクター会社や重工業会社」から出てくるというのも信じがたい。隠れた会社だと言うが、具体例があるのか気になる。通常、非テック企業ではソフトウェアエンジニアはコストセンターであり、報酬はずっと低い
    「実質インフレと生活費が毎年7〜13%上がると計算すれば」という脚注も、過去10年にわたってそれほど異例のインフレを主張するなら、計算根拠を示すべき

    • 筆者は20年以上の経験があると言っているので、実質的にはVP級の役割と比較しているように見える。FAANGで出会った40代以上のかなりの人は実際にシニアスタッフ以上、またはディレクター以上だったので、第一印象ほど狂った数字ではないのかもしれない
      ただし、その数字に到達するには株式価値の上昇も反映する必要があるはず。そしてFAANGでVP級に到達する人より、そもそも去っていく人のほうがはるかに多いと思う
  • 記事の中に埋もれた良い点はあるのかもしれないが、読んで伝わってくるのは自己省察の乏しい苦々しさだ。一緒に働きにくく、その責任を他人に転嫁しそうな人に見える

    • 読み始めたが、序盤から11万5,000語の愚痴文のような苦いトーンを感じた
      運動していることを証明しようとして自分の写真まで見せるような、くどくどした印象だ。人それぞれやり方はあるだろうが、面接で落ちるのは実力の問題ではなく態度の問題かもしれないと思った
    • 「私はコーディング面接に受かったことがない。コーディング面接は間違った人を採用する!」というような箇所で読むのをやめた
    • なぜ記事全体で報酬だけが唯一の考慮事項なのか分からない。お金も良いが、何を作るかも重要ではないのか?
    • 「比較は最悪の感情であり、幸福の死だ。20年前にAppleやMicrosoftに入り、一度も辞めなかった人たちと自分の位置を比べてしまう」という引用は理解できる
      だが、そういう人たちを知っているほど幸運なら、そのつながりをキャリア強化に活用することもできるのではないか?
      適切なタイミングで適切な会社に入り、何百万ドルも稼ぐ人たちもいるが、自分が次の職場で15万ドルを受け取れるなら、地域によってはかなり満足できそうだ。リモートワークが今も広く可能で、生活費の低い場所に住めるならなお良い
      ただし筆者は15万ドルを大金とは見ていないようで、記事の内容を見ると、自分より経験もシニアリティも高いのは確かだ