個性との付き合い
技術職は個性的な人が多いと言われています。
確かに営業職に比べ、自分の好きなことを突き詰めて、それがファッションや髪型に表れている人は技術職の人のほうが多いでしょうし、事業系のエンジニアであればそれが問題になることも稀でしょう。
服装や働き方の自由度が比較的高いことが、技術職の良いところですね。
一方で私の場合は、仕事においてなるべく性格も見た目も無個性であることを目指しています。
主な理由は2つあります。
減点リスクをなくす
少数派の選択をとった場合、それに対して難色や不快感を示されることがあります。
私が20代の頃は少し明るめの髪の色にしている時期がありました。
年配の重役の方とお話するときに、髪の色について直接的ではないにしても難色を示されることがありました。
当時はまだ若く生意気だったこともあり、仕事を通して信頼を獲得すれば良いと考えていました。
結果的にはそのお客様とは非常に良好な関係になれたのですが、今考えるとわざわざマイナスからのスタートを選ぶ必要はなかったなと考えています。
もちろん、個性が加点になることもありますし戦略次第でしょう。
強い個性と強烈な成果が出せるとキャラクターとしてブランディングになりそうな気もします。(私にはそこまでの覚悟がなかった。)
かぶる帽子、つける仮面が変化するから
仕事では、立たされた役割に応じて、役を全うする必要があります。
- やさしく、質問しやすく、やわらかい人
- 冷淡で課題への解決を最優先する人
- ちょっと抜けているけど、皆が聞きづらいそもそもの質問を投げかけられる人
- 遠慮なく、ズケズケとものを言う人
- 強いプレッシャーをかけてくる人
- プレッシャーから守ってくれる人
仕事の状況や役割によって、どのような仮面であるべきかは変わるでしょう。
強い個性は状況に応じた仮面のつけ外しの邪魔になるかもしれません。
コードの世界に個性はいらない
ここまでの人としての個性は、単なる私の生存戦略であり、それが正しいとも限りませんし人によっては全く合わないことも考えられます。
終始一貫して人情味があって、熱血なキャラクターであることも素晴らしいことでしょう。
一方で、コードの世界となると話は別です。
それぞれの開発言語やフレームワーク、設計技法には定石や暗黙のルール、明確なルールが存在します。
それを蔑ろにして我が道を進むのは悪手です。
コードは無個性で、プロジェクトメンバーの誰が書いた部分かもわからないようなものが理想形です。
ここではコードから個性を剥がすテクニックをいくつかご紹介します。
.editorconfigの導入
複数人で作業を行っていると、「あの人が編集するといつも改行コードが変わってGitの差分がわかりにくくなる!」や「インデントルールが変わって何度直してももとに戻される」などの軋轢をみかけることがあります。そのような編集合戦や本来は興味の対象となるべきじゃないものを意識しないために .editorconfig を導入しましょう。
Prettierの導入
人はみな、普段使っているIDEやエディタに愛着があり、その設定でのコードフォーマットに慣れ親しんでいます。編集する対象のファイルが見慣れているルールと異なる場合、まるっとコードフォーマットをかけて可読性を上げたいと思うでしょう。
しかし、一方で他の作業者はそのコードフォーマットに対して、「折り返しのタイミングがおかしい!」などの指摘が入るかもしれませんし、指摘しないまでも黙って、その人がお気に入りのルールでコードフォーマットをかけて上書き戦争の発端になるかもしれません。
皆が同じ方向に進める経典となるPrettier設定を導入しましょう。
PHP CodeSnifferのようなものを導入してコーディングルールを強制するのも良いでしょう。
各種Lintの導入
例えば、「CSS(Sass)などで同一のグループに同じプロパティ書かないで」「いや、最後の記述が適用されるだけだし、エラーが出るわけでもないんだからそんなことに時間かけるのは不毛でしょう」という話をみかけることがあります。両意見とも妥当で、本質的でないことに労力をかけるのは勿体ないので各種Lintを導入し、チェックや修正は機械に任せましょう。
そしてプロジェクトごとにルールブックを機械が認識できる形式で定義し明確にしましょう。
定石を学ぶ
プログラミング、コーディングの世界においては、定石を守り、ライブラリやフレームワーク、言語のお作法に従うことでクセのあるコードから脱却し、無個性でよくみかけるような誰もが同じようなコードとなる世界に近づきます。それはリーダブルコードとなります。
一般的なデザインパターンやアーキテクチャを学ぶのも良いでしょう。
参考
add moreでは個性的な人も、そうでない人も募集しています。
株式会社add moreでは「コードには個性は不要だよね」という意見さえ一致すれば、個性的なエンジニアも、そうないエンジニアも歓迎しています。(但しTPOに合わせられる人)
ご興味のある方はコーポレートサイトまたはWantedlyからご応募ください。