ソフトウェアエンジニアがスキルアップした方法とは!?「日本人部署」と「外国人が沢山いる部署」でのスキルアップに使う時間の違いを紹介!

SEが外国人多数の部署で一緒に働く際に求められた一番重要な技術スキル以外のスキルとは?

今回は外国人部署にいるソフトウェアエンジニアは1日のうち、どれぐらい自分のスキルを高めるために時間を割いているのか?について書いていきたいと思います。

目次

「外国人が沢山いる部署」で働くソフトウェアエンジニアは働いているだけで勉強になる!は本当です

私自身、日本人部署で働いている時と違い、外国人が沢山いる部署で働いてからはほとんど自分の時間を使って勉強する事が事がなくなりました。何故かというと、外国人が沢山いる部署では9時~17時働いたらその間に自分のスキルはかなり上がるので、9時~17時のその就業時間の後とか、土日祝日の時間を使って自分で勉強する事はなくなりました。

何故かというと、やはりこう自分の身の回りのソフトウェアエンジニアがかなり優秀な方ばかりというところもありますし、様々な方から、以前は技術を教えてもらったり、もちろん私も教えるということはするんですけども、優秀なソフトウェアエンジニアが集まって仕事をしますので、他の人のソースコードを読むだけでも勉強になったりします

さらに、海外のGAFA等から優秀なソフトウェアエンジニアを日本に招きいれ、彼らはどんどん転職を繰り返してきた人たちですので、例えば私の前のマネージャーはgoogle出身の人だったので、そういった方から色々とコーディングなんかを教えてもらったりなんてもしています

GAFA(ガーファ)とは?
アメリカの大手IT企業であるGoogle(グーグル)、Apple(アップル)、Facebook(フェイスブック)、Amazon(アマゾン)の頭文字を取った言葉です。


働いているだけで勉強になるというところは、正直かなりあります。ただ私が日本人部署にいたころ、今と同様にソフトウェアエンジニアをしていたのですが、その時は自分のスキルは全然高くはなくて、ちょっと不平不満というわけではないですが、転職したい!みたいな状況に正直なってまた。

「日本人部署」で働くソフトウェアエンジニアは雑用をやらされることが多い、割と当たってます

私が日本人部署にいた時は、例えば営業さんに一緒についていくとか、あとは無駄なミーティングとかもめちゃくちゃ多かったです。さらに、ソフトウェアエンジニアにパワーポイントを作らせたりしていました。

一番嫌だったのは、社内調整とかでメールで人員調整や日程調整の業務をした時でした。本当に「こんなことやって自分の技術は上がるんだろうか?」ってすっごい不安でした。ただ、上司等に苦情を言っても、「色々な知識が身についているじゃないか」と言われるだけでした。

「これって大事なことだよ」、とかいうふうに言う上司の方ばかりでした。なので、「これって技術力が全然高まってないよなあ」という感じでした。日本人部署で働いたとき私も自分の技術力がなかなか伸びないということがあったので、就業時間終わった後に自分でプログラミングしたりとか土日も技術情報雑誌をめちゃくちゃ読んでいました。

独学でプログラミングを勉強していたという時があったので、その頃は大変でした。ですので日本人部署にいた頃は技術スキルはなかなか高くならなく、幅広いフワフワとしたような知識だけで、実際に手を動かす事は少なかったので技術は身に付かないわけです。

それはそれで日本人部署の文化であり、自分の給料を上げるという方針でも全然いいとは思うのですが、そんな環境だったので私は自分で勉強しなきゃってことで、家帰ってから勉強したり土日に勉強していました。

ですので、日本人部署にいた頃は「かなり自分でも働いているなー」、さらに「よく勉強してるなあ」、と思っており、土日も勉強してるからこれだったら外国人が沢山いる部署にいるような優秀なソフトウェアエンジニアに追いつけるんじゃないか、と思っていました。

しかし、現在、外国人が沢山いる部署で優秀なソフトウェアエンジニアが集まった中で8時間毎日一緒に彼らと仕事をすれば、実践的なスキルがどんどん毎日高まるわけです。

日本人部署で働いているときは実践的なスキルは伸びずに、夜の2時間とか土日だけを合わせても、やはり外国人が沢山いる部署で8時間働いてる人とかと比べると、どんどんスキルが離されていってしまうのです

「外国人が沢山いる部署」で私が体験した働きながらでのpythonスキルアップ事例を紹介!

外国人が沢山いる部署でソフトウェアエンジニアをやれば、働くだけでスキルが上がるんですけども、日本人部署で独学してもスキルはなかなか伸びないと私は正直なところを思います。

実際に、私も外国人が沢山いる部署で働いているときに、仕事でわからないことがある際は、例えば自分で与えられたタスクとかプロジェクトがあってその中でこれは極端な例かもしれないですけど、シンボリックリンク(特定のファイルあるいはディレクトリへのリンク先を格納した別のファイルのこと)をpythonのコードの中で実装しなければいけないことが、過去にありました。

そのシンボリックリンクはどうやって実装するんだろうとpythonのドキュメントを見ますが、「こうすればーできるんだ」とそのまま、コードに書いて終わりみたいなことをするのではなく、シンボリックリンクの作り方を見たら、これをリネームするときとかリムーブするときはどうやってやるんだろう?とかその周辺のことも私は結構読むようにしてます

あとは、ハードリンクシンボリックリングジャンプハードリンクはどうやってやるんだろう?とかその周辺に関わるようなドキュメントもまとめて読んでおくという事をすると、就業時間でも一応仕事に関わるような内容なので、ちょっと広くその範囲を学ぶようにする事は心がけています。

あとは単純な例でいえば、webフレームワークを作ってログインサインアップを実装しなければいけない時に、もちろんその自分でスクラッチで書いて、実装するのもありなのでしょうけど、すでにサードパーティーのライブラリーは世の中に落ちているので、そのときに様々なライブラリーを見てドキュメントを見て、「こういったやり方の方が確かに実装しやすいなぁ」とかっていうようなことを調べたりとか、このライブラリーを自分のプロジェクターが取り込もうとして、取り込んだ時に、そのまま取り込んで「動いたオーケー、次に行こう」ではなく、そのライブラリーの中身も私は結構読んだりします。

そうすれば「あぁこの人こんな感じ例えばサインアップするときにmd5でパスワードをコンバートした後にeメールでこのような形にして送っているんだ」とか、その人のソースコードを見ると「こんな書き方して結構面白い書き方だな」という感じで、いろいろ学べたりします

ですので、他のサードパーティーのライブラリーのコードを見ると、自分の書き方を見直したりとか、ちょっと違うような方向性で面白い書き方をしている人も結構いますので、そういったのを見て自分の知識を深めていくことをすれば良いです。

なので、それぞれで一応その業務の中で関わっているようなサードパーティーのライブラリーの中を見ても全然大丈夫です。就業時間を使っても大丈夫ですし、さらにそのサードパーティーのライブラリーが問題起きたときに自分ですぐに調べられるっていう時にも、そのソースコードの方がいいという理由を言えば就業時間に他のサードパーティーのライブラリー読んでても大丈夫です。

「外国人が沢山いる部署」でやるべきスキルアップの為の応用テクニックを紹介!

私自身としても、実戦的なプロジェクトで実際働いていて、それに関わるその周辺の知識を覚えてくっていうほうが、やはり身につきます。

例えば私がpythonのプロジェクトを組んでいたときに、他の同僚の外国人ソフトウェアエンジニアが、rubyonレールのこんなのがいいよ、とか言った時に私がそれを聞いてrubyonレールも知っておいた方が良いのか?とそっちを学んだとしても自分の業務と全然違うことなので全く覚えられなかった事がありました。

自分の業務に関わるようなことを覚えていった方が、自分の頭の中に入っている、というところはあります。もちろん、他の外国人ソフトウェアエンジニアの人の面白そうな技術等は、パラパラっと勉強する時はありますが、一応自分のプロジェクトに関わる実践的なスキルの周辺を調べていくということをして、私は自分のスキルを高めていっています。

やはり自分のスキルを高めるには、良い環境に自分の身をおいて優秀な人が周りにいるような環境に飛び込んだほうが自分のスキルは上昇しやすいです。

これはスポーツでもそうなんですけど、自分よりもうまい人と一緒にプレーして行ったほうが、スポーツはうまくなります。ですので、自分よりも身の回りが優秀な人がいるような場所に飛び込んでいく事が一番スキルを高めるためには重要です。

もし、このブログを見ている日本人ソフトウェアエンジニアの皆さんが、日本の企業で雑用とかいろんなことをやらされていて、なかなかスキルが伸びなく、自分のスキルがないから就業時間が終わった後に勉強したり、土日に勉強しなければダメなんだ!と言って頑張ったとします。

それでも、例えば弊社のような外国人が沢山いる部署で外人と一緒に働いている日本人ソフトウェアエンジニアのようなスキルが毎日伸びるような社員と比べると、自分でいくら独学で勉強してもやはり差が付けられてしまいます。

一番ベストなのはまあ転職できるのであれば、転職して自分のスキルが高められるような場所に入って働くのが一番スキルを伸ばしやすいとは思います。もちろん日本は転職社会ではないので、転職した後になかなか給料が伸びなかったり、変な方向に行っちゃってその後なかなか転職もうまくいかずにキャリア構成がうまくいかないというリスクもあります。

転職するのも一つのオプションかなと言う感じでしょうか。その辺は皆さんのリスクとかその辺を考えていただくといいんじゃないでしょうか。

そうはいっても、このブログを見ている人はサラリーマンのソフトウェアエンジニアが多いと思いますが、私個人としては転職よりもまずは自社内の外国人が沢山いる部署に異動して英語力を鍛えることをお勧めします。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次