入社してからのキャリアとその中で行なったTDDxペアプロについて#yjfukuoka

310 Views

December 04, 20

スライド概要

2020年11月18日に開催した、ヤフー福岡 Tech Meetup #8「福岡に縁があるYahoo! JAPANのエンジニア」の登壇資料です。
イベントページ URL はこちらです。
https://yahoo-fukuoka.connpass.com/event/192171/

入社して3年目となる自分のキャリアや働き方と、その中で行なったTDDxペアプロについてお話させていただきました。

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

公開 ⼊社してからのキャリアと その中で⾏なったTDDxペアプロについて ヤフー株式会社 メディア統括本部 メディア開発本部 前⽥恵⾥ ©2020 Yahoo Japan Corporation All rights reserved.

2.

公開 ⾃⼰紹介 • 前⽥恵⾥ • メディア統括本部開発本部 エンジニア • Yahoo! JAPAN クリエイターズプログラムの開発チームに所属 • 2018年新卒⼊社 現在3年⽬ • 最初2年は福岡で働きつつ、今年の4⽉から東京で勤務 • 趣味︓ボドゲ/美味しいものを⾷べること (福岡飯が少し恋しくなってきています) ©2020 Yahoo Japan Corporation All rights reserved. 2

3.

公開 今⽇話すこと 1. ⼊社してからどんな仕事をしているか 2. どんな働き⽅をしてきたか 3. TDD×ペアプロしてみたのでその紹介 ©2020 Yahoo Japan Corporation All rights reserved. 3

4.

公開 伝えたいこと 1. ⼊社してからどんな仕事をしているか → ⼊社3年⽬の今どんな仕事をしてきたか 2. どんな働き⽅をしてきたか →それぞれのチームでどう働き⽅が違ったか 3. TDD×ペアプロしてみたのでその紹介 → TDD×ペアプロやってみての肌感 ©2020 Yahoo Japan Corporation All rights reserved. 4

5.

公開 今⽇話すこと 1. ⼊社してからどんな仕事をしているか 2. どんな働き⽅をしてきたか 3. TDD×ペアプロしてみたのでその紹介 ©2020 Yahoo Japan Corporation All rights reserved. 5

6.

公開 ⼊社してからどんな仕事をしているか 関わってきたサービス • Yahoo!ニュース • UMAMI(社内ツール) • クリエイターズ ©2020 Yahoo Japan Corporation All rights reserved. 6

7.

公開 ⼊社してからどんな仕事をしているか ⼊社してからのざっくりとした流れ • 2018/4 - 2018/8 研修 • 2018/8 - 2019/6 ニュース開発 • 2019/7 - 2019/9 UMAMI開発 • 2019/10 - 2020/3 ニュース開発 • 2020/4 現在 クリエイターズ保守/開発 - ©2020 Yahoo Japan Corporation All rights reserved. 7

8.

公開 ⼊社してからどんな仕事をしているか ⾏なってきた仕事 - ニュース • Yahoo!ニュース https://news.yahoo.co.jp/ • 担当 - BFF周りの開発(記事詳細ページなど) - お知らせ情報のバックエンド - お知らせ情報の社内ツール ©2020 Yahoo Japan Corporation All rights reserved. 8

9.

公開 ⼊社してからどんな仕事をしているか ⾏なってきた仕事 - UMAMI • 特集ページやランディングページを「素早く」「簡単に」⽣成するための社内 ツール • 「新型コロナウイルス感染症まとめページ」や「東京2020報道特集(東京オリン ピック・パラリンピック ガイド)」などに利⽤されている • TechBlogにも紹介されてるので気になる⽅がいれば https://techblog.yahoo.co.jp/entry/2020080330014495/ • 担当 - 社内ツール - バックエンド ©2020 Yahoo Japan Corporation All rights reserved. 9

10.

公開 ⼊社してからどんな仕事をしているか ⾏なってきた仕事 - クリエイターズ • Yahoo! JAPAN クリエイターズプログラム 世の中の才能と情熱を持ったクリエイターの制作活動をサポートし、Yahoo! JAPAN上での発 信を通じてユーザーのみなさまに「明⽇の⾏動」につながる良質なコンテンツを届けるプログ ラム • https://creators.yahoo.co.jp/ • 担当 - フロントエンド - バックエンド - クリエイターの利⽤するCMS - 社内ツール - batch ©2020 Yahoo Japan Corporation All rights reserved. 10

11.

公開 今⽇話すこと 1. ⼊社してからどんな仕事をしているか 2. どんな働き⽅をしてきたか 3. TDD×ペアプロしてみたのでその紹介 ©2020 Yahoo Japan Corporation All rights reserved. 11

12.

公開 どんな働き⽅をしてきたか 働き⽅ • 所属したチームによってバラバラ - チームの⼈数 - チームの状態 - 拠点 • その時にどんな働き⽅をしていたのか ©2020 Yahoo Japan Corporation All rights reserved. 12

13.

公開 どんな働き⽅をしてきたか ニュースにいるときのチーム編成 • 拠点︓東京、福岡 • チームの⼈数︓6⼈ + alpha • エンジニア4⼈(福岡)、デザイナー1⼈(東京)、ディレクター1⼈(東京) • ニュースのweb⾯開発は3チームあり、⾃分のチームはその内の1つ (⾃分のチーム以外東京) ※ 自分が所属していた時期の情報です。また、ざっくりとした情報なので正確な情報と異なる場合があります。 ©2020 Yahoo Japan Corporation All rights reserved. 13

14.

公開 どんな働き⽅をしてきたか ニュースにいるときの働き⽅ • 拠点が2拠点 - テレビ会議システム等使いながら東京-福岡間でMTG - 常設テレビ等で常に互いのオフィスを映しながら作業 - 期初期末等は出張等で顔合わせ - エンジニア側で取りまとめ担当の⽅ • エンジニアのみの拠点での進め⽅ - 隔週でエンジニアで振り返りKPTなどを⾏う • ニュースのweb⾯開発は⼈が多い - 共通コンポーネントは福岡のチームだけでなく東京のチームにも依頼 ※ 自分が所属していた時期の情報です。また、ざっくりとした情報なので正確な情報と異なる場合があります。 ©2020 Yahoo Japan Corporation All rights reserved. 14

15.

公開 どんな働き⽅をしてきたか UMAMIにいるときのチーム編成 • 拠点︓東京、福岡 • チームの⼈数︓5⼈ + alpha • エンジニア4⼈(福岡)、ディレクター1⼈(東京)、サポート/リーダ等は東京 • 別々のチームから集められ、このタイミングで結成されたチーム ※ 自分が所属していた時期の情報です。また、ざっくりとした情報なので正確な情報と異なる場合があります。 ©2020 Yahoo Japan Corporation All rights reserved. 15

16.

公開 どんな働き⽅をしてきたか UMAMIにいるときの働き⽅ • 拠点が2拠点 - ⽴ち上がったばかりのチームなので初期は出張を⾏い対⾯でやり取り - テレビ会議システム等使いながら東京間とはMTG • このタイミングで結成されたチーム - チームにしても仕様にしてもこれから決めていく状態 - 朝会等で少しずつルールを決めつつ改善 - 朝会以外でも密にコミュニケーションをとりつつ開発 - コードベースが0だったものに対してはペアプロにて開発を実施 ※ 自分が所属していた時期の情報です。また、ざっくりとした情報なので正確な情報と異なる場合があります。 ©2020 Yahoo Japan Corporation All rights reserved. 16

17.

公開 どんな働き⽅をしてきたか クリエイターズにいるときのチーム編成 • 拠点︓東京(ただし、コロナの影響もありフルリモート) • チーム⼈数︓4⼈ + alpha • エンジニア3⼈(業務委託さん含め)、ディレクター1⼈ • (⼀度も対⾯で顔を合わせてない。。。) • 開発タスクのみでなく保守タスクも多め ※ 自分が所属していた時期の情報です。また、ざっくりとした情報なので正確な情報と異なる場合があります。 ©2020 Yahoo Japan Corporation All rights reserved. 17

18.

公開 どんな働き⽅をしてきたか クリエイターズにいるときの働き⽅ • 拠点が1拠点だがフルリモート - 互いにまだ顔合わせたこともないメンバー - 互いに知らない状態からのスタートだったので毎朝雑談も混ぜながら朝会 • 少⼈数での開発 - 基本的にはslackでコミュニケーション - ⼝頭の⽅がやりやすい場合は朝会。急ぎの場合は突発的にzoomで相談 - 急ぎの確認の場合とそうでない場合のコミュニケーションの取り⽅を⼯夫 • 業務委託さんが途中でジョインしてくださったタイミング - 0ベースで⼆つの⼤きな機能を作る必要があった - 密なコミュニケーションをとりつつ進めたかったのでペアプロで開発 ※ 自分が所属していた時期の情報です。また、ざっくりとした情報なので正確な情報と異なる場合があります。 ©2020 Yahoo Japan Corporation All rights reserved. 18

19.

公開 今⽇話すこと 1. ⼊社してからどんな仕事をしているか 2. どんな働き⽅をしてきたか 3. TDD×ペアプロしてみたのでその紹介 ©2020 Yahoo Japan Corporation All rights reserved. 19

20.

公開 TDD×ペアプロしてみたのでその紹介 なぜTDD×ペアプロをしてみたか • TypeScriptへ書き換えのタイミングで実施 • TypeScriptのコードベースは0で設計への不安 • 書き⽅や設計について相談しつつ開発したかった • 初めて⼀緒に開発することになった⼈と開発で密にコミュニケーションをとりつ つ開発したかった ©2020 Yahoo Japan Corporation All rights reserved. 20

21.

公開 TDD×ペアプロしてみたのでその紹介 TDDとは︖ • テスト駆動開発(Test Driven Development)のこと • 「テスト → 実装 → リファクタ」の順で実装を進めていく • 実装の不安を取り除くことができる • 品質の⾼いソフトウェアを提供し続けられる Kent Beck (著), 和田 卓人 (翻訳),テスト駆動開発,オーム社; 新訳版 , 2017/10/14. ©2020 Yahoo Japan Corporation All rights reserved. 21

22.

公開 TDD×ペアプロしてみたのでその紹介 ペアプロとは︖ • 2⼈のエンジニアが共同でプログラムを書いていく開発スタイル • ドライバ(コードを書く⼈)とナビゲータ(指⽰する⼈)に別れて開発 • 細かな設計等も相談しながら進めることができる • ⼤きな⼿戻りなく進められる • コミュニケーションを密にとりつつ進められる https://www.geekly.co.jp/column/cat-technology/1219̲008/ ©2020 Yahoo Japan Corporation All rights reserved. 22

23.

公開 TDD×ペアプロしてみたのでその紹介 今回⾏なった⽅法 • 実装する機能を書き出す • その機能が動くことが保証されるテストの項⽬を書き出す • テストコードを書く • 実装コードを書く • リファクタできそうなところがあればリファクタを⾏う • 交代は基本的には区切りの良いところで交代 (テストと実装を書く⼈がなるべく同じにならないように) • 今回は期限を決めて⾏った ©2020 Yahoo Japan Corporation All rights reserved. 23

24.

公開 TDD×ペアプロしてみたのでその紹介 良かった点 • 仕様通りに、⼿戻り少なく実装 → ⼀個づつ仕様を再度確認しつつロジックを書けた →常にレビューしながらだったので⼿戻りも少なく開発を進められたこと • 不安の軽減 → 構成など相談しながら開発できたため、不安少なく開発できた → テストで動くことを保証しながら進められたため不安少なく開発できた • 学べる → 互いのコードのより良い書き⽅を学べた → 利⽤しているツール等を随時学べた ©2020 Yahoo Japan Corporation All rights reserved. 24

25.

公開 最後に ©2020 Yahoo Japan Corporation All rights reserved.

26.

公開 伝えたいこと 1. ⼊社してからどんな仕事をしているか → ⼊社3年⽬の今どんな仕事をしてきたか 2. どんな働き⽅をしてきたか →それぞれのチームでどう働き⽅が違ったか 3. TDD×ペアプロしてみたのでその紹介 → TDD×ペアプロやってみての肌感 ©2020 Yahoo Japan Corporation All rights reserved. 26

27.

公開 最後に ⼊社3年⽬の今どんな仕事をしてきたか • 3年⽬の今、3つのサービスを担当してきました - ニュース - UMAMI - クリエイターズ • 3年⽬という期間の中で、⼀つのサービスで働いている同期もいれば、このよう に複数サービスで働いている同期もいます ©2020 Yahoo Japan Corporation All rights reserved. 27

28.

公開 最後に それぞれのチームでどう働き⽅が違ったか • ⼤きなチームもあれば⼩さなチームもある • チームが変われば働き⽅も変わる - 取りまとめがいてそこを中⼼に稼働しているチーム - ルールを0ベースで作っていくチーム - 雑談などを混ぜつつ進めていくチーム • チームによって合う働き⽅/合わない働き⽅があるように感じた • チームの働き⽅はチーム環境に合わせて改善していくのが良い ©2020 Yahoo Japan Corporation All rights reserved. 28

29.

公開 最後に TDD×ペアプロやってみての肌感 • TypeScriptへ書き換えのタイミングで実施 • 良かった点 - 仕様通りに、⼿戻り少なく実装 - 開発する上での不安の軽減 - 相⼿の書き⽅やツール等を学べる • もちろん、チームの状態/開発タスクによっては合わない等もあるかもしれない • 事例の⼀つとして紹介しました ©2020 Yahoo Japan Corporation All rights reserved. 29

30.

公開 ©2020 Yahoo Japan Corporation All rights reserved.