見出し画像

エンカレ大学で大学生の皆さんに講演して質問が来たので回答してみた。

今日はちょっとしたポストを。著作の関係があって、大学生の皆さんに次のような講演をしてきました。いくつか質問をいただいたので例によって全部回答したいと思います。ちなみに、エンカレ大学に入っていると、今日の動画が1カ月後ぐらいに公開されて観れるようになるらしいですので、お楽しみに!

周囲のメンバーが理解に協力的でない(理解を急かしてくるなど)場合はどのように問題への理解を高めたらよいのでしょうか。

質問1

 わかります。このようなケースでお勧めの作戦は、ある程度上の方(部長とか、事業部長とか)に、社内勉強会等で発表させてもらうことを作ることがお勧めです。例えば「理解に時間をかける」というプラクティスを実施したいとします。その場合だと、その社内勉強会のプレゼンで、私の著書とか引き合いに出して、「マイクロソフトだとこういう方法で生産性を上げているらしい」みたいな感じで、皆に単にシェアします。
 単にそれだけなのですが、過去の経験からすると相当に強力です。なぜなら、それがないと「あいつは何のろのろしているんだ。早くしろ!」とか言われてた場面で、同じことをやっていても、「ああ、あいつは社内勉強会で言ってた理解に時間をかけるをやろうとしているんだな」と、他の人がやるかどうかはわかりませんが、「理解」してもらえるようになるので格段にやりやすくなるからです。
 大抵反対するのはミドルマネージメントの方なので(それは当然の理由があります)少し上にアプローチすると、新しい事を求めていたりするので、Win-Win になったりしやすいです。

理系大学の4年生です。自分で開発をするエンジニアになりたいと考えています。大手SierからSEとして内定を頂いているのですが、マネジメントに重きが置かれる環境です。
新卒でSierに入った後、開発できる会社に転職するか、大学院に進学して再度就活をすべきか悩んでいるのでご意見をお伺いしたいです。

質問2

私の個人的な意見ですが、「進学」がお勧めです。なぜなら、まとまった時間勉強することに集中できるのは学生時代だけだし、外資や、海外では、コンピュータサイエンスの修士や、博士号を持っていると、ちゃんとやると技術力も凄く上がるし、ものすごく役に立ちしますし、重宝されますし、給料も上がります。外資系や海外を狙う場合は、圧倒的にお勧めです。ちなみに、次の記事で紹介されていますが、科学的根拠に基づく最高の勉強法というめっちゃいい本を書かれた安川さんとありがたくも対談させていただいたのですが、その時にこの記事にはありませんが、当日は「もし、お二人が大学時代に戻れたとしたら何をしますか?」という質問に、二人とも「勉強」と即答しました。というのも振り返ると、学生時代みたいに勉強にどっぷり時間をとれる時間は社会人になるとなくなるからです。
 また、勉強というのは最高に人生にレバレッジが効くものです。昔は大学は人生の夏休みやから、遊んだらいいとか言われていましたが、今からすると、大学しっかり勉強して、レバレッジ効かせてリッチになる方が、将来楽しめることがずっと多いと思います。

マイクロソフト就職時についてのお話をもう少し詳しくお伺いしたいです。ushioさんの何が評価されたと思いますか。

質問3

100%はわかりませんが、最初にマイクロソフトに入った時は、やはり英語で会話できること(上司フランス人だったので)が基本的にあるのと、相手が欲しいだろうことを私が提供したからだと思います。あっていたかはわかりませんが、当時はエバンジェリストの採用でしたから、インターナショナルチームの一員として、それをやることを考えると

・英語ができる
・技術力は多少ある
・トークやプレゼン力がある
・エンジニアコミュニティに精通している

というところだと分析しました。つまり、相手が欲しそうなことをここから逆算して、自分はそういうことが出来ますよとアピールしました。プレゼンも作って彼らが知りたいけどしらなさそうなことも説明してみました。多分そういうことをしたのは自分だけかと。

ちなみに、Azure Functions チームの場合はここに全部かいときました。ちなみに、自分を面接した人は「パッションが一番重要だよ」と言っていました。だって最終的には、面接する人は条件にあってるなかで「この人と働きたい」と思う人を選びますから。

職がインフラエンジニアの場合でもアメリカで働ける機会はあると思いますか

質問4

もちろんです。私も、Azure Functions チームの前は DevOps をやっていましたので、プログラマではなかったです。ただ、最近は、インフラエンジニアの場合、DevOps の技術を使うのが主流になっていますので、IaCや、CI/CD などの技術を磨いておくと便利ですね。具体的には Terraform, Ansible, Bicep、GitHub Actions などでしょうか?そこらへんは、インフラの知識が必要なので、専門性を生かしながら、領域を拡大することができます。

採用側は何を望んでいるかを考えるための材料を教えてください。

質問5

私のお話の中でも沢山お話したので、アーカイブを見ていただくとよりよいかもしれません。採用側が望んでいることがにじみ出るのが、Job Description 日本語でいうと、応募要項だと思います。そこには、「こんな人が欲しいなぁ~」でも全部は無理かなぁ~。的なことが書いてあると思うのでそこから想像で良いので考えてみて、上手くいかなかったら修正していけばよいと思います。また、一般的にその職種はどういうことを求められそうだとかを Chat GPT に聞くとかもいいかもしれません。


ChatGPT先生なかなかいい事いってる

コミュニティはどのように探していましたか?
また、差し支えなければ、具体的にどのようなコミュニティでしょうか?

質問6

 いろいろ所属していました。最初のは、XPJUG というやつでした。その後もいろいろ参加しました。普通に、Bing で聞いてみたり、ブラウザで、自分の興味あるトピックについて検索すると出てきますよ。何よりも自分が「これ最高に面白そう!」と思える技術をピックアップするのが良いと思いますよ!(別に途中で飽きてもいいので)一度何かのコミュニティに参加すると、そこに参加している人は勉強熱心でパッションもあるので、その人に面白いコミュニティを聞くという技も使えるようになります。
 そして、無ければ自分で作っても構いません。私は大手SIer にいるときに社内で、eXtreme Ways という勉強会を主催しました。主催といっても、会議室とる程度でいいですしね。

新卒で外資にソフトウェアエンジニア職として入社する予定ですが、領域は入社してから決めることになります。今から新卒でやり直すとして、バックエンドエンジニアか機械学習エンジニアかで選ぶなら、どちらにするかご意見をいただきたいです。

質問7 

 それは自分の趣味でいいと思います。私はバックエンドエンジニアですが、趣味で、AIアプリ書いてたりもします。個人的には将来性でチョイスというのは、あまりお勧めしません。なぜかというと、いろいろ流行があるので、IT業界は常に流動するからです。それよりも、その変化に対応する能力の方がよっぽど重要だと思います。
 ですので、100% 自分が「こっちがおもしれー」と思うことに bet するのをお勧めします。そっちの方が自分が楽しいからです。楽しい方が絶対的に成果がでます。もし、それで食っていけなさそうだったら、その時に面白そうな次の技術に bet するといいでしょう。
 例えば、Linux のカーネルを書ける人がいるとしたら、それはメインストリームではありませんが、多分多くのエンジニアからは羨望のまなざしでしょう。
 私が100% AI に bet していない理由は、高度なプログラミングの方が好きだからです。AIに滅ぼされるかもしれませんが、今はごはんを食べれそうです。ただ、AI のコード書いても楽しいのは楽しいので趣味でやっています。どちらを選ぶとしても、私のお勧めは、損得よりも、「楽しいから」で決めたらよいかと思います。

ちなみに講演を依頼していただいたのは、この本のお陰かと思います。ちなみに今は9万部なので出来たら10万部まで行きたいなぁ。


いいなと思ったら応援しよう!