今注目しているのはGo言語

IMG_2003

– ありがとうございます。ちなみに今って、開発にメインで使っている言語とかって何になるんですか?

アプリ開発で言うと、iOSだとSwift。AndroidだとKotlinになりますね。あと、iOSのほうだとReact Nativeも導入しています。それは私が入社してからぜひ導入したいという希望を伝えて実現したものになりますが、JavaScriptですね。

– それは李さんが入社されるまでRettyでは全く使っていなかった?

そうです。入社前にCTOや当時のアプリ開発チームのエンジニアリングマネージャーと話す機会があったんですけど、入社したら何がやりたいという話があって、ぜひ今趣味でやっているものを導入したいという話をしたんですね。結果的に入社したあとにそれが実現したという感じです。

– 今も趣味でやっていることっていうのはあるんですか?

今はGoをやっています。Googleが開発した言語です。

– Go言語!流行っていますね

自分個人の開発ではけっこう使っています。Rettyではマイクロサービス化を促進しているチームがあるのですが、私からの提案でGoを採用してもらっています。

– ちなみに、Goの良さってどんな部分なんですか?

チームでの開発にすごく向いているところですね。

僕はGoの前にはRubyも趣味でやっていたんですけど、Rubyってすごく個人開発に向く言語だと思うんですね。すごく柔軟な言語なので、好きなように個人でごりごり書いて、どういうものなのかも個人で把握するような形で開発するとすごく効率がいい。

– 確かに、書き方が決まっていないっていうのはよく言われますね

そう。ただし、好きなように書いて、作れるというメリットがある一方、ほかの人には共有しづらい部分があったりするんですね。チーム開発で使っていると、どんどんお互いに共有できない部分が増えていき、それを共有するためのコストも増えてしまう恐れがあるんです。

それに対してGoはすごくシンプルな言語で、機能は強いんだけれど書き方はほとんど固まっている。誰がその機能を書いても基本的にほぼ同じ書き方しかできないんですね。そうすると、エンジニア間でそこまで認識を合わせなくても、できたものに関してはみんな簡単に読めるんですよ。

– 確かに、そう聞くと多人数での開発にすごく向いていそうですね

Googleが開発した理由もまさにそこにあるそうで、巨大な企業に国籍もバックグラウンドも違うエンジニアが数千とかいる中で、みんなで同じものを使って同じものをつくりあげるという思想でつくられた言語なんですね。

– なるほど、すごく納得しました

そしてもう1点、Go言語の仕様はすごくシンプルなので、習得コストが比較的低いんですね。Cとか、何かしらの言語を使った経験のあるエンジニアなら、1週間くらい学習すればGoのコードがある程度読めるようになると思います。そして、1カ月くらい学習すれば、もう自分でも書くことができてしまうこともあります。

つまり、Goの知見を持っていないエンジニアを採用しても、勉強意欲がある人であればすぐにGoを使ってごりごり開発できるようになれるということで、チームビルディングもすごく楽なんです。

最も重要なのは、技術に興味を持っているかどうか

IMG_2041

– 採用にもメリットを生むとは驚きました。

そうです。勉強意欲のある人なら、入社後から勉強し始めても十分間に合うと思います。

– Rettyの採用においても、その時その瞬間に持っている技術じゃなくて勉強意欲を重要視しているんでしょうか?

そうですね。私は前職からずっとエンジニアの採用に携わってきましたが、一番重要視しているのはその人が勉強意欲がある人なのかどうかというところです。その中でも、新しい技術をしっかりキャッチアップできているかどうかを特に見ています。

– アンテナをちゃんと張っているかどうか?

そう。最近流行っている技術とかに対して、少なくともキーワードに反応するくらいは最低限できて欲しいですね。

例えば、今でこそGoはすごい有名ですけど、1,2年前にGoというキーワードを出したとして、そこに反応すらしないのであれば、その人ってそこまで技術に関して興味がないと思うんです。

自分で使っているわけではなくても、少なくともその言語がどんなものなのかというのが自分の言葉で説明できると、新しいものをキャッチアップできるという点においてすごく勉強意欲のある人という判断ができるんですね。

– 確かに、そこは本当に重要だと思います。新しい技術は次々生まれていますし

よく後輩とかにも、就職するときにどんなことをしたらいいかを聞かれるんですけれど、そういう時私は、「エンジニアに本当になりたいと思っているのであれば、ある程度の覚悟をしておかないといけない」というのをよく言うんですね。

どんな覚悟かというと、新しい技術がどんどん生まれる中で、自分がどんなポジションにいたとしてもほぼ毎日勉強しないといけないという覚悟なんです。そういう意味で、ちゃんとエンジニアになろうとしている人たちは、新しい技術のキャッチアップを日々し続けているのが基本だと思っていますね。

– それを苦しいと思ってしまうかというところが、適正というのに繋がってくるんでしょうか

そうですね。新しいものをキャッチアップし続けるのを苦しいと思うのか楽しいと思うのかで、自分がエンジニアに向いているかどうかがわかる部分も多いと思います。

僕は新しい技術が出るたびにワクワクしますし、すぐに試してみます(笑)

– チームもそういう人が多いんですか?

はい。そういう人が集まっていますね、

– それだと、技術の話で盛り上がったりとかっていうのもありそうですね。

新しい技術の話はすごく盛り上がりますね。

今私は新卒エンジニアのメンターもやっているんですが、その彼がハードウェアにすごく興味を持っていて、新しい機種や最近のハードウェアの話とか、毎週そういう話で盛り上がっていますね。

– やはりそういう人だと成長も早いものですか?

そうですね。入社前はAndroidを少し触ったことがある程度でしたが、そこからわずか半年で今Androidチームをリードしてくれるまでに成長しています。すごく勉強意欲が高いですね。

本たくさん読んでいると思いますし、とても成長が早いです。

まずは面白いと思えるかどうかを確かめてみて

IMG_2093-3

– 最後になるんですけれども、この記事を読んでいてエンジニアになろうかなと思っている方へ、今すぐ始められるアクションを一つ教えていただければと思います。

これからエンジニアを目指すなら、まずは自分が技術を面白いと思えるのかという点がすごく大事だと思っているので、そこを確かめてみてほしいなと思います。

最初はすぐに形が見えるものの方が興味が湧きやすいと思うので、フロントエンドの技術に挑戦してみることをおすすめします。

フロントエンドの中でも特にアプリの技術はすぐに形になって面白いと思うので、色々調べながら試行錯誤してアプリを作ってみて、そこで楽しいと思えたならバックエンドだったりもっと深い技術を色々勉強してみると良いと思います

– まずはつくってみる。

そう。すごく簡単なものでいいからつくってみる。それが楽しかったら、向いていると思うので、ぜひ色々やってみてほしい。

– ありがとうございました!

 

 

この記事に関するキーワード

この記事の内容について報告する