LCL Engineers' Blog

バス比較なび・格安移動・バスとりっぷを運営する LCLの開発者ブログ

年度末なので今期のお仕事を振り返ってみた 第三部(12月~3月)

モバイルアプリエンジニアの山下(@yamshta)です。
遂にMCUのフェーズ3最終章である『Avengers: エンドゲーム』が公開されましたね。私は公開日にGWの振替休日を使って朝一の上映で観てきました。何を言ってもネタバレになりそうなので感想も控えますが、2008年の『アイアンマン』から始まり11年掛けて完結したこの作品をリアルタイムで観てこれたことに感謝しかないです。

さて、年度が明けてしまいましたが、前回の記事の続き12月~3月を振り返りたいと思います。エンドゲームではないですが、こちらも今回のシリーズで完結となります。

この記事をきっかけにLCLでの働き方や課題に少しでも興味を持っていただける方がいましたら、是非お気軽にお話を聞きにいらしてください!

前回、前々回はこちらからお願いします👇

techblog.lclco.com

techblog.lclco.com

※ この記事の内容はあくまでも"私の"お仕事と取り組み方の振り返りです

12月の振り返り

モバイルアプリ

11月に続き、計測基盤の整理に追われていました。iOSとAndroidに加え、WebViewでの計測もひとりで対応していたので実装やコミュニケーションコストに時間が取られてしまいました。
私自身は機能実装に着手できない状態でしたが、この月からフリーランスのiOSアプリエンジニアの方がジョインしていただけたので、チームとしてはアプリの改善を並行して進めることができました。

Slack 移行 フェーズ2: エンジニアチームに導入

次のステップへ移るために、一部のメンバーとの試験導入を終了し、エンジニアチーム全体での移行を進めました。LCLではサービスのデプロイから書籍の管理に至るまであらゆることをチャットから行えるようにしているため、これらの仕組みや通知先を修正するのにとても時間と労力が掛かりました。

チームへの移行後は、他部署のマネージャーや管理部を巻き込んで全社移行の話を進めました。その結果、3月を目処に全社で完全移行をすることに決まりました。(さらっと書いてますが、説得のための準備などは充分に行いました。詳しくは別の記事にする予定です)

その他

  • ECSの起動・停止をチャットから操作できるようにしました
  • 無駄なコストを削減するため、テスト環境のECSの起動時間を業務時間のみにしました
  • 社内なんでも屋のRailsアプリケーションからChatOpsの機能だけを切り出し、別のアプリケーションを用意しました(これはSlackの移行とリファクタを兼ねて行いました)

エンジニアチームの話

この時期から1月をもって退職するエンジニアマネージャー(以下、EM)の引き継ぎを一部のメンバーと進めていました。これに伴い、自身の役割やMTGが一気に増え、個人としてもチーム全体としても稼働率が下がりました。モバイルアプリがしばらく新機能をリリースできていないのもこのことが少し影響しています。

この月に公開した記事

techblog.lclco.com

techblog.lclco.com

1月の振り返り

iOS v3.0.1 & Android v2.0.2 リリース

モバイルアプリ開発メンバーが増えたことで、両OSで機能改善を含んだバージョンをリリースすることができました。しかし、次は脆弱性に関する案件を対応することとなったため、私自身は前月に続き機能実装に注力できない状態でした。(ちなみに、フリーランスの方には開発以外の負担をなるべく掛けないように、クライアント実装以外の業務は私が対応するようにしています)

iOSアプリは更なる開発速度向上を図るため、ボトルネックになっていた設計やUI実装のリファクタを始めることにしました。キックオフ時に今後予定している機能追加を考慮してロードマップを立て、どこから手を付ければ負担が少ないかを調整しつつ進めました。この取り組みについては別の記事を書く予定です。

Slack 移行 フェーズ3: 他部署メンバーと調整&ChatOpsの移行

他部署メンバーと数回打ち合わせを行い、移行日の調整や他部署用のChatOpsなどの移行を行いました。また、チャンネルの準備や全社向けのガイドラインや簡単な使い方をまとめたドキュメント作成なども進めました。他部署メンバーとの連携や配慮が多くなり、ここまで進めてきて初めて一大プロジェクトをやっている実感が沸きました。

その他

この月はSlack移行に加え、引き継ぎや採用活動も重なりMTGやその準備で時間が溶けるように過ぎていきました。時間が無くてやばいと言いつつもブログは毎月書いているので継続は力なりですね。

エンジニアチームの話

この月で入社前から長くお世話になったEMが退職されました。上司としてもエンジニアとしても尊敬できる方で、会社にとってもサービスの成長を中心となって支えていた人物なので、この先の不安はもちろんありました。しかし、今居るメンバーもこれまでEMをサポートしてきた信頼できるメンバーなので、この機会をプラスに捉えて、また違った文化を創っていけることに自信はありました。

これを機にエンジニアチームは"EM不在"の体制となり、リーダー数人が協力してマネジメントをする体制となりました。

私はリーダーではなかったのと、既に並列で複数人のリーダーがいる状態で意思決定やコミュニケーションコストが更に増えてしまうことを懸念して、旗振りモードは控えてチームのフォローや開発基盤を支える役割を率先して行うようにしました。

この月に公開した記事

techblog.lclco.com

techblog.lclco.com

2月の振り返り

iOS v3.1 リリース

目立った新機能は追加していませんが、機能改善や動作の安定化と次期バージョンの布石の機能をマイナーバージョンとしてリリースしました。中旬からは次期バージョンで使用する新しいAPIの実装を始めたため、大半はRailsの開発を進めていました。 これまではAPIもクライアントもひとりで進めていたので当然コミュニケーションコストも無く、適宜行ったり来たりして実装してましたが、今回はクライアントとAPIの担当が分かれていたので、事前に実装を終わらせるように試みましたが、仕様変更も発生し想定以上に五月雨での修正を発生させてしまい、クライアント開発に負担を掛けてしまったので、もう少し事前に計画を固めてから進めるべきだったと反省点が残っています。

その他

新規事業部署のメンバーと週に1回30分ほど新しい事業のブレストを行いました。事業アイデアを考えたり、それを形にするのは好きなので個人的なモチベーションの向上にもなりました。

エンジニアチームの話

進行メンバーはモバイルアプリ以外のプロダクト案件のマネジメントとワークフローの見直しを行っていたため、前月の通り私はフォローに回っていました。意思決定やコミュニケーションコストが増えた中で目先の作業ではできるだけラグを無くしたいと思ったので、私ができること即レスで対応を行っていました。そのため、1日にやることが6~8項目以上ある状態が続くようになり、その日にやったことが振り返れないのと今度は自分に属人化してしまうことを懸念して、真面目に日報を書き始めました。(この書き方は id:kasei_san の日報を真似しました)

f:id:shymst:20190427204215p:plain:w200
esaの記事目次

モザイクでわかりづらいですが、やったことを項目として箇条書きしています。内容は「どういう対応したか・なぜそのように判断したか・その作業中に感じたこと」等を箇条書きで書き出しています。
この日報を通じて、他のメンバーに知見や私自身のメンタルの共有ができればいいなと思っています。

この月に公開した記事

techblog.lclco.com

3月の振り返り

モバイルアプリ開発は、引き継ぎ次期バージョンのAPIや定期実行Jobの実装を進めていました。

Slack 移行 フェーズ4: 完全移行

遂に全社での移行が完了しました。ガイドラインも丁寧にまとめた甲斐あって、いくつかのルールの下で健全なチャット環境を整えることができました。こちらについても後日記事を公開する予定です。

エンジニアチームの話

"EM不在"から1ヶ月以上が経ち、中央集権型だったチームから分散型のチームへ変化が必要な時期となりました。チームビルディングについては、書籍やネット上に先人の知恵が多くありますが、そのフレームワークにまるっと乗っかることは実際には難しく、目の前の課題にひとつずつフォーカスしながらチームビルディングの車輪の再開発をしている状態です。

いわゆる「属人化」の課題が根っこにあり、それを解決するために少しずつ目先の課題を明確にし、解決へ踏み出しています。

これらの課題解決については、私も加わり根本的な解決ができるように原因や解決方法を日々深掘りして他のメンバーと解決できるように進めました。

この月に公開した記事

techblog.lclco.com

techblog.lclco.com

techblog.lclco.com

今期を振り返って

前半はモバイルアプリ開発を中心に他のプロダクトやチームの活動をサポートする働き方を、後半では多くの場面で主体的に仕事を進める働き方が増えました。この規模感ならではのチームの成長や変化が早い1年で、立ち止まってしまうと気づく間もなく時間が過ぎてしまうほどです。しかし、自発的に動ければその所々に栞の様な出来事を残すことができ、自身としてはそれができた1年だと感じています。(もちろん、これほど手を広げなくても充実した働き方ができますが、LCLは複数のことにチャレンジしやすい環境にあるので、色々な技術や取り組みなどにチャレンジしたいエンジニアに向いている会社だと思います。)

モバイルアプリエンジニアとしては、後期は集中してクライアント開発を進めることができませんでしたが、メンバーが新たに加わったことで普段の開発の中にもプラスになる知見が発見を得ることができ、止まることなく成長できました。

現在エンジニアチームは幾度かの課題の可視化とチームビルディングの施策を経て、全員が変わるべき方向へ向くことができた状態となりました。これを踏まえたチームの目標も定義することができ、あとはその方向へお互いに支援しないながら全員で主体的に動ければ、これまで以上に生産性の高いチームを創れる道筋が見えています。この変化を遂行できるように来期も頑張りたいと思います。

さいごに

2018年度の振り返りシリーズは以上となります。ここまでお付き合いいただきありがとうございました。 これらが全てではありませんが、やってきたことを明文化できたのは個人的に非常によい取り組みでした。

後半は不安定な側面を隠すことなく書いてきましたが、決して会社や組織の成長が止まったり傾いている訳ではありません。その逆で、売上も新たな施策も多く上がっている中でエンジニアチームの処理速度が追いついていないというのが現状です。我こそがその課題を解決しましょうと手を挙げてくれる方がいましたら、是非応募フォームからご連絡お願いします!

これまでも新しくジョインしてくれたメンバーたちが入社後すぐに中心となって課題解決に取り組んでいただけている状態にあります。そのことからも、裁量と風通しの良さを求めていたり、チャレンジをしたい方にはやりがいのある会社だと思います。

www.lclco.com