ゆめみプロジェクト経歴
プロジェクト以外の活動は時系列順にまとめにくいので別ページにまとめる: ゆめみにおけるプロジェクト以外の活動経歴
Todo
とりあえず事実の羅列に留まっているので、より個人的な体験や意識したことを記録しておきたい。
2021.12–2023.11 C 向けショッピングアプリ追加開発・保守
- リードエンジニア
- 要件定義
- 工数見積もり
- タスク振り分け
- 基本設計
- 詳細設計
- インターン・アルバイト受け入れ
- 育休を機に卒業
- リードとして、他の iOS エンジニアに向けて意識していたこと
- 他メンバーにとって適正のあるタスクを割り振る
- 技術的な学びがあるタスクを振る
- 例えば UIKit に苦手意識があるメンバーがいたら、20% くらいは UIKit 関連のチケットを振るように子ていた
- 多すぎると進捗悪いし、本人にとっても楽しくならない
- リードとして考えていることは、できる限りメンバーにも共有するようにした
- フェーズ開発が始まるときは、PM が作ったプロジェクト管理の他に、iOS 専用のタイムラインを Notion 上に作成した
- ガントチャート的なもの
- リードだけが把握してそれを割り振るというよりは、メンバーにもスケジュール感を共有してみんなの目線を合わせる
- メンバーもみんな優秀だったからできたことだと思う
- フェーズ開発が始まるときは、PM が作ったプロジェクト管理の他に、iOS 専用のタイムラインを Notion 上に作成した
- 「このプロジェクト入ってよかった」という環境を目指した
- メンバーを引き抜く際は正直にプロジェクトの現状 (いいところは当然ながら、悪いところも) をまとめた Notion ページを作成して、その上でリクルートするようにした。
- 特にジュニアメンバーには、「本人がやりたいこと」の他に「チャレンジングなタスク」も一部振るようにして、淡々とタスクをこなすだけにならないように意識した
- 他メンバーにとって適正のあるタスクを割り振る
- 技術スタック
- SwiftUI / UIKit
- Flow Controller
- MVVM
- Bitrise
- Fastlane Match
- Alamofire
- Swift Concurrency / Combine
- 自前 DI コンテナ
2023.4–2023.11 C 向けフィットネス系健康記録アプリ保守
- リードエンジニア
- 技術的な認識合わせや議論が必要な場合は先方と MTG を実施
- 問い合わせ対応
- 意識していたこと
- 認識合わせが必要なことは MTG をこちらからお願いして、気軽に同期的コミュニケーションを図っていた
- ゆめみ側も先方担当者も引き継ぎ直後ということもあり、誰も仕様・運用を知らないということが多々あったという背景がある。
- チケットや Slack 上の会話だけだと、逸れた話がしにくく、特定の問題は解決するが、「そういえばこれってどうなってるんでしたっけ」という会話がしにくいと感じた。
- MTG を積極的に実施することで、こちらも技術的なメリット・デメリットを説明したうえで先方に意思決定を任せられる。
- 先方が技術的な話題も臆せず聞いてくれたという恵まれた環境のおかげ。
- 例年踏襲はそれが最適解な場合のみにして、基本的に一から運用を考えるようにした。
- 先方もゆめみ側もまっさらな状態なので、あえて現状維持する必要は無いと感じていたため。
- PM の仕事を巻き取る気持ちで先方に直接リーチしていった
- 工数も限られていたので、iOS に限った話であれば直接話したほうが早かったので。
- 認識合わせが必要なことは MTG をこちらからお願いして、気軽に同期的コミュニケーションを図っていた
- 先方が証明書更新の管理運用に悩まれていたので、自動化を提案・実施
- Xcode Cloud の導入
- クラウド管理証明書に移行
- APNs も p12 から p8 に変更
- 技術スタック
- UIKit
- Xcode Cloud
C 向け暗号通貨アプリ保守
- リードエンジニア
- コードレビューが主な業務
- 機能追加の要件定義、技術的懸念点の洗い出し
- 技術スタック
- UIKit
- Cocoa MVC
- RxSwift
CarPlay アプリ開発
- メンバーエンジニア
- 運転支援のチュートリアルアプリの開発
- 実験的なアプリということもあり、要件を満たすアプリを納品したが、リリースはされていない
- CAN 信号 (車との通信) を取得しながら、アプリの状態を遷移させていく
- 技術スタック
- UIKit
- Cocoa MVC
- DIKit
C 向けショッピング系アプリ機能追加
- メンバーエンジニア
- 先方との MTG も参加
- ブロックチェーン技術を利用したポイントカード・会員カード機能の実装
- この辺りでようやく自走できるようになってきた印象
- 技術スタック
- UIKit
- Cocoa MVC
- DIKit
バーチャルオフィス系アプリスクラッチ開発
- メンバーエンジニア
- 要件定義から参加
- 尊敬する先輩エンジニアの参画が決まったので、着いて行かせてください!とアサインを依頼した形
- 技術スタック
- 先方との MTG 参加
- 自分が実装を担当している機能については直接コミュニケーションを取る
- 色んなことを経験できた
- 初めての要件定義
- 基盤実装も一部やらせてもらった
- 初めてのフルスクラッチ開発
- リリース作業もたまにやらせてもらった
- アニメーション等、細かな部分も UI に特にこだわった。
- リリース後は保守も担当
C 向け家電アプリダークモード対応
- アソシエイトエンジニア
- Light appearance のみ対応していたアプリのダークモード対応
- Figma 通りに対応する色を割り当てていく作業
- マップの Annotation への着色だけ苦戦した思い出
- 技術スタック
- UIKit
- Objective-C (今の所唯一)
C 向け地図・音楽連携アプリ機能追加
- 初案件
- 育成目的でアソシエイトとしてジョイン
- 先輩リードエンジニアとペアプロ中心に実装を進める
- SDK をラップしたロジックの実装
- 技術スタック
- UIKit
- VIPER