ソフトウェアエンジニアは少し皮肉を持つべきだ
概要
- 大手テック企業で働くエンジニアの現実と理想についての考察
- シニシズム(皮肉・冷笑)の必要性とその限度に関する議論
- 理想主義的な見方とシニカルな見方の対比
- 組織運営や意思決定の裏側に潜む現実
- 健全なシニシズムがエンジニアのキャリアや成果に与える影響
大手テック企業のエンジニアはシニックか?
- 読者から「シニック(皮肉屋)」と呼ばれる理由の説明
- 「上司を喜ばせるべき」「大手企業はプロジェクトを決める権限を持つ」という主張
- Alex Wennerbergの「Software Engineers Are Not Politicians」からの引用
- 上記のアドバイスは組織内での立ち回りには有効だが、「価値観の喪失」を招く懸念
- エンジニアは単なる「政治ゲームの駒」ではなく、専門性を持ち意義ある問題を解決する職業
- 上司の指示に従うだけの働き方は「良い仕事」には繋がらないという批判
理想主義とシニシズムの対立
- ソフトウェアエンジニアリングにおける理想主義的な見方
- 「大企業は支配欲しかない」「エンジニアは搾取されるだけ」などの極端な主張
- 本当に倫理的なエンジニアは「上司に逆らってでも良いものを作るべき」という思想
- この見方自体が実は「非常にシニカル」であることの指摘
- 現実的な見方の必要性
- 経営層も「良いソフトウェアを届けたい」と考えている場合が多い
- ただし、個々のエンジニアが「妥協」を求められる現実も否定できない
シニシズムは理想主義より理想的か?
- 「政治ゲームの駒」と「意義ある問題の解決者」の二分法は実際には曖昧
- 大規模なプロダクト改善には「社内調整(政治)」が不可欠
- エンジニアは「会社の方向性を直接決める立場ではない」が、「技術的変化を実現する影響力」は持つ
- GitHubの例:LaTeX対応などは多くの人との協調が必要
- 「政治的プロセスに関わること自体が理想主義的行動」という見方
- 公務員と同様、全体最適を目指して働く理想主義
シニシズムはワクチンのようなもの
- 「適度なシニシズム」は思考をクリアにし、過度なシニシズムを防ぐ効果
- エンジニアが悪いコードを書く理由を「少しシニカルに説明」できないと、逆に「極端にシニカルな陰謀論」に陥るリスク
- 例:労働組合対策のためにエンジニアを意図的に落胆させている、など
- 実際は「普通の組織運営」や「人材のバラつき」が原因
理想主義的な文章が多すぎる問題
- ソフトウェアエンジニアリングに関する文章は「理想主義的な内容」が多い
- 良いコードを書くべき、同僚に親切にすべき、社会的意義のあるプロジェクトに取り組むべき、など
- 一方で「現実を正確に描写した文章」が少ない
- シニカルな文章も人を傷つけるが、理想主義的な文章も害を与える可能性
- 2010年代のエンジニアが現実と乖離したモデルを持ち、2020年代に苦しむケース
- 正しいモデルを持つことで「理想の実現」にも近づく
倫理観と現実のバランス
- 「Microsoftなどの企業で働くことの倫理性」は本記事の主題ではない
- 私が主張したいのは「大手テック企業は無能である」というシニシズム
- 経営層が「自己犠牲で良いソフトウェアを作ることを優先しない」のは事実
- しかし、良いソフトウェアは会社の利益にも繋がるため、全てがゼロサムではない
- 「企業は従業員を意図的に不幸にしている」という陰謀論には懐疑的
- 実際には「従業員が辞めずに安く働くよう工夫している」だけ
まとめ
- シニシズムと理想主義のバランスを取ることの重要性
- 「現実を正しく理解すること」がエンジニア自身の理想実現にも役立つ
- 過度な理想主義も過度なシニシズムも避けるべき
- 「健全なシニシズム」のすすめ