FLINTERS Engineer's Blog

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

3ヶ月の新人研修を終えて

こんにちは新卒の中澤です。これから入社するあなた、エントリーを検討しているあなたに向けて研修中どんなことを学んでいたのかを伝えられたらと思います。

目次

自己紹介

 大学時代は経営工学系の学問を学んでいました。線形代数や統計、環境工学系、金融工学系、情報系など様々な分野をめちゃくちゃ浅く学んだというのが正直な感想です。研究室に配属されてからは企業の業績とSDGsの関係を仮説を立てて統計分析してました。 プログラミング経験はExcelVBAしかないです。オブジェクト指向などの名前は知っていましたが、情報系の研究室に行かないとそこらへんの知識は学べない感じでした。しかし営業タイプじゃないのでとりあえずソフトウェアエンジニアを目指していました。SIerとWEB系で迷いましたが、弊社は考えが柔軟でいろんな新しめの技術を採用していて楽しそうだと思い入社しました。

内定後〜入社前の様子

 内定者研修などはほぼありませんでした。大学の友人などの多くは基本情報とか勉強してるので頑張ってるなぁと思いつつ、特に必須でやる課題などはなかったのでそれに甘んじて遊んだりしてました。 入社前に一番頑張ったことは物件探しですかね、リモートワークを想定して8畳以上で駅近で家賃は相場より低めみたいな条件でずーっとSUUMOと睨めっこしていました。いくらリモートでもさすがに月1以上は出社するだろうと考えて丸の内線沿いの物件にした結果、この3ヶ月出社回数はたった2回でした(PC受け取りとHD人事の方に書類渡す)。2回とも雑用で強制出社ではないので、そこまで近くに住む必要はないかなと思います。大宮周辺とか良さそうだと思いました。

ついに始まった研修

 まずは技術の前にこれからどういう方向に成長していくのか、エンジニアとしてのスピリットというものを教わりつつ、それに対して自分の意見をいうことで理解を深めていきました。 最初は弊社がマインドセットとして掲げている「自走できるエンジニア」についてBN各々で深掘りしていきました。 さらに弊社が考えた「自走できるエンジニア」とは以下の4項目ありそこをさらに深堀りしていくセッションでした。

  • 指示がなくても活動できる

  • チームのことを考えて活動できる

  • 自発的に行動できる

  • 学びを共有できる

行動する上での軸は自分で作っていくこともできますが、自分で設定したり継続したりするのは難しいことなのでこのような指針があるのはとても助かるなと思いました。

Scalaは大学数学みたいだった

今まで軽く触れてきたプログラミングがまるで高校数学、いや中学数学レベルなんじゃないかと思えるほど奥が深く、いろんな機能が細かく厳密に定義されていてまるで大学数学みたいでした。 VBAしかほぼやってきていないので、クラスとかトレイトとか最初は意味分かりませんでした。日報でも思わず喚いちゃいました。オブジェクト指向ドメイン駆動設計などを学んだことである程度理解できたので、その周辺の知識あるとかJava系の経験ある人は楽勝なんじゃないかと思います。また一番長い研修なのでフォローや演習問題や課題などはしっかり用意されています。私みたいな方も安心してください。

顧客に対する考え方が変わった

 弊社はSE職はほぼないですが、私はSIer業界も志望していたのでそういった企業の説明会に行くと必ず言われるのが「顧客に寄り添って」「顧客に適した技術を」という言葉。 何回も言われます。内心全く思ってなくても面接では「顧客がどうたら〜」とか言ってました。そうなると”顧客”がだんだん気持ち悪いものに思えてきます。「そんなに顧客にぴったりべったりくっつかないといけないの?もっと面白そうな技術使いたい!」と、以前は考えていました。しかし弊社に入って「ユーザーの要望・課題を捉える研修」を受けたことで顧客に対して謙るのではなく、顧客と対等に接した上で問題解決していくものなんだと考えを改めることができました。そして顧客と対話するときは自分はカウンセラーもどきなんだと思えば、顧客にたいして優しくそして温かく接することができるような気がします。

コードを書くだけじゃない!

 先ほどの話の続きですが、会社説明会に行くとよく聞く「開発はプログラミングだけではない」という話。チーム開発研修ではまさにそのことを実感しました。今回は出社管理アプリケーションを作ったのですが、顧客(今回は講師の方)の要望に沿った画面遷移図や必要な機能、オブジェクトをBN4人で考えました。最初のいわゆる上流工程である設計をしっかり練らないと、冗長な機能ができたり、余計な工数ができたりと開発遅延の原因になってしまいます。そのためエンジニアには以下のような力が必要なのだと思います。

  • 自分の知識から意見を出す力

  • 相手の意見を理解する力

  • 相手の意見から意見を出す力

  • 相手の意見でわからない部分を質問する力

  • 意見をまとめる力

  • メンバーの同意をとり認識を合わせる力

  • みんなの意見を引き出す力

  • 手が空いたら他のタスクを見つけてそれを実行する力(みんなの意見をメモするなど)

パッと考えただけで結構ありました。当たり前に思えることが結構ありますが、それでもきちんとできていない部分はたくさんあります。

また開発中でも作業報告やタスクの振り分けがしっかりできていないと同じ部分を作業したり、機能が満たせていないと結局別の人が編集したりなどが散見されました。 一番の反省点は仕事の振り分け方です。ざっくり言うとインフラ・バックエンド・フロントエンドで分けたのですが、バックエンドはScalaでフロントエンドはhtmlでしょといった感じで分けたせいでScalaとhtmlの連携がうまくいかず何回も同じところ修正したり、コンフリクトしたりと大変でした。研修最後の時、追加機能実装を1人でやったときはほぼコンフリクトせずスムーズにことが運んだので機能ごとにタスク分けた方が良いのかなと個人的には思います。

研修でつけるべき今後も使える力

 研修で重点的に学ぶScalaも最近では使わないチームも多いです。しかし1つの技術をものにするという経験から新しい技術を学ぶ際にも活かせる部分があるのかと思います。講師の方がそのように仰っていました。つまり研修の目的は必要な技術を学ぶ以外にももっと本質的な力を身につけることが求められているのかもしれません。研修中は大体3日〜1週間スパンでどんどん新しい技術に触れます。もちろんできるだけ深く理解し学ぶことは大事ですが、それを完璧にこなすことは容易ではありません。そしてエンジニア界隈は技術の流行り廃りが激しいので研修後もずっと新しい技術に触れる機会はいくらでもあることでしょう。だからこそ、私は「新しい技術との付き合い方」を覚えることは大事だと、本質的な能力の1つだと感じました。まだ自分でもその力の身につけ方をはっきりとは分かっていませんが、先ほどのScalaのように「1つの技術を深く理解する」も1つの方法だと思います。この力は経験によって培っていくものなのかもしれません。ですが、とりあえずそういったことを意識していると今後役に立つのではないかと思います。

自走できる人とできない人の違い

 今回の研修で私は分からないことがあったらすぐ質問していました。質問することも自走できるエンジニア要件の1つなのでその姿勢はとても大事だと思う反面、良くない部分もあります。私は文章をよく読んでいない、少し考えたら分かることでも質問していました。そして自分で検索しても分からなかったことを質問すると講師の方も何かしら検索するというパターンはとても多かったです。その度に自分の検索力のなさに嘆き、そして絶望していました。そしてなぜか講師の方は検索してから答えを出すのが結構速いです。資料から必要な情報をピックアップする能力が高いと見受けられます。つまり何が言いたいかというと自走できる人とできない人の差の1つには「検索力と資料を読む力」があるのではないかということです。他の優秀な同期たちも「検索して資料から必要な情報をピックアップする」というサイクルを爆速で回しているように思えます。「検索力・資料を読む力」をもう少し深く掘り下げると検索力は「自分が欲しい情報が検索結果に出てくるような検索ワードを考える力」です。この力をつけるには「とりあえず検索しようと適当なワードを打つことをやめる」、「自分が欲しい情報を3単語ぐらいで言語化する」この2つが重要だと思います。次に資料を読む力は「自分に必要な情報をピックアップする力」です。この力をつけるには「このサイトには自分に必要な情報はないと判断する瞬発力」、「タイトルから必要な情報があるサイトか判断する力」、「英語やコードがいっぱいで読む気が失せるサイトでも根気強く読む」この3つが重要だと思います。そして何より大事なのは研修の進行より自分の理解を優先する意識です。正直質問した方が早いです。課題進むのも早いです。ですが、それではきちんとした理解が伴いません。質問するときは10~15分試行錯誤してから行うようにしましょう。「自分でできることは大体やりましたが行き詰っちゃいました」という時に質問はするべきだと思いました。当たり前ですが。

最後に

 未熟で稚拙な行動が目立つ中、それでもこんな私にご指導していただいた講師をはじめ、メンター、同期の皆さんには感謝しています。 他の会社だったらどうにかなっていたかもしれません。それだけ良い意味でゆるくフランクで懐の広い自由な会社なんだなと思っています。 ある程度の業務は任せてもらえるようにまずは1年間業務と勉強に勤しんでいきたいと思います。これからもよろしくお願いします。