
2025/12/29 6:29
ソフトウェアエンジニアは、少し皮肉っぽい考え方を持つとよいでしょう。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
主旨:ソフトウェアエンジニアは単なる政治的駒ではなく、大手テック企業を形作る専門職である。
重要性:エンジニアは深い技術専門知識を持ち、製品方向に影響を与える。著者が「シニカル・インサイト」と呼ぶ現実的かつバランスの取れた見方は、純粋な理想主義や破壊的な悲観に陥ることなく企業現実を乗り切る手助けになる。
主要議論:
- 一般的な「イデアリスト」物語では、大手テック経営者は権力欲が強く、エンジニアは株価上昇のために低品質コードを作ると描かれ、ユーザーに害を及ぼす。
- 実際には企業リーダーは良いソフトウェアを提供することを目指し、エンジニアは技術的な仕事を通じて製品決定に影響を与えることができる。
- エンジニアの政治参加は汚職ではなく、GitHub の 1億5,000万人ユーザー向け LaTeX サポート追加などの必要不可欠な調整形態である。
- 政策を支配しない前向き変化を求める公務員と同様に、エンジニアは限られたが重要な影響力を持つ。
- 多くのエンジニアは経済的動機とシニカルであり、著者は良い仕事を通じて企業をより良い結果へ導く機会を見出している。
- シニシズムはテックジャイアンツに対する極端または陰謀論的信念から守る「薬」として提示されている。
- 過度に理想化した執筆は新入社員を誤導し、幻滅とキャリアの挫折につながり得る。
実践的なポイント:エンジニアは直接関わるシステムに集中すべきであり、一般的な設計助言は深いコードベース知識がない限り有用性を欠くことが多い。
行動呼びかけ:著者は大手テック企業の実態を現実的に描写するよう促し、読者に更新情報への登録と投稿の共有を奨励している。
本文
多くの読者は私が「マネージャーを喜ばせる行動を取れ」とか「大手テック企業ではプロジェクトは上層部で決められる」という発言をすると、私はシニカルだと言います。Alex Wennerberg はその事例を Software Engineers Are Not Politicians という記事の中で「Sean Goedecke is a cynic」ケースとしてよく示しています。以下に抜粋を紹介します。
私は確信している――セアンのアドバイスは大規模かつ成熟したソフトウェア製品を作る組織の上層部で非常に効果的だと
しかし、価値観というものが失われてしまいます。エンジニアは「政治ゲームの道具」以上の存在ではないかと言うのは、あまりにも単純な考え方でしょう。彼らは専門職として、自身の知識を活かし意味ある問題解決に取り組むべきです。
皮肉なことに、このような思考は企業が実際に利益を上げる能力を破壊します。マネージャーの指示を最初に受けて行動するという自己像で始めるべきだという考え方は、私には非常に暗いものです。官僚的組織内で円滑に運営するための良い方法かもしれませんし、妥協や指示を仰ぐことが必要な場合もあります。しかし、良い仕事をする上では悪い方法と言えます。
そのように思われる理由は分かります。ですが私は大手テック企業で働くのが好きです! 私は自らを意味ある問題を解決するプロフェッショナルと見なしています。そして組織をうまく乗り越えて実際にユーザーへ機能や改善を届けることこそ、良い仕事をするための素晴らしい―多分最高の―方法だと思っています。ではなぜこうしたシニカルな投稿を書いてしまうのでしょうか? 私は少しのシニシズムが組織の働き方を明晰に考え、過度にシニカルになる罠から守るために必要だと考えているからです。一般的に、良いエンジニアはややシニカルであるべきだと思います。
理想主義者の見方は実際には理想主義者よりもシニカル
ソフトウェア工学に関するドクトリン化された「理想主義」的な見方を次のようにまとめることができます。私はこれを最も過激な形で表現していますが、多くの人がこの考えを文字通り受け止めていると思います。
私たちは遅期資本主義の地獄で暮らしており、大企業は権力欲だけに走るローバー・バーンのような人物によって経営されています。これらの会社が望むものは、従順なエンジニアのドローンが不良コードを素早く生産し、(ほとんど架空の)株価を上げることだけです。その一方で、エンドユーザーは損失を負担します。より高い価格で低品質なソフトウェアを購入させられ、広告に悩まされ、修復が不利益となるバグに直面するのです。倫理的なソフトウェアエンジニアができる唯一のことは、上司に逆らい本当に良い仕事を行う一時的なニッチを見つけるか、趣味の農場で退職し、余暇に洗練されたオープンソースソフトウェアを書くことだけです。
この全文を書き出すと、非常にシニカルであることが明らかです。少なくとも、同僚や上司を「仕事をしている人々」として見るのではなく、「良い仕事をしたいという欲求と自分の上司を喜ばせる必要性」を両立させている人物として見てしまうのは誤りです。さらに、私の限られた経験から、大手テック企業を率いる人々が実際にユーザーへ良いソフトウェアを届けたいと考えていることは否定できません。
この見方は「個々のエンジニアが妥協する必要性」を認めない点で理想主義的です。つまり、会社から何度も妥協を迫られたとしても、道徳的に自分の足を踏み出し、「バカ野郎」というレッテルを貼るべきだという立場です。この行為は現代ソフトウェア界全体の堕落に対する抵抗であり、ユーザーのニーズ(彼らがあなたを知らないままであっても)を守るための無名のヒーロー的な行動です。
この見方には魅力があると私は理解できます。しかしそれは理想主義的ではなく、世界を根本的に腐敗・利己的だとみなし、真の変化が不可能だと信じるシニカルな呼びかけであると思います。
シニカルな見方は実際には理想主義者よりも理想主義的
エンジニアを「政治ゲームの道具」と見るか、意味ある問題を解決する専門家と見るかの間に厳格な境界線は存在しません。実際、多くの意味ある課題は政治的ゲームを演じることでしか解決できないと言えるでしょう。
完全に自分一人で解決できる問題はほとんどありません。ソフトウェアエンジニアは、単純なコード変更だけで大きな影響力を持つことが多いという点で平均よりも多くのこうした課題に直面します。しかし、大規模プロダクト(例:GitHub の 1億5千万人ユーザーがマークダウン内で LaTeX を使えるようにする)に変更を加えるには、会社内の多数の人々と協力しなければならず、これは政治的関与を意味します。
ソフトウェアエンジニアは大手テック組織の「ムーブラー」ではありません。彼らが方向性を設定することはなく、その影響力は会社全体の方向性を具体的な技術変更へと翻訳する際に発揮されます。それでも実際には相当な影響力です!
大手テック企業は数億、あるいは数十億ものユーザーにサービスを提供しています。これら製品への小さな変更が集団的に巨大な正負の効果を生むことがあります。私の見解では、こうした変化を「洗脳されたように手を洗う」よりも、混沌とした政治プロセスに積極的に関与する選択は理想主義的行為です。
私はソフトウェアエンジニアの立場を公共サービスに従事する人々と似ていると考えます。彼らが政府方針を大きく左右できるとは知りつつも、少しでも良いことを成し遂げたいと願うわけです。
もちろん、大手テックのエンジニアは非常に高給であるため、多くの人が純粋に金銭的動機のみでこの仕事に就きます。しかし私はそうではありません。良い仕事を通じて大規模企業の巨大な構造をより良い方向へ導くことが可能だと信じています。
シニシズムは免疫として機能する
シニカルな文章は多くの薬同様「量」によって毒になるかどうか決まります。適度にシニカルであることは、過剰にシニカルにならないための免疫となり得ます。
大手テック企業でエンジニアが悪いコードを書きやすい理由を「私はここでは少しだけシニカルな説明」を持っていないと、より極端なシニカル説(例:テック企業は労働組合化を防ぐために意図的にエンジニアの士気を低下させている)を採用してしまう危険があります。実際にはそのような陰謀論は存在しません。
同様に、大手テック企業が非効率的な決定をする理由について「少しだけシニカルな説明」がないと、過度にネガティブな見方(例:テック企業は全員が無能である)を取ってしまうリスクがあります。実際には強いエンジニアと弱いエンジニアの健全な混合体です。
最後に
理想主義的な文章はソフトウェア工学について過剰に表現されています。良いコードを評価し、同僚に親切で、実際にポジティブな影響を持つプロジェクトへ取り組むべきだと説明する書籍やブログ記事は数多くあります。しかし、大手テック企業がどのように運営されているかを正確に描写した文章は不足しています。
もちろん、シニカルな文章は人々を悲しませたり、苦いシニカル主義者に変えてしまう可能性があります。ですが理想主義的な文章も同様に害を及ぼします。2010 年代に出てきた多くのソフトウェアエンジニアは、大手テック企業がどのように動いているかという事実と異なるモデルを持ち、2020 年代ではその結果「木片破壊機」に投げ込まれています。正しい企業運営モデルを内面化すれば、トラブルに巻き込まれる確率は低くなり、自身の理想主義的目標達成にも役立つでしょう。
この投稿がお好きでしたら、新しい記事のメール更新を購読したり、Hacker News でシェアしていただければ幸いです。