雑魚だから社内政治をがんばる
下記ブログの感想文及び、私の備忘録となります。
私はエンジニアではないですが、考えさせられる内容でした。私も転職をした際に苦労したため、よい会社員になるためにはどのように立ち回ればよいのかを考察します。
著者を貶める意図はないことを明らかにしておきます。
記事の要約
エンジニアはプロジェクトの困難さについてマネージャーと話し、自身が「コードの保守もできない雑魚エンジニア」であると感じ、心が崩壊しました。彼は自殺の方法を考える毎日を過ごし、「うつ状態」と診断され、休職に至りました。休職期間中に状況が改善しなかったため、最終的に退職を決断しました。
著者が得た教訓
1.自分の能力に見合った会社と待遇の仕事に就くべきだった。
2.志向性が合う会社に行くべきだった。
彼が重視していたコードの保守性や運用性は、彼がアサインされたプロジェクトでは期待するほど重視されていませんでした。
3.もっとコミュニケーションを取るべきだった。
彼は、価値観の違いから摩擦が生じることは避けられないと思い、そのためにはもっとコミュニケーションを取るべきだったと考えています。
リファクタリングについて
やや本題からは逸れますが、リファクタリングについて説明しておきます。リファクタリングにより、コードはより読みやすく、理解しやすく、そしてメンテナンスしやすくなるというのが通説です。私のようなIT初心者には難しいと思うので、例え話を用意しました。
例え話
想像してみてください。あなたがとても長い、冗長な論文を読んでいるとします。この論文には重要な情報が含まれていますが、その情報を見つけるためには無関係な詳細や繰り返しの表現を探し出さなければなりません。このような論文は読むのが大変で、時間もかかります。
ここでリファクタリングが登場します。あなたは論文を再構成して、同じ情報をもっと効率的に伝えることを目指すでしょう。無関係な詳細を削除し、繰り返しの表現を一度だけにし、情報を明確に伝えるための構造を整理します。この結果、論文は読みやすくなり、情報を見つけるのがずっと簡単になります。
これがコードのリファクタリングと同じです。コードが冗長で理解しにくい場合、それは冗長な論文を読むのと同じです。
リファクタリングの性質
短期的には効果がないが、保守や拡張しようとした段階で効果が出てくるものという理解をしています。上記の例え話で説明すると、重大な発見をした場合は論文の体裁よりもまず提出することを優先すべきでしょう。
つまり、リファクタリングは重要だが必ずしも最優先ではないということです。加えて、リファクタリングは作成者にとっては読みにくくなる可能性すらあります。(1人、2人しか読まないのなら一旦放置でよいはず)
何のために仕事してるんだっけ
お金のために仕事をしているという話ではなく、どこを向いて仕事をするべきかという話をしたいと思います。上司でしょうか、同僚でしょうか、それとも顧客でしょうか。
一般的な社会人は上司を向いて仕事をしていると思います。”上司の顔色を伺う”というぐらいですからね。一方で、つよつよ社会人は顧客を向いていると思います。顧客が何を求めているかを理解した上で行動できれば上司や同僚の顔色を伺う必要はないと思います。(顧客を正確に理解している前提ですが)
新入社員にとっての顧客とは上司であり同僚であるとすれば、新入社員は二重の意味で上司や同僚が何を求めているかを考えて行動すべきだということが分かります。もしくは、なぜ採用されたかという点踏まえてそれをを忠実に実行すべきでしょう。何を求めているか分からない場合は、直接聞いてしまうのも一つの手でしょう。
最悪なのは自分だけのために仕事をしている人かもしれません。「自分が楽をしたいからさっさと業務のマニュアルを作れ」と主張する新入社員がやってきたらどう思うでしょうか。つまり、マニュアルを作成する利点があることを主張して、マニュアル作りを強制するのを自分の仕事だと思っているような人のことです。
マニュアルを作成する利点は数多くありますが、新入社員よりも教育者の方が会社にとって価値があるためすぐに作成できなくても仕方ないと考えるのが自然です。
会社のルールを理解しよう
会社がどのように動いているのかを理解することが大切です。A社ではリファクタリングが悪と捉えられていましたが、B社ではすべきことかもしれません。従って、リファクタリングの話はやや本筋からずれています。
会社が自分に何を求めているか、それを達成するためには何が障壁になっているのか、障壁をなくすためにはどうすればよいか。と段階を追って理解することが肝心です。(これらは、社風などと言われたりもします)
それらを理解するためには、コミュニケーションが必要だということです。
認められれば良かった
圧倒的な技術力で先輩を凌駕し、会社の中で自身の価値を明確にすることが重要かもしれません。とはいえ、自分の思い通りにいかない環境で他者を凌駕するだけのパフォーマンスを出すのは非常に難しいです。
つよつよエンジニアの半分ほどは環境が変われば雑魚エンジニアかもしれません。
ぼくのかんがえたこたえ
vs先輩
ぼく「先輩ってなんでもできるんすね。すごいです!」
ぼく「ぼくは頭悪いんで何が何だかかさっぱりです!お時間のあるときに教えてください!」
ぼく「先輩みたいに早くバリバリ働いて会社に貢献したいです!!」
vsマネージャー
ぼく「4段階中の下から2番目でいいんですか!?」
ぼく「期待していただき、ありがとうございます!」
ぼく「先輩がされていることはかなり高度ですが、頑張って追い付いてみせます」
ぼく「少し時間はかかるかもしれませんが、必ずキャッチアップしてみせます!!」
別にぼくの真意なんてどうでもいいんだから。立場を理解して自分の立場を利用することを考えるべきかもしれません。
生成系AIを用いてどう解決できるか
解読困難なコードはChatGPTに放り込んでください。難しい場合は論文をChatGPTに放り込んで要約してもらってください。もちろん、情報漏洩の危険がない範囲という前提にはなりますが。
もしくは、先輩やマネージャーに対する発言を柔らかく変換するために生成系AIを用いることもできたかもしれません。
得られた教訓
今回の話から得られる教訓はエンジニアに限りません。転職や部署移動など様々なケースで心構えとして機能するでしょう。
・雑魚ならば、社内政治を頑張る
(技術力が高ければ、社内政治をしなくてよい権利が発生する)
・郷に入っては郷に従え
その他の回答例
この記事が気に入ったらサポートをしてみませんか?