見出し画像

コードレスエンジニア

あなたは何をする人なんですか

コードを書くこと以外の仕事がメインになってから何年も経つ。
何を研究開発するかを決めたり、チームにアジャイルを導入したり、育成したり。
直接的にものを作る行為のみをエンジニアリングとするならば、エンジニアとは呼べないかもしれない。
しかし、何を作るべきか定め、そこにチームを導く。チームがそこにたどり着くための能力開発を行い、フォーメーションを形成する。
これはプロダクトを、そしてチームをエンジニアリングする行為にほかならない。
コードはほとんど書かないが、コーディングの外側で、もっというとソフトウェアエンジニアリングの外側でエンジニアリングを行う人を「コードレスエンジニア」と呼びたい。

たとえば、チームリファクタリング

チームの人数が増えると、コミュニケーションパスが増大してゆく。
個人個人にスキルが内包され、属人化の足音が聞こえるようになる。
距離的には半径3M程度に集約されているのに何をしているのかわからない…リモートならなおさら、チームメイトが何をしているのか、何を考えているのかわからないという状況は起こるだろう。

そういった状況をときほぐすのはコードレスエンジニアの重要な役割だ。
自分が直接的に携わるコードがないため、しがらみなく動きやすい。また、中立性があるという点も重要だ。
情報の流通経路を透明化し、属人化している箇所があればペアプロなどのプラクティスで解消を試みる。そうしてチームの複雑度を下げ、機動力を上げる。
これはコードベースに対して行うリファクタリングと同じく、生産性を向上させる立派なエンジニアリングだ。

コードレスエンジニアは越境する

エンジニアリングの対象をコードからチーム・プロダクトへと引き上げることで、コードを書く時間は少なくせざるを得ない。場合によってはほとんど取れないだろう。
これは、それまでコーディングで培ったノウハウ・スキルの延長線にはない能力開発が必要であることを意味する。

たとえばマーケティング。
たとえばチームビルディング。
たとえばコミュニケーション。

エンジニアリングの対象とするチームが自分と同じバックグラウンドとは限らない。自分の価値観とは合わない価値観のメンバーもいるだろう。

読書などでインプットをする際、私は意識して「不得意分野」をインプットするようにしている。
新たなスキルを習得するという観点と、自分にはない視点を得るという観点。

エンジニアリング外で例えると、ヘビーメタルの信奉者である私は本来的にはヒップホップを受け入れられない。
しかしメンバーがヒップホップを愛好しているとしたら?
あのラッパー気に食わない、ではなくそういう世界もあると受け入れる懐の広さ。それは多様な世界を知っていてこそ可能になる。

ソフトウェアエンジニアリングの外側へ向いたスキルを磨き、多様な視点を持つ。組織構造の中で不可避的に分断が生まれてゆくが、コードレスエンジニアはその分断を越境し、対岸からはしごをかけていくことができる。

「エンジニア」でいこうよ

「結局のところマネジメントじゃないの?」「ようするにEMだよね」そうだと言われればそうかもしれない。
しかし、やはり私は「コードレスエンジニア」という言葉を使いたい。

なぜか?

それは、そういったマネジメントの役割を担う人物がコードをガリガリ書くエンジニアであった可能性が高いからだ。
マネジメント、というとそれまでと全く違うスキルとミッションが必要であるように感じてしまう。それゆえ、エンジニアはそのキャリアパスを避けようとする。
もちろん新しいスキルは必要だし、ミッションだって違ってくる。
でもそれは全く異質なものではなく、エンジニアリングの延長線にあるものなのだ。

エンジニアリングの対象がコードからチームにプロダクトになる。それだけのことだ。
コード以外の方法でエンジニアリングし、自分一人では成し遂げられないことを達成してゆく。それが、コードレスエンジニアの醍醐味だ。

この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

6
ソフトウェアエンジニア、3児の父。 プログラミングなど具体的なインプリメンテーションではなくチームビルディングや自己の成長戦略など、経験から語れることを語ろうと思います。脱線もしていきたい。