Slide 1

Slide 1 text

新卒エンジニアの半期の振り返り Kyohei Katada (@katakyo_51) update Oct 13, 2023

Slide 2

Slide 2 text

自己紹介 Index 1 前期新卒としてやったこと 2 個人の課題 3 チームの課題 4 今後の課題 5

Slide 3

Slide 3 text

片田 恭平 Katada Kyohei Backend Engineer|Web Product 金融サービスミッション 23卒にマイベストのバックエンドエンジニアとして入社 触る技術: Ruby on Rails, GraphQL, たまにReact 趣味: スポーツ観戦(野球) , 漫画, ドライブ 画像 自己紹介

Slide 4

Slide 4 text

前期新卒としてやったこと mybestの金融サービス領域に関して 画像

Slide 5

Slide 5 text

やっていること 物販領域と金融サービス領域の違い Web Product 物販 Yahooショッピング,amazon, 楽天のECサイトに売っている商品を自社で比 較検証し、ランキングを掲載することでユーザーに最適な選択体験を提供  家電、コスメ、生活雑貨など多数のジャンルを扱う Web Product 金融サービス 物ではない、サービス領域の商材をリサーチ、実際に体験することで比較検 証し、ユーザーに最適な選択体験を提供 金融商材、格安SIM、医療脱毛などサービス系のジャンルを扱う 画像 画像

Slide 6

Slide 6 text

今期やったこと 前期新卒のBackendエンジニアとして主にやったこと① GraphQL化(リプレイス作業) Ruby on Railsのcontrollerで制御している機能をGraphQLに置き換え、既 存機能の開発 ミニ商品パーツグループ(新規機能開発) すぐに契約・購入したいユーザー向けに事前情報にミニ商品グループパーツ を設置し、公式サイトにすぐ飛べるようになった 設計→バックエンドの実装を担当

Slide 7

Slide 7 text

今期やったこと 前期新卒のBackendエンジニアとして主にやったこと② プラン機能(新規機能開発) プランによって金額が分かれるような商材向けに、比較表ではニーズごとの 価格帯を、商品パーツではプランの価格や詳細情報を表示 設計→バックエンド開発 プロジェクトリーダを担当 画像 コンテンツFB(新規機能開発) 海外を含む全ての国でユーザーからコンテンツページに関するFBをもらえる ような機能を追加、設計→バックエンド開発→フロントエンド開発を担当

Slide 8

Slide 8 text

個人の課題 画像

Slide 9

Slide 9 text

自分の配属時に大きく2つの課題があった 個人の課題と改善 新卒配属時の個人的な課題 個人としての技量不足 1 工数の見積もりが正しくできない状態 2 mybestのBackendではRuby on RailsとAPIにGraphQLを採用 内定者インターンで、プロダクトのコードや Rubyに多少は触れていたが、DB設計やAPI設計、バックエンド テストの実装に自信がない状態 要件ごとにJiraのストーリーを切ってタスクを見積もりを行うが、見積もりと実際の工数が何度も乖離してい る状態

Slide 10

Slide 10 text

個人の課題の改善 振り返りやログを残す ● テックリードと毎週1on1をしたり、オフィスアワーの時間を取っていただいたりして、自分で考えて分から ないものはすぐに質問 ● 実装時に詰まったものに関しては Notionに箇条書きでまとめる

Slide 11

Slide 11 text

● 開発する前にプロジェクトの背景や目的、設計、検討した 代案などをドキュメント化する ● 設計業務の経験がなかったので、実装に入る前に整理 ● 初めて書いた時はとりあえず設計して動くようなものを書い たのですが、FBで大量の指摘がありました 個人の課題の改善 DesignDocsを使った設計 Design Docsについて https://www.industrialempathy.com/posts/design-docs-at-google/

Slide 12

Slide 12 text

● 情報の整理や型の持ち方を事前に明確に書くよ うにし、不安なところは事前にコメント ● 設計の案を複数考えそれぞれのメリット、デメ リットを整理した上でベストな設計を選択 個人の課題の改善 DesignDocsを使った設計

Slide 13

Slide 13 text

個人の課題の改善 タスクの分割や整理 ● 実装時にゴールがイメージできないような状態だった ● 分からない点があれば調査に時間をかける ● 実装に時間がかかりそうなら細かく分割することをとにかく意識した ● ゴールが見えるようになるまではタスクばらしをして、実装時に何をするか整理をした タスクばらし入門 https://zenn.dev/tbpgr/books/8562293d519b8b

Slide 14

Slide 14 text

チームの課題と改善 画像

Slide 15

Slide 15 text

ミッション発足時には管理画面の実装とユーザーが目にみえる表画面の実装で分けていた チームの課題 チームとしての開発フローの課題 Backend Engineer Frontend Engineer 管理画面 Front (心の声:分業できてなくてない?) 管理画面の実装めっちゃ時間かかって すみません タスクがないです

Slide 16

Slide 16 text

KPT(Keep, Problem, Try)のフレームワークを使ってスプリント ご との振り返りを実施 個人レベルかチームレベルかで 3つのLevel分けを使い、重要な ものから議論していく 特に前期はBackendとFrontendの分業でやりやすい形を振り返 りを通じて徐々にアップデートしていきました チームの課題の改善 KPTを使ったの振り返り

Slide 17

Slide 17 text

ロジックを書かずモックデータを返せるようにして、素早くフロントエンドの開発が着手できるようにする チームの課題の改善 改善したチームとしての開発フロー Backend Engineer Frontend Engineer Backend Frontend API 先にスキーマ定義をして一旦 APIからモックデータ 返せるようにしました! 実装入ります!

Slide 18

Slide 18 text

既存機能の軽微な改修に 1ヶ月かかっていたのが

Slide 19

Slide 19 text

新規機能を3週間で設計から リリースまでに成長

Slide 20

Slide 20 text

特に頑張った実装がプラン機能 プラン機能(新規機能開発) プランによって金額が分かれるような商材向けに、比較表ではニーズごとの 価格帯を、商品パーツではプランの価格や詳細情報を表示 設計→バックエンド開発 プロジェクトリーダを担当 画像 プランがある商材に複数のプランを紐付ける機能をリリース! https://my-best.com/1495 詳細は懇親会で!!

Slide 21

Slide 21 text

今後の課題 画像

Slide 22

Slide 22 text

9月末に出た課題として以下のようなものがあがりました これからに関して まだまだ改善の余地はあり(個人) コードレビュー時にTypoが多い Typoが多いので、仕組みや機能を使って解消したい Linter以外にもセルフコードレビューをやってみる 1 社外へのアウトプットを増やす 個人開発やLT登壇、技術ブログの執筆が足りないと思っているので増やして行き たいです(仲間募集してます) 2 DBカラムやAPI fieldの命名が難しい プラン機能はどこに紐付けるか、概念的な要素は何かという話で命名するのが難 しかったです。難しい場合はChatGPTに案を複数出してもらい採用するみたいな 決め方もしました。 3

Slide 23

Slide 23 text

ご清聴ありがとうございました