はじめに
こんにちは!22年度新卒エンジニアの佐藤です。早いもので入社してから3ヶ月が経過し、試用期間を無事に終えることができました。
この記事では、入社後の約3ヶ月間で経験したことの紹介と、その経験を通して私がギフティという会社に対して感じたことをお伝えしたいと思います。入社後の流れについては、配属される部署や入社時点でのスキルによって異なってくるので、あくまでも1つの例として参考にしただけると幸いです。
入社してから約3ヶ月間の歩み
それでは早速、これまでの約3ヶ月間で経験したことを時系列に沿って紹介していきたいと思います。
入社式を終え、新卒研修が始まるのと同時に、配属先チームでのオンボーディングが進められていきます。ギフティでは、新卒社員には同じ部署の先輩がメンターとしてついてくれます!最初はわからないことだらけだったので、気軽に相談できるメンターの存在は本当にありがたかったです。
環境構築
入社日初日からいきなり始まったのが環境構築です。受け取ったばかりのMac Book Proに業務で必要となるものをインストールしていきます。環境構築用のドキュメントは用意されていたので、基本的にはそれに沿って進めていきました。今まで何度も環境構築をやられてきたであろう読者の方ならお分かりいただけるかと思いますが、多くの場合どこかで詰まります!(笑)案の定、私の場合も途中で詰まってしまったので、すぐにメンターに相談し、無事環境構築を終えることができました。
プロダクトの理解を深める
次にメンターの方から自分が開発に関わるプロダクトの詳細について説明していただきました。新卒研修の中で行う新入社員大学でも各プロダクトについての説明はありますが、実装を進めていくとなるとより深い理解が必要になります。実際のところ、ギフティが提供している様々なサービスは社内の複数のシステムが連携しあって成り立っているので、軽く説明を聞いただけでは何も理解できません。さらに社内用語も豊富にあるため、理解を深めるにはなかなか時間がかかります。例をあげると、GCPという言葉を聞くと普通はGoogle Cloud Platformを連想すると思いますが、社内ではGiftee Campain Platformのことを指します。(慣れるまでに時間かかりました笑)
業務で必要とされる情報はとても多くわからないことだらけでしたが、こちらが理解できるまでメンターの方に根気よく説明していただいたお陰で、自分が担当することになるプロダクトについてなんとか最低限の知識を身につけることができました。
タスクのアサインと初リリースへ
最低限のインプットが終わると、早速業務に入っていきます。最初はRuby on Rails (以下、Rails) を用いた簡単なCRUD処理を実装するタスクが割り当てられました。しかし、初めてソースコードをみた時には壁にぶち当たりました。そもそも「どこに実装したらいいのかわからなかった」からです。というのも、私がアサインされたのはgiftee for BusinessというtoB向けサービスの基幹システムであったため、ディレクトリ構造が複雑でどこに何があるのか全く理解できませんでした。そのため、最初はメンターの方とペアプロをしながらファイル構造の理解や、実装場所の理解を深めていきました。
また、入社時点ではPythonのWebフレームワークであるDjangoの経験はあったものの、Railsについてはほとんど使ったことがなかったため、業務と並行してRuby on Rails チュートリアルを進めていました。チュートリアルを進めながらプロダクトのソースコードに触れていると、徐々にソースコードを理解できるようになるだけでなく、チュートリアルからは学ぶことのできない、実務レベルの綺麗な実装も学べるので、自分のスキルを向上していく上でこの方法は最適だったなと思っています。チュートリアルを一通り終えた後も、Ruby on Rails ガイドを読んだりすることで不足している知識を補っています。
入社してしばらくは、タスクをこなす上で必要となるRailsの知識を身につけるため、チュートリアルを進める→実装をする→プルリクエストを作成する→レビューをいただく→(何度も)修正する→Approveされる→リリースといった流れで業務に取り組んでいました。はじめのうちは、機能的には実現できているが実装が綺麗ではないといったケースが頻繁にあり、Approveされるまでに何度も修正していました。ですが、その過程で先輩エンジニアの方々が何を気をつけて実装するようにしているのか、どういったコードが実務レベルのコードなのかというのを知ることができるため、コーディングスキルを伸ばす上ではこれ以上ない機会だと思いました。入社してすぐにこの経験ができたのはすごくありがたかったです。自分の書いたコードが初めてプロダクトの一部としてリリースされた時の達成感は今でも忘れられません。
その後は、少しずつ大きめのタスクを任されるようになっていきました。
AWS研修
6月の頭には、AWS JumpStart for NewGrads というAWS主催の新卒エンジニア向けオンライン研修プログラムに参加してきました。この研修プログラムには、さまざまな企業から総勢250名を超える新卒エンジニアが参加しており、プログラムの内容は、実際にAWSのサービスを使ってインフラ設計を行っていくハンズオンと、他社のエンジニアとグループになって大規模チャットサービスのインフラを設計してみようというものでした。
この研修プログラムを通して、最低限のAWSサービスの知識を得ることができました。実際、研修プログラム参加前はミーティングの中で当然のように出てくるAWSサービス名がわからず会話についていけないことがあったのですが、研修を通して広くサービスを知ることができたおかげで、サービス名を聞いたことがないとなることは格段に減りました。また、他社の同世代のエンジニアと関わる機会はなかなかないので、とても貴重な体験となりました。
新規プロジェクトへのアサイン
割り当てられたタスクをこなせるようになり、仕事にもある程度なれてきたなと思った段階で、突然新規プロジェクトにアサインされました。入社してまだ2ヶ月程度しか経っていなかったので、正直驚きました。さらに驚くべきことに、この新規プロジェクトは、実行に移すかどうかの意思決定もまだなされていない状態でした。そのため、実行可否を検討するフェーズから携わることになりました。
新規プロジェクトにアサインされたのはいいものの、本当に何もわからない状態からのスタートでした。そこで、まずはマネージャーやビジネスサイドの方々を集めて情報収集を行うことになりました。ミーティングのスケジュールを抑えることはもちろん、ミーティングではファシリテーターをしたり、議事録をとってミーティングの内容をまとめたり、何をヒアリングすればプロジェクトのスタートを意思決定できるのかを考え、ミーティングで話すべき内容を決めたりと入社したばかりの新卒エンジニアの業務とは思えないほどさまざまな貴重な経験をさせていただきました。
振り返ってみると、初期のミーティングではなかなかうまく議論を進めることができませんでした。今になって分かることですが、当時の私は議論を先に進めることを急ぎすぎていました。「解決したい課題は何なのか」という大前提があやふやな状態で議論を先に進めており、議論がある程度進んだ段階で、結局何を解決したいんだっけといった風にスタート地点に戻るといったことが何度もあったのです。この経験を通して、今わかっていることとわかっていないことは何で、何がわかったら次の議論に進めるのかということを明確化し、一歩ずつプロジェクトを進めていくことこそが、プロジェクトを成功に導く上で重要であるということを学べました。
現在も、自分自身がオーナーシップを持ち、先輩方にも臆することなく、自分が指示を出すぐらいの勢いで、本プロジェクトを成功に導けるように日々頑張っています。
この3ヶ月間を通して感じたこと
ここからは、この3ヶ月間を通して私がギフティという会社に対して感じたことを率直に述べたいと思います。
人間関係について
採用の段階から、ギフティが価値観や人間性をとても大切にしているということを強く感じていましたが、実際に入社してわかったことは、信じられないほど嫌な人がいないということです!ギフトという日々のちょっとした幸せを生み出すサービスに魅力を感じて集まってきた人々だからなのかもしれません。
労働環境について
コロナの影響もあり、現在はほとんどのエンジニアがリモートワークをしています。私自身も入社して二週間も経たないうちにリモートワークをするようになりました。リモートワークとなるとコミュニケーションを取る機会がどうしても減ってしまいがちですが、私が配属されている部署では毎日朝会があったり、メンターと毎日1on1をしたりとコミュニケーションを取る機会はしっかり設けられています。
エンジニアには最新のMac Book Proが貸与されるため、スペックの面で困ることはないと思います。もちろん、キーボードも選べます!
成長環境について
入社してから約3ヶ月間の歩みに書いたとおり、ギフティでは早い段階から実際の業務にアサインされるため、入社してすぐに実務に役立つ知識を身につけることができます。まだ3ヶ月しか経っていませんが、入社前の自分と比べると成長したなと感じる点は多々あります。
また、ギフティのエンジニアの特徴として、全員がフルスタックエンジニアであることが挙げられます。もちろん個々人によって得意不得意はありますが、誰もがバックエンドも書くしフロントも書くしインフラ設計も行っています。全ての知識を身につけるのは大変ですが、その分システム全体を通した設計もできるようになります。さらに、実装だけでなく要件定義から関わる機会も多くあるため、エンジニアとしての市場価値を高めるうえでも、最高の成長環境なのではないかと思います。
加えて、ギフティのエンジニア組織は非常にフラットな関係だなと思いました。もちろん相手に対して敬意を払うことが前提ですが、働いている中で上下関係を意識することはほとんどありません。ソースコードのレビューにおいてもエンジニアは全員対等な関係であり、先輩エンジニアの実装に対して指摘をしても怒られたりすることなどありません。(そんな会社だったらすぐ辞めます笑)
わからないことがあればいつでも聞いていいという環境も成長する上では非常に重要だと思います。その点において、ギフティの新卒エンジニアは必ずSlackに自分の個人チャンネルを持っており、自分が今行っている業務内容だったり、ちょっとつまずいたところなどを気軽につぶやける場所となっています。面白いことに、そのチャンネル内で疑問や質問を投げかけていると、誰にもメンションを飛ばしていないのにも関わらず、必ずどなたかに答えていただけます。最初のうちはどこで聞いたらわからないこともあるのですが、自分のチャンネルで呟くだけでどうにかなるので安心です。私自身、これまで何度も質問に答えていただきました!
まとめ
この記事では、入社後の3ヶ月間で経験したことの紹介と、その経験を通して私がギフティという会社に対して感じたことをお伝えしてきました。就活生の皆さんが就職後のイメージを深める上で役立つ記事となっていれば幸いです。
最後までお読みいただき、ありがとうございました!