ブリッジSEという仕事について

私自身は今(表向きは)やっているわけではないのですが、プロジェクトマネジメントの業務の中でいわゆる「ブリッジSE」としての業務を立ち位置として遂行することがあります。海外のプログラマなどと話をしながら製品開発を実施するのですが、コレが思っていた以上に難しい。プロジェクトマネジメントとはまた別の難しさがあるのですが、少し深掘りしてみたいと思います。

言葉の定義:ブリッジSE

ja.wikipedia.org

和製英語だったということに今さらびっくりしていますが、特に今回は第一言語(母語)の異なるエンジニア集団の取りまとめを行ってプロジェクトの遂行を行う人、という定義にしておきます。

いわゆるオフショア開発を行う際の現地メンバーとの橋渡し役です。

ブリッジSEに求められるスキル

システムエンジニア的な感覚で言えば、「SEの仕事に英語が加わればOKなんだよね?」と一瞬思ってしまいますが、実際にやってみて「SE+英語」だけではよくないのだな、とすぐに感じるようになります。よくありがちなフォーマットに則りながら細かいスキルについて説明していきます*1

「高い」語学力

母語が異なるメンバーを束ねるうえで、共通となる第2言語を駆使する必要がある、というのはなんとなくイメージが湧くとは思うのですが、ネットの記事だと、「基本的な読み書き」に加え「システム開発の専門用語」に特化した語学力、と書いていることが多いです。なのですが、特に英語が共通言語として使える現場の場合、「システム開発の専門用語」についてはあまり問題がなかったりします。例えば、「作成したコードを毎日バージョン管理システムに登録する」という日本語は英語では「merge your working code to the version control system(VCS)」と、多少単語については専門知識が必要になる可能性はあるにせよ*2、わりと適当な英語でも通じたりします。

実務をしてみると、システムの用語よりも開発をするにあたっての仕様の伝達に苦労することが多いことに気付きます。次の項目になる「コミュニケーション」の問題と言ってもいいのですが、とにかく日本の仕様を英語にして伝える、しかもそれを漏れなく伝える、というのが実は一番難しいです。そのための語学力は、「基本的な読み書き」レベルだけでは到底足りません。日常会話ができるレベルである必要は決してないとは思いますが、ある程度会話が成立する程度の語学力は持っていないとそもそも伝達できません。

「とても高い」コミュニケーションスキル

この項目も、その辺のネット記事ではサラッと流していますが、コミュニケーションスキルは相当高い必要があります。言い方が悪くて恐縮ですが、「コミュ障」気味の人は無理です。必ずしも陽キャであれ、とも言いませんが、陰キャ、コミュ障の気があるとやっぱり難しいと感じると思います*3

一口に「コミュニケーション」と言っても、どうすればいいのかわからないと思いますが、実際にやってみても、『どうすればこの言葉の意味が伝わるのだろうか?』と考えてしまうことは多いです。

そこで、伝わるようにとにかくいろんな角度から話を投げてみる、というのが私自身がやっていたことです。正しい言葉なんてわからないし、文法やらなんやらを気にすることなく、とにかくある言葉(単語・フレーズ)について知っている(数少ない)英単語を駆使して理解をしてもらう努力をする。例えば「かぼす」という果物について外国人に説明する、という行為です。でも、いくら数少ない言葉を使って拙い言葉で伝えたとしても、「かぼす」が「ドラゴンフルーツ」と理解されてしまってはおかしいわけで、なんとか正しい言葉を伝えられるようなコミュニケーションをとるわけです。

エンジニア諸兄はここで「Google翻訳やDeepL翻訳の性能が~」と考えると思います。そのとおり。確かに翻訳の性能も高くなり、言葉そのものの意味は違ってないだろうと思うのですが、その言葉の意味合いが全く異なるケースが発生しうるわけです。例えば上記の「かぼす」の例。翻訳システムに通すと柑橘類の一種、と訳されるはずですが、「かぼす」の味や香り、使われ方などは当然翻訳されないわけです。そうすると、外国人は「かぼす」のことをレモン的なものか、それともオレンジ的なものか、と考えるはずです*4。システムに置き換えれば、『ここで「かぼす」を使う』というコードを書いた時に、その「かぼす」なる柑橘系フルーツは食べるために使われるのかがわからない。そのギャップを埋めるのが『コミュニケーション』になるわけです。

前項の「語学力」のところで、

ある程度会話が成立する程度の語学力

と書いているのがそれで、言葉を表面的に理解できればそれでいいのか、ということです。意味を理解させるためには会話(コミュニケーション)は必ず必要になるはず、と思います。

思っている以上にシステム開発スキルが必要

これは私の現場だけなのかもしれないのですが、海外のメンバーのスキルには偏りがあることが多く、いろいろと作業を頼める人もいれば「オレこっち専門なんであとわかんない」とか言われることもあったりします。そんな時に、業務の遂行を妨げるような彼らの専門外の要件に対してサクッと解決させるような仕事をせざるを得ないケースもあったりします。

ありがちなのは、DBが苦手なエンジニアがちょうど地球の裏側で働いている場合。DBのエラーが(現地の)朝イチで発生している、と言った時に、たまたま他のエンジニアが動けない、となった時にフォロー可能なのが自分だけ、と言ったことは起こり得ます。本当はそういった苦手分野をフォローできるようなチーム編成をすべきなのでしょうが(後述するマネジメント領域の話)、一応「SE」という肩書を持つ以上はその辺の作業もサラッとこなすことができる必要はあるはずです。

他にも、インフラ構築やコーディング規約、テスト技法などの知識も…、と言い出すと、結局のところはほぼほぼフルスタックエンジニアレベルで知識も技量も必要なんじゃないのかな、と思ったりはします。世の中のブリッジSEのみなさんは果たしてどの程度そのあたりを知ってらっしゃるのやら、気になります。

当たり前のようにマネジメントスキルが必要

ここで言う「マネジメントスキル」は、単純にプロジェクトのためのマネジメントだけではないようにも思います。自分自身のマネジメントもできる必要があります。

まずプロジェクトのマネジメントというレイヤーで考えると、上記のような私の現場であれば、海外のメンバーのスキルの偏りと作業アサインがリンクする必要があります。フロントエンド側が得意なメンバーにバックエンドプログラムを(メインで)書かせるのは効率が悪いですし、バックエンドが強いメンバーにフロントビューを書かせるのも時間ばかりかかってしまう。もちろん彼らもプロフェッショナルなので、「できない」わけではないにせよ、作業が終わるまでに時間がかかってしまう。

時間がかかる、ということがプロジェクト全体として何を意味するのかが解っていないといけない話だとは思いますが*5、それを抜きにしても作業の振り分けを見極める能力はマネジメントスキルの一つだと思います。

もちろんそれ以外にも「プロジェクトのマネジメント」で必要な事はたくさんありますし、それらを意識できていないとブリッジSEとしての仕事はできないように思えます。

そして、自分自身のマネジメントについてですが、例えば上記のような、ちょっとしたヘルプみたいなことは、それこそ上位レイヤーの職種の人たちは、本来はやるべきではない、という前提のもとに実施することが多いはずです。それは仕方ないし、それによって円滑な業務遂行ができるのだから問題もない、のですが、海外のメンバーを複数抱えることで起こるのは、「問題が発生したときの対応をいつやるのか」という話。国内であれば、業務時間内、または少し残業してでも、となりますが、海外のメンバーに関しては時差があることから、彼らにとってのコアタイムがブリッジSEにとってのコアタイムではないということが起こり得るわけです。

南アジア~アフリカ~ヨーロッパのエリアにメンバーがいる場合は、彼らのコアタイムは日本のブリッジSEにとっては夜の時間帯になります。その時間にクリティカルな対応をすべきかどうか*6。それをすればプロジェクトは円滑に進みますが自分は遅くまで働き続けることになる。

それだけではないにせよ、現場で他の業務も実施しているのだとすればもっと業務が多くなる。単純な話ではありますが、業務レイヤーとしてはかなりの作業が発生するはずで、それを逐一、しかも可及的速やかにこなす能力、というかセルフマネジメント能力はかなり必要なのではないかなと、思います。

ブリッジSEになりたいですか?

私個人的には「ブリッジSEはつらいよ」と言っておきます。

面白いとは思います。いや、面白いです。基本的にマネジメントの仕事の一環として考えていいので、マネジメント業務の側面での仕事として実施しているとより細かいマネジメントをしないといけないな*7、とは感じます。

特に、理解の違いというか、文化の違いも超えたところでの「分かり合える」感はかなり面白いです。システムの開発では当然開発するモノがあるわけですが、それが世界共通でも何でもない、とてもローカルなシステムを作る場合は、そのシステムのバックグラウンドにある「世の中の仕組み」というシステムを理解してもらわないとならない。これは実際にやってみないと分からないと思いますが、外国人メンバーにしてみたらそんな日本の細かい風習みたいなことは知らなくても生きていけるのに、私と仕事を一緒にしたことでなぜか日本(のある業界)の風習に詳しくなってしまっている、という状態。自分が逆の環境に置かれても楽しいな、と思えますが。

その楽しみが感じられるかどうか、がブリッジSEの本当に必要な資質なのかもしれないですけどね。

*1:キャリアアップ系のネット記事によくある感じを考えています。

*2:今回のケースで言えば「VCSバージョン管理システム」という単語がそれにあたります。

*3:私自身どちらかと言えば陰キャ・コミュ障属性の人間です。

*4:レモンですら、日本人と外国人の中で使われ方が違っていると思いますが。

*5:この場合はQCDすべての観点で問題があるわけですが。

*6:もちろんその対応を現地スタッフに依頼するのかどうか、という検討もできるわけですが。

*7:「マイクロマネジメント」という意味ではなく、きめ細やかなマネジメント、という意味あいが強い。