AtCoder経由で入社したメンバーたちの現在地 - estie 競技プログラミング経験者座談会(前編)


メンバー

fukushima:
大学卒業後、メディア系コンサルタント企業に従事。その後、AI 系スタートアップを複数経由し、2024年3月よりestie に入社。
競プロ好きなコンサルタントが不動産TECH企業に飛び込んでみるまで - estie inside blog

riano_:
2022年8月、Web 開発未経験の状態でソフトウェアエンジニアとして estie に入社。AtCoder 橙。
品質の斧と速度の斧 - estie inside blog

junshin:
大学院卒業後、化学メーカーの AGC に開発職として入社。競技プログラミングにハマったことをきっかけに、2024年3月に estie へ入社。
競プロをきっかけに化学メーカーからestieに飛び込んでみて - estie inside blog

競技プログラミングがきっかけで estie へ

fukushima: 簡単な自己紹介から始めていきましょう。

まずは僕からなんですが、結構変なキャリアなんですけど、メディア系の会社で働いたりとか機械学習系のスタートアップで働いたり、そういう感じのことを仕事にしてきました。

プログラミングを始めたのが大体4年前の25歳頃、競プロは27歳くらいで始めていて、ソフトウェアエンジニアリングは estie がほぼほぼ初めてくらいの感じなので、まあ競プロで入った人ということで今日はお話ししたいと思います。今日はファシリテーターをやらせていただきますので、みなさんよろしくお願いします。

それでは riano_ さんも自己紹介をお願いします。

riano_: よろしくお願いします。僕は大学では物理の研究をしていました。その後新卒でハウスメーカーの営業をしていて、今から4年前、社会人2年目の時に競プロを始めて、プログラミング自体もそれが初めてです。

それから、fukushima さんの前職と同じなんですけど機械学習系のスタートアップに転職して、同じくWeb開発は未経験の状態で、2年前に estie にソフトウェアエンジニアとして入社しました。estie ではいくつかプロダクト開発を経験したあと、今は事業部全体の開発の高速化のための基盤開発みたいなことをしています。

AtCoder でたまに writer なんかもやっているので是非よろしくお願いします。

fukushima: ありがとうございます。では junshin さんお願いします。

junshin: はい!大学院まで、化学、特に高分子系の研究をしたあと、化学メーカーに新卒で入りました。1年だけ働いてからWeb開発未経験で estie に入社することになったんですが、そのきっかけが競技プログラミングでした。そんな感じです、よろしくお願いします。

fukushima: 早速質問なんですが、riano_ さんがハウスメーカーに入った理由を伺ってもいいですか?

riano_: ちゃんと話すと長くなるので、気になる人はどこかで直接聞いていただければと思います。懇親会に来てください。笑

すごくざっくり言うと、とある経験を通して、自分自身のやりたいことをちゃんと把握するのって難しいんだなということに気づいたり、それに対して「人がはっきりと言語化できていない理想を一緒に描き出し、さまざまな制約がある中でその実現を目指していく」という過程が面白いと思ったからです。

注文住宅はまさにその最たるものだと思っていましたし、2年しかやっていないのに何を知っているんだと言われそうですが、実際そういう面白さや難しさは感じることができたと思っています。

fukushima: 他の人の頭の中にあるものを共同作業によってだんだん具体化していくことが楽しいみたいな話なんですかね?estie でもメンターをやっていたりすると思うんですけど、そういう経験と関係があるんでしょうか?

riano_: その繋がりを考えたことはなかったですが、世話を焼くタイプではあると思うのでそうかもしれないですね。

助けられながら仕事をやり切る中で自信がついた

fukushima: 自己紹介の延長で、皆さんが入社してから今まで仕事でやってきたことをお話しいただいてもいいですか?特に、競技プログラミング経験があって業務経験がなかったという共通点があるメンバーなので、どうキャッチアップしていったかといった部分を重点的に聞けたらと思います。

まずは estie 歴が長い riano_ さんからお願いします。

riano_: はい、えっと入社したのが2年と少し前ですね。入社直前くらいの話をすると、kenkoooo さんが「競技プログラマーは入社してくれ!Rust と Web 開発は教えるから!」みたいなことをツイートしていました。それで、当時いろいろ考えて、ちょっと話を聞きに行ってみようと思い、縁あって入社に至ったという感じです。

入った当時は本当に右も左も分かりませんでした。入社当初の様子はレバテックさんにインタビューしていただいた記事も見ていただけると嬉しいです。

Webアプリ開発未経験の競プロ上級者が続々活躍。estieに聞くオンボーディングのコツ | レバテックラボ(レバテックLAB)

入社から最初のリリースまでというと 1~2 週間くらいだったんですが、それは完全に手取り足取りやってもらったので、とてもじゃないですけどこれで仕事をやっていけると言う感じではなかったですね。

ただ、そんな感じで3ヶ月くらい頑張ったところで、結構大きな塊で仕事を任せて貰いました。いわゆるチケット1枚とかそういう単位ではなく、大きな目的を与えられて、それに向かってどういう風に仕事を進めていくかって段取りを考えるところから始まるような仕事です。当然それも分からないことだらけではあったんですが、いろんな人に聞きながら、任せて貰った仕事をやり切ることができて、その時になんとかやっていけるんじゃないかと思えました

その後2年目には、例えばあるプロダクトのバックエンドを言語も変えて設計もやり直してまるごと書き換える、というプロジェクトをやったりもしました。今は何をやっているかというと、少し前提を話す必要があるんですが、estie では不動産のアセットであったり扱うデータによっていろんなプロダクトを作っています。今までは各チームが自由に、独立して開発を進めていたんですが、そのプロダクトの共通部分を増やすことで開発速度を上げてメンテナンスコストを下げていけるんじゃないかという話が出てきました。今はその方法を考えて実行していく立場にいます。

fukushima: ありがとうございます。riano_ さんは本当に社内でもスーパーマンで、全社横断的なプロジェクトでかなり活躍していますよね。

riano_: そんなことはないですが、評価していただいたり期待していただけているのはありがたいことだと思っています。

fukushima: じゃあ次は僕の話をするんですけど、入社したのが今年の3月なのでちょうど今半年くらいになります。なので全然 riano_ さんほどのボリュームはないんですが…。

まず最初に DMG というデータを主に扱う部署に入りました。僕はもともとデータエンジニアとしての経験がなかったんですが、スタッフエンジニアの Lin さんを始めとしたチームメンバーに手取り足取りいろいろと教えて貰って。

1ヶ月くらい経ってからですかね。estie のデータ基盤のリファクタリングという仕事を任されました。結構顧客影響が大きい部分で、僕1人の力で進めるという感じではなく他の人の力を滅茶苦茶頼りながらという感じで進めていたんですが、まあこれがかなり手強くてですね、僕の半年の estie 会社人生の大半を占めるような感じでした。経験がないところから入ったんですが、まあデータ基盤の大変な部分は身にしみて分かった気がしていて、そういう意味では結構成長したのかなと思っています。

また、それと平行して新しいプロダクトの立ち上げっていうところも任せて貰いまして、まあこれもあまり経験がない中でやらせて貰っていました。そちらについては kenkoooo さんにメンターについて貰いまして、本当に2週間くらい手取り足取り、Rust から Next.js までいろんなことを教えて貰いました。

では junshin さんお願いできますか?

junshin: fukushima さんと同じで今年の3月に入社しました。入社してから半年間は「estie マーケット調査」というプロダクトの開発をしていました。僕も入社するまで開発の経験はなく、最初は何がわからないかもわからない状態で、とても1人で仕事をやっていける感じではありませんでした。周りの方々、特に Kimura さんNomura さんの手厚いサポートをもらって、なんとかという感じです。

初めはそんな感じでしたが、少しずつ慣れていき、入社して4ヶ月ぐらいで、大きな塊として仕事を任せてもらいました。工数の見積もりが大きくずれるなど、色々うまくいかないところがありましたが、大部分を一人でやり切ることができて、少し自信がついたのを覚えています。

入社してから一番苦戦したところで言うと、認証認可周りの機能実装ですね。面白そうだなと思い、やりたいと言ったら任せてもらえたのですが、前提の知識が全くなく最初結構しんどかったです。それでも、周りの人に助けてもらいながら、勉強して、なんとか実装することができました。

今はマーケット調査から離れて別のプロダクトをやっています。

fukushima: junshin さんはすでに社内でもかなり頼られている感じですよね。僕も何も分からなくなったときにペアプロで助けて貰ったりしました、同期入社なのに。笑

ちなみに、手取り足取りってどういうレベルでした?

僕から話すと、kenkoooo さんが手取り足取り教えますって言ってくれた時は、本当に隣に座ってくれて、分からないことがあったときに 2 秒で聞ける環境を整えてくれました。なんかこれ聞いたら恥ずかしいなみたいなことでも、聞くハードルを極端に下げてくれていたので本当に助かりましたね。

riano_: 僕の場合もメンターは kenkoooo さんなのでほぼ一緒ですね。ただリモート主体だったので、ハドル(注: 社内チャットツールの通話機能)つなぎっぱなしみたいな感じでした。

junshin: 僕の場合もリモートだったんですが、個人的に結構ありがたかったのが、結構最初の方って何が分からないのか分からない、みたいな仕事が多いじゃないですか。こちらがそういう風に思っていることをいい感じに汲み取って、説明して貰えて助かりました

fukushima: 何が分からないのか分からないの、分かりますね…。


業務プログラミング未経験という「経験」を活かす

fukushima: 関連してもう1つ質問なんですけど、estie って当然業務経験ありで入ってくる人が多いじゃないですか。その中に未経験で入ったとして、頑張ってキャッチアップしたとしても、そのキャッチアップした時間で他の人はすでに先に進んでいるわけですよね?

そういう状況がある中で、ここだったら自分は戦えるなとか、逆にここ追いつくのきついなとか、そういうところがあれば聞かせていただきたいです。

riano_: 知識についてはどこまでいっても、やっぱり先に行かれているなとは感じますね。自分の勉強不足もあると思うんですけど、estie の場合は優秀な方も多いので、ビハインドから始まったところで対等に戦っていくというのは難しいかなとも思います。

逆に戦えると思っているのは、第一にはアウトプットの量と質ですね。一番たくさんものを生み出す、一番ちゃんと質のいいものを生み出すというところに関しては、戦えていると思っています。まず仕事を進めるにはとにかくやらなきゃいけないので、そのことに対してはプライドを持ってやっている部分でもあります。

もう1つは、目的に立ち返って何が必要か考えるという点ですね。何か仕事を任せてもらう時などに、ここってこういう目的だとしたらこういう方法をとった方が良かったりしませんか、みたいな。そういったところはちゃんとやれているなと思っています。

fukushima: そういった能力は生来のものだと思いますか?それとも競技プログラミングのような訓練によって培われたものですか?

riano_: 後天的だとは思っていて、まあ競技プログラミングも1つの要素ではあるんですが、それが全てではないです。おそらく、おおよそ物心がついてから経験してきた全てが生きていると思います。

fukushima: 業務プログラミング未経験っていってもその未経験の間他のなにかをやっているからそれが生きるんです!みたいなことが言えそうですね。

junshin: 僕も riano_ さんと同じで、目的に立ち返って何が必要か考えるところ、別の言い方をすればお客さんの目線を重視していています。もっとこうしたらいいんじゃないかみたいな想像力を働かせる部分は業務経験がなくてもできることだと思いますし、そういう部分で戦っていけるんじゃないかと思います。

fukushima: それ分かるなと思っていて、議事録を丁寧に読むとか、そういうところって経験関係なく労力をつぎ込めばリターンが返ってくるところがある気がしますね。

ちなみに僕の話をすると、僕がこの質問をしたのは自分がこれを聞きたかったからという部分が大きいです。業務知識とかは本当に足りてないなって感じなんですけど、まあ戦える部分を強いて挙げるとすれば、競技系のプログラミングって一日中何かプログラミングについて考えたりすることがあるわけですよね。そういう習慣的な部分は業務にも転用できているのかなと思うことはあります。

お客様や社会に貢献できていることが一番の楽しさ

fukushima: 次の話題に行きます。ある程度自己紹介とキャッチアップの話が済んだので、今の話を聞きたいんですけど、お仕事楽しいですか?

まず僕から話すと、仕事結構楽しいなと思っています。基本的にお客さんの声がかなり聞きやすい職場ですよね。僕は今正直関わっているプロダクトがあんまり直にお客さんに触って貰うような段階ではないんですが、それでもデモを見て貰ってリアクションをもらうとか、そういうことが結構あって楽しいです。

riano_ さんはどうでしょうか。

riano_: 正直に言っていいですか?これはまあ、楽しいときも楽しくないときもあります。

まず楽しかったというか、一番嬉しかったのは、結構頑張って実装して提供した機能があるんですけど、それが実際に世の中に流通しているのを見たときですね。ちょっと詳しくは言えないんですが、不動産の情報をデータとして整形して出力する機能を作っていまして、その機能によって作られた資料が回り回って会社のアンテナに引っかかってきたみたいな感じです。世の中に広く使われているんだなと実感を持てました。

あと、嫌なことが少ないとは思っています。どういうことかというと、理不尽なことがあまりないです。ちゃんとやっているのに報われないとか、酷いと怒られるみたいなことって社会にはびこっていると思うんですが、この会社では、完璧とは思いませんがそういうことが無いようにかなり意識されているように感じています。これは個人的にはすごくありがたいですね。

それで、楽しくないのはどんな部分かというと、根本的には仕事をしないで生きていけるもんなら仕事をしない方がいいんですよね。仕事よりもやりたいことなんて山ほどあって、仕事以外のやりたいことから順に人生に詰めていっても全然人生足りないと思っているので。そういう意味では働いていること自体が妥協と言えるかもしれないです。

fukushima: なるほど!その話はもっと聞きたいんですが、時間が足りなさそうです。残念。

junshin さんはどうでしょうか。

junshin: 自分が考えてやったことについてお客さんからいいフィードバックが返ってきたときは、やっぱりやったぞって思いますね。

それ以外だと、最初は全然分からなかったような仕事について、自分で勉強して分かるようになっていく、進めていくっていうのが好きな気がします。

fukushima: ありがとうございます!分からなかったことが分かるようになるのって楽しいですよね。

みなさんここまで真面目にお仕事の話をして貰ったと思うんですが、後編ではもうちょっとゆるめの話ができればと思います。

後編はこちら

www.estie.jp

© 2019- estie, inc.