【日本人 vs 外国人】ソフトウェアエンジニアが求められる「技術スキル以外のスキル」とは?面談から読み解く!
ソフトウェアエンジニアが外国人が沢山いる部署で外国人と一緒に働くにはエンジニアとしての技術スキル以外にも他のスキルって求められると思いますが、どのようなスキルが必要なのか?と疑問に思っている人も多いかと思います。
技術スキル以外のスキルといえば、よく言うコミュ力が必要だとか、あとは顧客の要望を聴けるエンジニアじゃないとダメだとか、いろんなスキルを日本の就職の際には求められると思います。
しかし、私が実際にソフトウェアエンジニアとして外国人の人たちと働く中でお伝えしたいことは、ソフトウェアエンジニアが外国人のが沢山いる部署で外国人と一緒に働くには、そのような事は求められずソフトウェアエンジニアとしての役割をしっかり行う事が最も求められるという事です。
前回は外国人ソフトウェアエンジニアと働く為に必要が英語力を話しましたが、今回は外国人ソフトウェアエンジニアとの接し方を中心に書いていきたいと思います。 どれだ…
ソフトウェアエンジニアは外人と一緒に働く際に「プログラミングスキル」が一番重要視された!
まず一番重要なのはプログラミングスキルです。これがもう第一です。一般的な日本の企業では採用者の方がいろんなことを求めると思いますが、例えば私も、外国人が沢山いる部署に部署異動する際に専用の面談を何回か行いました。
1回目の面談はプログラミングスキルを問われた
私の場合は面談は全部で3回ありました。
1回目の面談ですが、担当者が「じゃあこの問題解いて」とホワイトボードに質問を書いていき、「これ解いてね」と言われてそれを解きました。私の出番の際に実際に出題された問題は以下の3問でした。
- xrangeとrangeの違いがわかるように実装せよ
- Pythonでswitch case構文を実現する手法を記せ
- Pythonで多重継承を実現する手法を記せ
1問目と2問目は順調に答えをホワイトボードに書く事ができました。しかし、3問目は私は実装した事はなかったので、直接回答する事は出来ませんでしたが、オブジェクト指向の説明を詳しくすることで、うまく立ち回る事ができました。
1時間ぐらい時間が経ってしまい、次の異動希望者の番になり、次の人がまた今度入ってくる、といった流れです。後々、面談担当者に聞いたのですが、1回目の面談では10~20%の人しか通過しないそうです。
1回目の面談を通過すれば2・3回目の面談はほぼ通る、との事でした。2・3回目は通過率80%ほどとの事で、あくまでもリスクヘッジのイメージです。
2回目の面談では主に「どのように貢献できるか」・「キャリアビジョン」を問われた
2回目の面談はホワイトボードは使わずに会話形式で面談者は外人一人との面談でした。以下のようなインタラクティブで形式的なやり取りでした。
・異動したい理由は?今までの経歴は?
・うちの部署にどのような利益をもたらすか?
・キャリアビジョンは?
etc
・日本人部署の中でも英語力は断トツであるので、外国人多数の環境で働きたくなった旨….
・日本語と英語の両方が出来るので、ブリッジ役もできる旨……
・外国人多数の部署でエグゼクティブになりたい旨……
etc
3回目の面談では人間性を見る会話重視の内容だった
最後3回目の面談ではでその外国人部署のプロジェクトマネージャーと担当レベルの2人と話をして、「趣味は何か?」「何かやりたいことあるとか」という事を主に聞かれました。雑談を含めた和気あいあいの面談でした。
・普段、会社以外では何をしているのか?
・うちの外国人多数の部署に異動して何か実現した事やビジョンはあるか?
・好きなコーディング言語は何か?
etc
・会社に行った後はジムに行ったり、一人で居酒屋にいったり様々な旨…
・私はpythonとC++言語が得意なので、**というサービス構築に貢献できる自信がある旨…
・やはり書きやすさと拡張性を備えているpythonが一番好きな旨。
etc
以上のように、外国人がいる部署ではよくいう顧客の要望が聴けるようなエンジニアとかそんなことは求めてなくて、まずエンジニアとしてプログラミングスキルとかの要は技術スキルが一番最重要でした。
もちろん、その面談を通して性格とかの個性もわかると思います。「ある程度ちょっとこの人きつい質問したら怒りっぽいなー」とか「なんかちょっと優しそうだ」とか「弱そうだ」とか色々あると思いますが、これに関わらず、根暗の人もたくさん外国人部署では働いてるんです。
要はその根暗な人たちはコミュ力では確かに乏しいかもしれないですけれども、プログラミングでしっかり言われたことができるっていうことが一番重要なのです。
外人と一緒に働く際にソフトウェアエンジニアはプログラミングスキル以外の要素は何が求められるのか?
なので、華やかに話せるとか、お客さんの前で高印象で話せるみたいな、そんなことは求められません。
外国人部署に所属するソフトウェアエンジニアで、もちろんちゃんと話しが出来る人もいるんですけど、めっちゃ根暗みたいな人もいますし、私なんかも、普段は部署内の外国人とペチャクチャお喋りをしていなく、他の外国人の同僚からは自分は、「雑談はあまりしない人だよね」と思われていると思います。
しかし、最低限の英語力は必要です。最低限言われたことを理解して自分が言いたいことを伝える力は必須になってきます。別にそんなに華やかじゃなくて、暗い感じでも良いので、とりあえず言われたことを理解して自分が伝えたいことを、もうほんと短い英語でいいので、言えればそれでokです。
それがまず第一ということで最低限の英語力+プログラミング能力、それプラスでトラブルシューティングの時の対応能力が求められると思います。
これもソフトウェアエンジニアとして経験積んでいけばトラブル対応なんかもできるようになってきますので、特に気にすることはないでしょう。
いろんなスキルを日本企業では求められると思いますが、外国人がいる部署では全然特別な事は求められないので、ご心配なくという感じです。
外人は「気が利く」ソフトウェアエンジニアを求めれるのか?
最近、ネットで調べてみると、ソフトウェアエンジニアに求められるスキルといったタイトルでかなりハードルが高いことが書かれている記事を見たことがありますが、例えば一つは「気が利く」人とかでしょうか。
気が利くソフトウェアエンジニアは確かに重宝されるかもしれないんですけど、外国人がいる部署でも、気が利いて何か変なことをやるソフトウェアエンジニアもいらっしゃるのですが、まずはプロジェクトマネージャーからタスクを割り当ててもらい、そのタスクを完了してもらうっていうところ最重要にするので、勝手にソフトウェアエンジニアが「このタスク行ったほうがいいな」で進めなる事はないです。
このやり方で進めると、逆に怒られたりります。「いやそれ今やってることを重要ではないです」「私たちが言ったらこれをやれってあなたに言ったのに何であなたは他のことやってるの?」「ほかの事やるんだったらいったんプロジェクトマネージャーに言ってよ」って言われる事が多いです。
外国人ソフトウェアエンジニアと一緒に働く際に「管理力」を求められるのか?
ですので、気を利かせて何かをやると逆に怒られるので、日本人だけの部署では気を利かせて何かやると思いますが、外国人がいる部署ではそんな気を使わなくても大丈夫です。
チーム全体で実装したコードの詳細説明のパワポ資料を用意したら怒られた
1年くらい前に進めていた5人ほどのプロジェクトで、そこではpythonフレームワークを用いたツールを実装していたのですが、ある程度コードの規模が大きくなったので、機能別に詳細説明を書いたパワポを作成し、エグゼクティブチームに展開をした事がありました。
しかし、その際には「何で余計な事をしたの?」「あなたはそれが出来る権限を持っている管理者ではないでしょう?」と怒られました。まずはエグゼクティブにそれが必要かを聞け、との事です。
そうしないと私の上の会社の立場ない、という理由です。エンジニアならエンジニア、管理者なら管理者として、はっきりと区別しているのが外国人多数の部署です。
責任はプロジェクトマネージャーがプロジェクト管理しますのでプロジェクトマネージャーとしての役割の方がその仕事をやるので勝手にソフトウェアエンジニアが気を利かせていろんなことをやらなくても大丈夫なのでそれは心配しないでいいです。
あとは今プロジェクトマネージャーについて触れましたが、ソフトウェアエンジニアでプロジェクト管理ができるソフトウェアエンジニアは外国人がいる部署でも重宝されるのか?と疑問に思う人もいるかと思います。
しかし、実際は重宝されません。「いやいやプロジェクト管理するプロジェクトマネージャーでソフトウェアエンジニアではないだろう」という考え方です。もちろんソフトウェアエンジニアが管理を手助けするみたい考え方は良い考えだと思いますが、基本的にプロジェクトマネージャーとしての役割がしっかりと外国人がいる部署ではあるので、ソフトウェアエンジニアはプロジェクト管理ができなくても大丈夫です。
さっきも、述べましたが、日本企業では顧客の要望を聞けるソフトウェアエンジニアが重宝されるとのべましたが、外国人がいる部署では「いやいや顧客の要望を聞くのは営業の方とかもしくはプロダクトオーナーのような人が実際にそこに行ってお客さんと話して要望を聞くのが当たり前だ!」という考え方なので、ソフトウェアエンジニアがそういった方々と一緒に行って話を聞きに行くような事は皆無です。
要は日本人だけの部署はちょっと言い方悪いんですけどプロジェクトマネージャーとかプロダクトオーナーとかそれレベルでお客さんと接する方であり、技術レベルがちょっと引くいという傾向があるのでお客さんが求めていることを、完全に理解できなかったりとかがありえます。
ですので、そういったので本当はプロジェクトマネージャー・プロダクトオーナ・営業の方とかがもうちょっとソフトウェアエンジニアではなく上層部の人たちがやるべき仕事なんですけど、日本企業の日本時だけの部署ではそれも日本人のソフトウェアエンジニア仕事であり、そっちのほうまで一緒にやれるソフトウェアエンジニアはすごい!いいよね!と思われますが、外国人がいる部署では、そういった事はありません。
外国人がいる部署ではソフトウェアエンジニアは事務作業を行うのか?
あとはpowerpointが作れるソフトウェアエンジニア、要はしっかりと綺麗なパーポイント作って、お客さんに説明できるとかプロジェクトマネージャーに説明できるというスキルについてですが、ソフトウェアエンジニアがそんなことを説明するのではなく、プロジェクトマネージャー等の上層部の人たちがソフトウェアエンジニアが作ってる内容を理解するのが通常、という考え方があるので、ソフトウェアエンジニアがパワーポイントを作るといった事務的な作業は外国人がいる部署ではほとんどないです。
ただ、時々、自分が今から作るシステムでネットワーク設計図を書いて、「こんな感じでやります」といった事や、「前回起きたトラブルはこんな感じです」みたいなように説明する時はもちろんありますが、日本人だけの部署のようにpowerpointを作りまくるみたいなことはないです。
あとは外国人がいる部署ではソフトウェアエンジニアが接客することもないですし、日本人だけの部署だと、エンジニアがセールスさんが技術的な理解できてないみたいなところで一緒についていく事がありますが、外国人がいる部署ではソフトウェアエンジニアはお客さんのところまで行くっていうところまではしないです。
外国人がいる部署でのプロジェクトマネージャーの技術スキルはかなり高いです。
元々ソフトウェアエンジニアをやっていたという人もいるので、ソフトウェアエンジニアを何年間経験してからプロジェクトマネージャーに行ったほうが効率が良いというのは明らなので、要は下がやってる事を一度体験してからプロジェクトマネージャーをやる方がはるかにプロジェクトマネージャーをやりやすいんですけど、日本人だけの部署ではなぜかソフトウェアエンジニアとかやった事がない人がいきなりプロジェクトマネージャーになって「このタスクしろ」「アレやれこれやれ」「期限はこれ」と言ってソフトウェアエンジニアの方が「いやいやそれちょっと技術的に難しいです」という話をしてもプロジェクトマネージャーの方で「いやそんなことは聞かない」みたいな風に「とりあえず期限内に終わらせるんだ」という風に強気のマネージャーが結構多かったです。
外国人がいる部署でそんな事やったらプロジェクトマネージャーの方が、密告されて役職から外されてしまいます。あとは日本人だけの部署では、上司とかの課長・部長なんかが技術スキルがソフトウェアエンジニアとかなりかけ離れている事がありました。そうなるとやはりやソフトウェアエンジニアへの負担が大きくなります。
さっき触れたソフトウェアエンジニアが顧客の要望を聞く等の、そういったお客さんの話を理解できるとかのスキルをソフトウェアエンジニアの方がカバーしなければいけない、というところが日本人だけの部署ではあるので、その辺は日本企業特有の体質なので、なおしていかなければいけない問題点だと思います。
あとは、日本人だけの部署では求める特殊なスキルといえば「仕様書が書ける」とか「設計書が書ける」というスキルが求められたりすると思います。
しかし、外国人がいる部署ではソフトウェアエンジニアは基本的に外注はしないで社内開発なので、日本みたく仕様書をかなり分厚いものを書いたりといった事はせず、外注にお願いするという事もないです。
そんな時間があるんだったら「もうコードに落としちゃえっ」とGoogle検索を駆使して、パーッとコードを書き始めてしまいます。社内開発してますのでそんな仕様書とかで、基本設計・詳細設計等は書けなくていいですし、そんな事は書く暇はないので、どんどんコーディングしていきます。
ですので、日本人だけの部署ではSEの方は仕様書が書けるとか、詳細設計書を書けますとかっていうスキルは重宝されるかもしれないんですけ、外国人がいる部署では重宝されません。
まとめ
まとめますと、外国人がいる部署では「ソフトウェアエンジニアはエンジンやとしてしっかりやってください」であり、「プロジェクトマネージャーはマネージャーとしてしっかりやってください」というスタンスです。
いろんなポジションあると思いますが、「そのポジションの仕事の人はその仕事をやりソフトウェアエンジニアが他の人のスキルをカバーするみたいなことはない」という考え方です。
外国人がいる部署で働きたいソフトウェアエンジニアの人たちに参考になれば幸いです。
コメント