FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

2023年度新人研修を終えて

はじめまして、2023年に新卒入社した伊藤です。FLINTERSに入社して約3ヶ月半の研修について記していきます。これから入社を考えている方や決まっている方の参考になればと思っています。

目次

自分について

私は大学では深層学習を用いた画像処理についての研究していました。研究では主にMATLABやPytorchを使用していて、敵対的生成ネットワーク(GANs)のアルゴリズムについて勉強していました。

しかし、情報系と言いつつ全くプログラミングが得意ではありませんでした。自分がどのような状態で入社したかと申しますと、Linuxではコマンドをcd、lsしか知らない、オブジェクト指向ではクラスやインスタンスなどもろくに理解していない、Gitって何?Scalaって何それ言語なの?HTTP??フレームワーク???もうほとんど全てが分からず、自分に残っていたのが、深層学習、線形代数、確率統計についてとfor文とif文の知識だけでした。

これから、Web系の開発について未経験である私の約3ヶ月半の研修を率直な感想を交えて振り返っていきます。

研修内容について

Git研修

GitHubの存在は知っていましたが、GitとGitHubって何が違うの?そもそもGitって何?というところからスタートしました。学生時代コマンドに触れたことがない私は、資料に書いてあるコマンドが何かの暗号にしか見えなく、当然Gitの理解も必要性すらも分かりませんでしたが、研修中で使って慣れていこうというスタンスで、とりあえず進んでみました。

研修中にたくさんGitを使用するため、その度にエラーと向き合うことになります。初めの方はエラーの内容すら理解できず、教育チームの方々に聞いてもなんとなくエラーの解決方法がわかる程度でした。研修が進むにつれ、徐々にGitのコマンドを覚えていったのですが、その状態で研修資料を見返したところ、こんなに分かりやすかったんだ…と感動したのを覚えています。

もしかしたら、入社前に基本的なLinuxコマンドについて慣れておくとGit研修もすんなり入れたりするのかなとも感じました。

Scala研修

そもそもScalaという言語を知りませんでした。Scala研修が始まってすぐにスケーラブル?静的型付け??関数型??と知らない用語がたくさん出てきて絶望しかけました。1日目、2日目は変数宣言やfor文、if文など基本的な構文だったのでついて行けました。しかし、3日目のトレイトが出てきたあたりから「?」が増えていき、関数値を引数にとる高階関数でかなり心が挫けました(笑)。自分が知っているfor文全く使わないじゃん!!!と。

知識がなさすぎて、何が分からないのかが分からない状態が続いたので、研修中に借りたコップ本を一から見直したり、教育チームの方々に分からないことが分からないです!と聞いたり、もういっそのこと全部覚えちゃうか!と開き直って学習していったりすると、不思議なことに少しずつScalaとお友達になっていくのを感じ取れました。最終的には美容室の予約コンソールアプリを作成したのですが、自分の成長を感じて、楽しくてしょうがなかったのを覚えています。

Web研修

この研修が最初最も絶望しました(笑)。情報系の卒業なのにHTTPはおろか、サーバということすらも理解していなかったのです。本当に自分は何を学んでいたのか…と後悔する日々を送っていました。

Webを支える技術という本を読み、メモを共有する研修だったのですが、この本はHTTPやAPI、サーバなどの基礎中の基礎の説明はなく、先に進めば進むほど知らない横文字がたくさん出てきて大変でした。この研修では、分からない用語を全て(もちろんサーバという用語から)調べメモに残しました。1日の初めに書いたメモを復習したり、読み進めて、「あーこの用語なんだったけ?」と調べてメモに残すことで、5日間でこの本をふんわりと理解できるようになりました。

ただ、この本を読んだだけではちゃんとは理解できず、その後のWebアプリケーション研修やチーム開発研修を通して、やっと理解できたなと感じました。やはり、インプットも大事ですけどアプトプットの方が何倍も自分のためになると体感できた、いい機会でした。

成長できたこと

研修を通して成長できたことを2つ記します。

知識を身につけること

自分は上記の通り、何から何まで初めてのことばかりでした。なので自分にとって膨大な知識が頭に入ってきます。そこで知識を身につけることにおいて自分なりに工夫できたのは良い経験だったなと感じています。

自分は、理解力=知識量であると思っています。なので初めの方は「理解しないと!」と考えるのではなく、「理解できないのは、この周辺の知識がないから」と思い基礎的は知識はひたすら覚えるようにしていました(結構忘れていることも多いですが…)。自分の場合、ネットに載っているからまたすぐ調べればいっかと思っていたら、いつまでたっても理解できませんでした。また、アウトプットもかなり重要です。基礎的なことを覚えてもアウトプットしないと応用が効きません。これは研修の演習問題や、チーム開発を通して知識を定着することができました。

エラーに対する耐性

避けては通れないのがエラーと向き合うことです。学生時代エラーを見たら、考えることを放棄するくらい苦手でした。ただ、エンジニアとしてこのままではいけないと思い、ひたすらエラーと向き合い、解決策を調べるということをしました。初めは、調べてもよく分からないまま解決できてしまったり、何度もエラーが出て自分には解決できないんだなとマイナス思考になったりしました。ただ、研修を受けていくと徐々に知識が付き、エラーの解決方法が理解できたり、全く同じようなエラーがなかったとしても、知識を応用して解決ができるようになってきたりしました。まだまだ、エラーと向き合うことは苦手ですが、エラーが出ても怖いものなしと言えるくらいたくさん知識をつけたいと思いました。

会社に入ってみての感想

ここでは、自分が入社する前に気になっていたことを2つピックアップして記していきます。

本当に在宅ワークなの?

自分は朝の電車や帰りの電車が本当に苦手で、絶対在宅ワークがいい!!と心の底から思っていました。しかし私が入社した時は、コロナ明けと呼ばれる時期で、「コロナ明けたから出社になっちゃうんじゃないの?」と少し不安でした。けれどそんな心配は入りませんでした。ちゃんと在宅ワークでした。頻度的には2、3週間に1回イベントなどがあり出社する機会がありましたが、むしろ良い気分転換になったと思っています。

周りってどんな人が多いの?

皆さんもブログに書いていると思いますが、本当にいい人ばかりです。何にもWeb系の経験や知識がなかったり、同期の人と比べて進捗が遅くても、怒られることは絶対にありません!Scala研修の時は分からないことが分からない状態がたくさんあり、迷惑をかけてるな…と申し訳なさそうに自分がしていると、「全然分からないことがあっても気にしなくて大丈夫だよ」と優しく声をかけて下さったりして、あぁ本当に優しい方ばかりだなと心の底から思いました。

月に1回マネージャー、教育チームの方、そしてメンターとの面談がそれぞれあり、自分の体調や悩んでいることなど、なんでも話したいことを聞いてくれます。自分は心配性なところがあるのでつい面談の最大時間まで、相談に乗ってもらったりしました。自分を客観的に見つめ直す良い機会で、その後の仕事もやる気にも繋がりました。

最後に

約3ヶ月半という長い研修は、自分にとって心の部分から技術的な部分まで、大きく成長することができました。また、成長できる環境を提供してくださった、教育チームの方々や同期の方々、そして面談をしてくださった原田さん、横山さんやメンターの脇田さんには非常に感謝しております。これから、研修で学んだことを活かし、技術力を高め、面白いプロダクトを作れるようなエンジニアになり、皆さんに貢献できたらと思っています。今後ともよろしくお願いします!!