FLINTERS Engineer's Blog

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

【23卒】FLINTERS新人研修まとめ

こちらで再度、ご挨拶をさせていただきます。
2023年4月入社の西垣太一と申します。
Linux上で一括変換すると”西が期待値”に変換される、母音がaとiだけで構成されるなど、語呂がいい方だとは思いますので、名前だけでも覚えていただければ嬉しいです。

自身について

大学&大学院

6年間、表現工学科でメディアデザインとHMT(ヒューマンメディアテクノロジー)の分野に所属していました。工学と芸術表現を組み合わせたような領域であり、「既存の固定観念を崩す」、「全く関係性のないモノ同士を組み合わせることで新たな価値を創出する」ことを主軸にしながら制作を行う、かなりアイデア勝負な環境で触覚やセンサなどを用いたマルチモーダルな身体拡張について研究を行なっていました。 現代アートやインタラクティブアートなどと親和性が高いため、今後社内の雑談部屋で展示会などの紹介ができればと思います。

プログラミング

学生時代のプログラミング経験に関しては、マイコンやセンサなどを制御するためにArduino、Python、Processingなどを使用した出力やセンシング処理、また無線通信系などを行なっていました。必要に応じてHTML/CSS、JavaScript、C#などの経験もありますが、初級レベル程度でもう少し深く首を突っ込んでおくべきだったと今になって後悔しております…

プログラミングに関わるアルバイト

プログラミングに関わるアルバイトとしては、大学3年次にフィットネス企業のAI開発業務の一部にインターンとして参加させていただき、Node-Redを使用したJavaScriptでのデータ解析や(あまり細かくは言えませんが、)Word2Vecを使用したサービス開発で経験を積ませていただいた経緯があります。また、大学院入学後に年中〜高校生を対象にScratchやUnityを用いたゲームプログラミングの講師としてアルバイトも行なっていました。非常に個性的な方々に囲まれ、業務以外でも非常に貴重な体験ができたことに感謝しています。

研修を通して成長できたこと

まず、就職以前に多少なりともプログラミングについて経験がある私ですが、一旦総括してみると各タスクに対して目的に合致する適切なプログラミングツールやライブラリをバラバラに活用しており、技術を深く習得してこなかった経緯があります。点を少しずつ学んでいるものの、それらが繋がりを持ちきれないために、応用力に欠ける、また個人として誇れる技術が乏しい、そんな不安が続いているような状態でした。しかしながらFLINTERSの以下のような新人研修を通して、ようやく各々の技術の繋がりに気付き、全体を通してバランス良く扱える状態になりつつあることが私自身で特に大きな成長であると実感しています。

  • ScalaSQLなどのプログラミング言語の基礎知識

  • GitDockerなどによるプロジェクト管理に関する知識

  • セキュリティDDDアジャイル & スクラムなどのエンジニアのイロハ

もちろん、研修だけではまだまだ不十分だと感じることも多いですが、この3ヶ月間で得た経験が今後の自学や個人の興味の延長戦でも確実に原動力として活きてくるはずですので、意欲を損なうことなくスキルを磨き続けていきたいと思います。

研修内容について

元々自己紹介にて、ある程度のプログラミング経験について書きましたが、実施された研修は自分がもう少し深く掘り下げるべき内容や今後社会人として必須になってくるであろうスキルセットばかりで、非常に重要な学びとなりました。長めの3ヶ月間という無理のないスピードで、技術の習得度合いを再確認しながら着実に身につけていくことができると思います。
以下に研修の詳細と私の意見を織り交ぜながら紹介していきます。

コンテナ研修

チーム単位でプロジェクトを遂行するにあたり、非常に重要なことのひとつに「開発の環境を整える」が挙げられます。折角作成した機能をレビューしていただくにもバージョンの違いでそもそも動かない、また認識の差が生じてしまっては効率も落ちてしまいます。これらを解決するためにDockerを用いたコンテナ設計手法を学びました。

概念の理解から実際に作業を行うところまでかなり覚えることが多かったですが、元より個人開発が多かった私にとっては目から鱗の技術でした。エンジニアが大きく依存しているプログラミング言語は高頻度で仕様を変え続けるものであり、常に変化に適応するの姿勢を止めないことが要求されます。この点も含め、より円滑に業務を行い、クライアントや顧客に最適なサービスを提供し続けるためにも持っていて損はない技術であると実感しています。

ETL研修

ETLは「Extract, Transform, Load」の略で、データウェアハウスやデータレイクなどのデータストレージにおいて、データを取得(Extract)、加工・変換(Transform)、そして目的のデータストアへの書き込み(Load)という一連のプロセスを指し、データの取得から最終的なデータの準備までを自動化し、データの品質向上や効率的なデータ処理を実現するための重要な手法です。研修ではDigdagEmbulkを使用しましたが、これまたカルチャーショックレベルの使える技術であることに気付かされました。FLINTERSおよびセプテーニグループは大量の広告やそれに類するデータを扱うため、いかにミス無くまた高速にデータを管理・活用する基盤を整える必要があり、この先どのような業務に就いたとしても必須級の技術に面白ささえも感じています。

チーム開発

クライアントの要望を聞くことから開始し、モデリングやUI設計、技術選定の全てを同期の全員で意見しながら研修で得てきた経験を活かした集大成の作業を開始しました。ほとんどの作業を未経験で行うにあたり、選択した言語で想定した機能は実装できるのか?各階層のファイルはそもそもどんな挙動をしているのか?自分の作業内容はメンバーの意向に正しく準拠しているのか?など多くの壁に当たりながらも、各々の長所を活かすことが出来ていたと感じています。

特に大きな経験になった要素は、

  • チーム内の役割を担えるために十分な技術基盤を身につける必要があること
  • 不明確な点はすぐに確認を取り、誤差を極力抑えた設計を行うこと、また技術の協調は惜しみなく行うこと
  • 自走するエンジニアとしてはまだまだ経験と知識が足りないこと

に尽きると思います。こうしておけばよかったと後悔も多く残りますが、その反省点さえも全てプラスに捉えられるほど強力な研修でした!

今後のエンジニア像

今回の研修を通じて圧倒的に知識も実力も足りていないと痛感しました。ですが、それ以上に反骨精神の強い性格が刺激されより一層の技術習得に熱が入ったのも事実です。FLINTERSには様々な経験を持った社員の方々が在籍しており、私自身もそのメンバーとしてひとつでも強力な「武器」を持って活躍することを強く望むきっかけとなりました。また、エンジニアには技術を磨くこと以上に社内やチーム内で自身の存在を知っていただく必要があるとも感じているので、より透明性の高い人材としてコミュニケーションの場でも積極性を出していきたいと思います。

謝辞

このような場でまとめの機会をいただけたこと、また3ヶ月間の研修の過程を常に支えていただいた教育課の皆様、そして私自身のことやキャリアパスについて親身に聞いていただいたメンターの皆様、そして非常に個性的で様々意見を飛び交わせてくれた同期の皆さんに深く深く感謝を申し上げます。まだ未熟で成長過程ではありますが、期待を超える形で今後貢献していきたいと考えておりますので、何卒よろしくお願い申し上げます。