こんにちは、エンジニアのづやです。
LIGでは定期的にRuby開発者であり、当社の技術顧問を務める、まつもとゆきひろさんによる社内勉強会を開催し、エンジニアのスキルアップに取り組んでいます。
第9回となる今回は、なんと最終回です! 前回に引き続き「LIGエンジニアからの質問回」をお届けします。
「AI時代にエンジニアはどう生き残ればいいのか」「伸びるエンジニアとは」「未経験者が学び続けるためのポイント」など、エンジニアのリアルな悩みや疑問をまつもとさんにお答えいただきました。
テクノロジーに関わる方々へのメッセージもいただいたので、ぜひ最後までお読みください!
人物紹介:まつもとゆきひろプログラミング言語Rubyの生みの親であり、一般財団法人Rubyアソシエーション理事長。株式会社ZOZOやLinkers株式会社など複数社で技術顧問などを務めている。オープンソース、エンジニアのコミュニティ形成などを通じて、国内外のエンジニアの能力向上やモチベーションアップなどに貢献している。 |
目次
AIツールが台頭する中でエンジニアが生き残る方法
- Q:AIによるエンジニアリングの成長に勝てる気がしません!エンジニアが職を失う日は来るのでしょうか?
AIが人間と同じくらい賢くなり生産性も高くなれば、AIには疲れないという強みがあるため、人間は勝てないでしょう。とはいえ、そういう未来がくるのは相当先なはずです。
マクロの視点では、AIの導入で生産性がアップすれば一つの案件を進めるのに必要な人手が少なく済むため現在の技術者不足は解消されます。一方で人余りになり、職を失うエンジニアがでてくる可能性もあるかもしれません。
ですが、業界そのものの変化を個人の力でどうこうすることはできません。つまり長期的なことは予想できないし、考えても仕方がないのです。
そこで、AIと向き合うための短期的な対策を紹介します。
AIツールを積極的に活用して生産性を上げる
まずはAIツールを積極的に活用して生産性を上げていきましょう。
1950年代まで、プログラミングは「パンチカード」というカードに穴を開けておこなっていました。ですがその後、ほかの手段が台頭したことでパンチカードは使われなくなり、今はツールを使ってより簡単にプログラミングができるようになりました。
昔のやり方に固執せず、新しい技術を取り入れて生産性を高めれば、そのエンジニアの市場価値は上がり、仕事や収入の安定化が期待できます。
未経験者でこれからエンジニアの勉強を始める人も、最初からAIツールを使うべきだと思います。たとえば今の時代、パンチカードの使い方から勉強しませんよね。それと同じで、すでに使われている便利なツールを避けて学ぶ必要はないのです。
ただし、ChatGPTなどはまだ新しいツールで、1年後の姿すら予想できません。そのためエンジニアスクールを運営している場合、ここに力を入れたカリキュラムをつくるのは、すぐに見直しが必要になる可能性があるため、おすすめしません。
「go-to person」になる
また「go-to person」になることもおすすめです。
「go-to person」とは、困ったことがあったときに相談できる人を意味しています。
情報感度を高め、知識と経験を積んでいくことで、チームメンバーから「あの人に相談してみよう」「知識豊富だから解決のヒントをくれるはず」などと、頼りにしてもらえる。そういった周囲から信頼されるポジションを目指しましょう。
業務領域をシフトするのも生き延びる手段
個人的な予想ですが、少なくとも今後5年でコンピューター自身が必要なソフトウェアを考えるようになることはないでしょう。コンピューターにそういった自発性を持たせることは危険だと避けられているからです。
したがって、相手の要望を分析して必要なプロダクトを考えるといった領域は、まだ人間にしかできません。プロダクトデザインなどの業務領域にシフトしていけば、エンジニアとして一定期間生き延びていけると思います。
「伸びるエンジニア」はどんな人?
伸びる人は「開発への興味」が高い
- Q:まつもとさんがこれまで出会った中で「伸びる」と思ったエンジニア、逆に「成長が期待できない」と思ったエンジニアはどんな人でしたか?
「指示待ちの人」は、ソフトウェア開発者としては少し厳しいかなと思います。たまに指示されたことをやらず、理由を聞かれると「わからなかったから」と答える方がいますが、それでは成長は難しいのではないでしょうか。
わからないことがあればまずは自分で調べる。それでも解決できなければ周囲に助けを求めたり、上司に素直にわからないと報告したり、さらには指示されたこと以上のことにも挑戦してみる。そういった姿勢が大事です。
指示されたことだけをする、やり方がわからないからとそこで立ち止まる人はあまりエンジニアには向いていないと思います。
逆にモチベーションが高く、機会があれば積極的に手を挙げてチャレンジする人は、成長が期待できます。
ソフトウェア開発における最大の才能は「開発への興味」です。
もちろんトップ・オブ・トップの開発者は頭の良さ、知識の豊富さなどの強みを持っているでしょう。ですが、それ以外の大多数の開発者の場合は、開発へのやる気、モチベーションの高さがその後の伸びに大きく響くと思います。
「伸びるエンジニア」を見極めるには
- Q:採用面接で「伸びるエンジニア」かどうか、どのように見分ければいいですか?
正直なところ特に新卒採用の場合、30分程度の面接だけで「伸びるエンジニア」の要素があるかどうか判断するのはかなり厳しいと思います。
そのためインターシップなどで一定期間その人と一緒に過ごす時間をつくり、相手のやる気や現場との相性などを確認してから採用するのが有効な手段だと思います。
採用活動にはお金がかかりますし、日本の制度上、いったん採用したら簡単には解雇できません。それを考えると、成長の可能性やカルチャーフィットを面接担当者の「勘」に頼るのはよくない。インターンのように時間をかけて互いを理解してから判断するのがいいと思います。
他人と自分を比較してはいけない
- Q:自分より優秀なのに、エンジニアを辞めてしまう人がいました。高いスキルを持っているのになぜ離職してしまうのでしょうか。
まずお伝えしたいのは、自分と誰かを比較しないほうがいいという点です。
自分より優秀なプログラマーがいたとしても、その方が自分の代わりに仕事をしてくれるわけではありません。つまり今ここにいる自分に価値があるのであり、他人と比べてもいいことはないのです。
それに評価軸は一次元ではありません。
たとえばプログラミングは優秀だがWebアプリ開発は苦手など、人によって得意不得意はある。開発速度は速いが、品質はイマイチという人もいる。いろんな評価軸があるため、そもそも比較が難しいのです。国語100点と算数100点の、どちらが優れているか考えても意味がないのと同じです。
また、給料の差は気になると思いますが、給料額は会社の業績によって左右されるため、必ずしもその人の能力を反映しているわけではないという点は意識してほしいですね。
ただし、キャリア自体を変えることで給料が上がることはあります。
私の昔の同僚で開発から離れた人は、おそらく給料が上がらなかったことが決断の一つの理由だと思います。ソフトウェア開発者であり続けるためには、価値を提供し続けることで収入も上がる道を見つけることも重要です。
大人の初学者が学び続けるために必要なこととは?
- Q:LIGではクリエイタースクールを運営しているのですが、大人の初学者の方に学び続けてもらうためにはどうしたらいいでしょうか。
学び続けるために必要な要素は3つあると考えています。
相手のやる気をそがない
一つ目は、「相手のやる気をそがない」ことです。先ほども少し触れましたが、エンジニアに一番大事なのは、やる気とモチベーションです。
自分に責任がないことで怒られる、精一杯頑張ったのにほかのチームのせいで目標が達成できず低評価を受けるなど、理不尽なことに直面するとやる気は簡単になくなります。
スクールに通うということは一定程度学習意欲があるはずなので、それを壊さないことが大事です。
自分を追い込む環境をつくる
二つ目は、「自分を追い込む環境をつくる」ことです。
一般的にプログラミングスクールには、仕事を続けながら通っている人と、仕事を辞めてフルタイムで学ぶ人がいますが、仕事を続けている人の方が卒業率は低い傾向があります。入学したときのやる気が、途中で尽きてしまうのです。
一方、フルタイムで学ぶ人の場合、仕事をすでに辞めていて逃げ道がないため、卒業率も高くなりやすいんです。
スクール運営側が介入できることではないかもしれませんが、自分を追い込むような環境はドロップアウトせずカリキュラムを終えることにつながると思います。
小さな達成感を積み重ねる
三つ目は、「小さな達成感を積み重ねる」ことです。
自分が実際に手を動かしたことでゲームが作れた、Webアプリが完成した、Webアプリの色が変更できた、そういった成果が目に見えることで、達成感が得られます。
成果を積み重ねていくことで、自然と学習のモチベーションもアップします。そういった仕組みづくりを考えてみてはいかがでしょうか。
テクノロジーに携わる面白さとは?まつもとゆきひろからのメッセージ
- Q:社内勉強会の運営には難しさを感じることもたくさんありました。今後へのアドバイスをお願いします。
これまでの勉強会を通して、エンジニアの方々の疑問に対して私が違う視点から回答することで、みなさんが新しい考え方を持つきっかけになったのであれば嬉しいです。開催した意義はあったと思います。
また、勉強会の内容を記事にしてWebサイトにアップしたことで一定の反響があり、LIGのパブリシティにプラスになったという点も、一つの効果だと思います。
一般的に勉強会は発表側が一方的に話すだけだと、その場にいるだけで何もしない人が多くなりやすい。それでも参加者の学びになっているのであればいいかもしれません。
ですが、せっかく少人数でやるのであれば、質疑応答などを通してインタラクティブなやりとりができれば、参加者のみなさんにとっても学びが多く達成感もあるでしょう。
今回は事前にエンジニアの方から質問を募集してもらっていたのですが、この方法はとてもいいと思います。さらに参加者が勉強会の中でも安心して質問できるような環境がつくれるといいですね。
- Q:普段の仕事では、まつもとさんのようなすごい方とコミュニケーションが取れることは珍しく、実りの多い時間になりました。最後に、テクノロジーに関わり続ける面白さについて一言お願いします。
社会は全体としてどんどん良くなっていますが、それにはテクノロジーの力が大きく寄与しています。私は今後もテクノロジーを活用して、社会をより良くしていくことに携わっていきたいと思います。
LIGもソフトウェア開発などさまざまな事業を通して、社会貢献をしていってください。
自分一人ができることはわずかです。ですが、一人ひとりの力が積み重なることで、最終的に社会が動くこともある。そこに関われるというのは、本当に幸せなことです。
それにコンピューター関係のものは、ほかの分野に比べて一人の活動で変えられることは大きいんです。情報技術でエンパワメントできる領域は広く、その業界に携わることで自分のパワーも増していくはず。みなさんの今後を応援しています。
まとめ
まつもとさんによる勉強会は、今回が最終回。テクノロジーの歴史からAI、情報収集の方法、マネジメントのポイントなど、幅広くお話いただき非常に実りの多い時間でした。
参加者からの評判もよく、私自身、特に気持ちの面で影響を受けた部分が大きいと感じます。
いただいた知識、アドバイスをしっかりと社内に周知し、活用していきたいと思います。まつもとさん、本当にありがとうございました!!