【工藤ウィリアム暢(くどううぃりあむとおる)】1984年アメリカ生まれ。多摩美術大学卒業後、NPOのIT事業部で大規模開発のフロントエンド領域を担当。その後ビットエーに入社し、Node.jsのコミッターなどフロントエンド領域のプロフェッショナル集団の中で、React/Reduxを中心としたフロントエンドアーキテクチャの啓蒙と導入支援を実施。事業運営上の様々なステイクホルダーからの課題共有を受け、UI/UXやSEO施策などによる改善提案などを行う。
ビットエーに入社する経緯を教えてください
前職はNPO法人かものはしプロジェクトのIT事業部で、Flashを使ってインタラクティブなアニメーションやサイト制作などをしていました。ここでビットエー創業者の橋本と出会ったのですが、一緒に仕事をしていて尊敬できることが多く、ビットエーを創業すると聞いてジョインしようと決めました。
普通に就職すると上司って選べないじゃないですか。でも仕事をするにあたっては、尊敬できたり、好きな人と働けることが一番だと思っていたので、後を追うように転職したことを覚えています。
ビットエーに入社してからはどんな仕事をされましたか?
転職した2012年当時は、世の中的に「フロントエンドエンジニア」という言葉が出始め、Backbone.jsやAngularの1系で作られたシングルページアプリケーション増えてきていた頃です。ただし、私が最初に担当したサイトはHR系のサイトだったので、スタティックなサイトでした。
規模の大きいサイトで運用年月も長かったためか、コードの管理がきちんとされていなかったり、誰もわからない不明なコードがあったり。さらには自動化できるところを自動化しておらず手動で行っていたり、思わぬバグが多く潜んでいました。
また、スタティックではあるものの、部分的にはシングルページアプリケーションのような複雑な要件が実装されており、エンハンスをスムーズに行うのは困難を極めました。
コーディングを進める上で、このような状況はエンジニアのメンタル的にも体力的にも、ものすごく負荷がかかりましが、初めのうちにこの状況を経験できたことで、いかにして負荷を軽減するかの仕組みや体制を考えるようになれたのは良かったかもしれません。
具体的には、形骸化しているコーディングガイドラインを作り直したり、テンプレートエンジンを導入し同じコンポーネントが複数作られる状況を解消したり、コードレビューを行い、バグが出る可能性を1%でも減らすようにしました。
マネジャーとしてのやりがいや苦労などは、どんなときに感じますか?
やりがいは、ビットエーとして出した成果物の品質をクライアントに褒めてもらえたときに感じますね。メンバーのスキルレベルの違いや得手不得手はありますが、結局は誰がやったかではなく、ビットエーの成果物となります。
そこで、HTMLがそれほど複雑ではない案件であっても、ビットエーとして共通ルールを作成することで品質を高めています。各々がやりやすいようにコーディングしていてはバグや表示崩れにつながりますから。
結果、品質を褒められることは全員が褒められたことにもなるので、とても嬉しく最もやりがいを感じます。
仕事で苦労した点はコミュニケーションの取り方です。元々コミュニケーションをとることが苦手でして、指示や指摘についていつも「◯◯と言えばよかった…」「◯◯とフォローすればよかった…」と反省ばかりです。
その度に、メンバーに対して申し訳ない気持ちでいっぱいになります。自分がやったとか言ったとかではなく、相手がどう認識しているか、どう思うかを常に考えて齟齬がないようにする点と、チームとして最大のパフォーマンスをどう出すかを考えるように心がけています。
様々な案件をマネジメントするなかで、メンバーとはどのように仕事を進めていますか?
ビットエーは常駐案件が多く、エンジニアメンバー50名のうち40名は客先への常駐です。毎日メンバーと顔を合わせられないので、一対一の面談でヒアリングしたり、ZoomやChatworkなどのツールを活用して常に状況を把握しています。プロジェクト状況を聞いて「燃えそうです」と聞いたらすぐにボトルネックを確認して対策したり。ほかにも、エンジニアランチや月一の勉強会を開いてスキルベースで情報と技術を共有しています。
僕たちは人を派遣する会社ではないので、場所は離れていてもひとつのチーム。クライアントの抱える課題を技術で解決できることは多く、僕たちはそういった課題を見つけ出し解決するために、技術を大切にしています。
どんな人と一緒に仕事がしたいですか?
面白く言えば、「プロジェクトをどうクリアするか」をゲーム感覚で明るく話し合える人です。どの現場でも面白い面と辛い面がありますが、それらを楽しみながら、どうすれば良い方向に進めるかを一緒に考えられる人と一緒に仕事がしたいです。
極端に言えば、「歩いてたら落とし穴あったけど、どうする?」とか「次のボス、ヤバそうだけどどうする?」とか(笑)。
真面目に言うと、きちんとした知識をもってそれらを適切にハンドリングできる人です。 最近はフロントエンドエンジニアが見る範囲が増え、同時に解決できる課題が増えています。様々なツールでの自動化により便利になった一方で、どの現場にも求められているのは、技術力で現場の問題を解決する力です。
若手育成にも力を入れているので、経験が浅くても同じ意識、気質を持っている人なら大歓迎です。数カ月ほどはメンターを付けて、モダンなJavaScriptとCSSを習得してもらうことはもちろんですが、開発フローを覚えてもらったり、例えばSoEとかSoRの違いなどを理解してもらいます。その後、5名前後のプロジェクトにアサインして技術を磨いてもらいます。
共に会社を成長させてくれるメンバーがどんどん増えたら嬉しいです。