ディレクションが出来るエンジニアがいれば、ディレクターは必要ない

近、フルスタックエンジニアって言葉がバズワードになっている。設計・インフラ・ミドルウェア・モバイル・デザインなど幅広い技術領域に渡って活躍するエンジニアのことを指す。いわゆる万能のエンジニアだ。

自分の経験からすると、フルスタックエンジニアな人もいたけど、技術領域だけに留まらずディレクション能力なども兼ね備えるエンジニアもいた。ディレクターが日常業務として行うチームの調整作業・進捗管理・企画・数値解析なども行うことが出来るエンジニアだ。エンジニア全体からするとまだ少数派ではあるけれど、エンジニアの持つ課題解決能力や開発側から見た企画提案などを行える人はけっこういる。

そして、そういう人がいる環境ではディレクターは不要なんじゃないかと思う。もちろん、ディレクションが出来るエンジニアがディレクションをやりたくない場合もあるだろうし、エンジニア専業でやってもらった方が時間が有効に使える場合もある。

ただ、サービス開発にあたって真価を発揮するには、フルスペックエンジニアがディレクション分野でも活躍してもらい、ディレクターは余計な口を出さない方が良い。ディレクターは休憩室でコーヒーを飲んでいれば良いのだ。

私はまだその領域までは至っていないが、MySQLのMaster冗長化(HA化)とSlaveのレプリケーションのSemi-Sync設定を行いつつ、アプリ側のPHPやPerlの機能開発やバグを修正し(重いSQLを書くエンジニアがいたら軽量化する方法を提示したり)、DBの数値解析を行ってユーザーのコンバージョンや離脱率を集計したり、その結果をRで解析してレポートにまとめたり、スケジュール表や新しいサービスの企画書や経営層へのエグゼクティブサマリを書いたり、データセンターでCiscoのスイッチのConfigを書いたり、ユーザーからサポートに問い合わせが来て「どう返して良いか分からない」という質問の回答文面を書いたり、ベンダーや協力会社との交渉や打ち合わせをやったりした。たまにデザイナーから「JQueryの使い方が分からない」「CSSがおかしい」と言われたときは、デザインやマークアップを担当したりもした。

特に小さい会社だとそういう役回りになることが多い。エンジニアは「何でもこなせる人」というイメージを持たれて、「パソコンの調子がおかしい」という相談から始まってデザインやデータセンターでのラックのマウント作業などなど何でもやらないと行けない場合が多い。WordやExcelの使い方もよく質問される。徐々に自分も何でも屋になってきている。そして、そういう本来は自分の専門外の領域に関しても解決策を見出すのが広義のエンジニアリングだと思っている。

何でも出来てディレクションも出来るエンジニアがいる場合、ディレクターは必要ないか出来るだけ裏方に徹した方が良い。ディレクターが書いてくるパワポの企画書やワイヤーフレームやExcel方眼紙のスケジュール表などはディレクションの出来るエンジニアの足枷になるだけだ。

開発している人が一番サービスのことをよく分かっている。企画担当のディレクターだと表面的な機能追加の企画書である場合が多いが、ディレクションの出来るエンジニアの立てる企画はラディカルである場合が多い。時々予想の斜め上を行き過ぎていて誰もが拍子抜けしてしまうこともあるが、そこも調整できるエンジニアもいる。

だから、ディレクターは、エンジニアがディレクション能力も持っているかどうかをまず適正に評価するべきだろう。ディレクションも出来るエンジニアの場合は、プロジェクトに依るが、ディレクターは休憩室でコーヒーを飲みながら裏方に徹した方が良い場合も多い。

そして「フルスタックエンジニア」以外に、そういうディレクションも出来るエンジニア達を示す呼称があった方が良いように思う。彼らはなかなかオフシュアでは代替できない。また、そういう職務によらないエンジニアのボーダーレス化はますます進んでいくと思う。