Hatena Engineer Seminar #23「新卒研修で気軽に『ありがとう』を伝え合える Slack アプリを開発した話」
by
SlashNephy
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
新卒研修で気軽に「ありがとう」 を伝え合える Slack アプリを 開発した話 id:SlashNephy / @SlashNephy 2023/01/25 Hatena Engineer Seminar #23 1
Slide 2
Slide 2 text
自己紹介 id:SlashNephy ● 組織・基盤開発本部 ● サービスプラットフォーム チーム ● Web Application Engineer 2
Slide 3
Slide 3 text
3 はてなの エンジニア新卒研修
Slide 4
Slide 4 text
エンジニア新卒研修 2022 ● スケジュール ○ 5営業日 (2022/4/6 ~ 4/12) ● メンバー ○ 出会って間もない新卒エンジニア 4人でチームアップ 4
Slide 5
Slide 5 text
エンジニア新卒研修 2022 ● 内容 ○ 社長からお題が与えられて、期間中に開発 ○ 成果物を全社に発表 ● 社長のお題 ○ 「はてなピアスター」を開発して、社内公開する 5
Slide 6
Slide 6 text
6 「はてなピアスター」 とは?
Slide 7
Slide 7 text
「はてなピアスター」とは? ゴール ● 従業員同士で感謝の気持ちを気軽に伝えたい ● 良い働きが賞賛されるようにしたい 7
Slide 8
Slide 8 text
「はてなピアスター」とは? ● ピアボーナスを参考に ○ peer = 同僚、bonus = 報酬からなる造語 ○ 従業員間で少額のインセンティブを送り合う制度 8
Slide 9
Slide 9 text
「はてなピアスター」とは? ● 「はてなスター」をモチーフにした ○ 記事やコメントにスターを付けて、気持ちを表現 ○ https://s.hatena.ne.jp ● 感謝の度合いに応じ、★ ★ ★ を送り合う 9
Slide 10
Slide 10 text
10 これが 「はてなピアスター」です
Slide 11
Slide 11 text
11 起動 ● Slack のショートカッ トから 「はてなピアスター」 を起動 ● スラッシュコマンド /peerstar からも可
Slide 12
Slide 12 text
感謝を贈る ● 「はてなピアスター」 を起動した画面 ● 宛先・スターの種類・ 感謝の気持ちを入力す るフォームが出現 12
Slide 13
Slide 13 text
感謝を見る 送信されたメッセージは #peer-stars チャンネルに 投稿される 13
Slide 14
Slide 14 text
14 仕様検討
Slide 15
Slide 15 text
15 大事にしたこと ● 気軽さ 従業員同士で気軽に感謝の気持ちを伝えたい ● 感謝してもされても楽しい 継続的に「はてなピアスター」を使ってもらう
Slide 16
Slide 16 text
気軽さを実現するために ● 快適な UX ○ 社員は Slack を普段使いしている ○ Slack アプリで体験を良くする ■ スラッシュコマンド / ショートカット ● 無限に送れるイエロースター ★ ○ 些細なことでも送り合える 16
Slide 17
Slide 17 text
気軽さを実現するために ● 公開される (されない) メッセージ ○ レベルアップ通知 (後述) は本人だけ ○ spam にならないように 17
Slide 18
Slide 18 text
感謝してもされても楽しい ● レアなスター ★ ★ は個数限定 ○ ★ は毎月5個、★ は毎月3個 ○ レアなスターをもらえると嬉しい! ○ 毎月カラースターを補充 18
Slide 19
Slide 19 text
感謝しても されても楽しい ● 経験値システムを導入 ● 感謝してもされても 経験値が得られる ● レベルアップすると 楽しい ● シーズン制も検討 19
Slide 20
Slide 20 text
20 開発の進め方
Slide 21
Slide 21 text
開発スケジュール ● 研修は5営業日で ○ 時間がない 😇 ● 1日1スプリント ○ 毎日小目標を立てて、動くものを作ろうという方針 ○ フィードバックをもらう 21
Slide 22
Slide 22 text
開発スケジュール ● 定期的に会話 ○ 毎朝 今日やることを話し合う会 ○ 昼過ぎに進捗共有会 ■ その日のタスクの状況について ○ 終業前にふりかえり会 ■ KPT フレームワークでひとこと ● Keep / Problem / Try 22
Slide 23
Slide 23 text
開発言語を決める ● はてな社内では最近は Go / TypeScript が 使われがち (参考: https://hatena.co.jp/recruit/engineer/technology) ● Slack の Bolt というライブラリが良さそう ○ https://slack.dev/bolt-js 👉 TypeScript + Bolt で開発することに 23
Slide 24
Slide 24 text
デプロイ先を決める ● AWS Lambda に CDK でデプロイ ● Bolt の `AwsLambdaReceiver` が便利だった ○ Lambda と API Gateway を繋ぎこんでくれるくん ○ これのおかげで Slack のイベントを受け取れるようになる ○ https://slack.dev/bolt-js/ja-jp/deployments/aws-lambda 24
Slide 25
Slide 25 text
チーム開発の進め方 ● 新卒エンジニア4人でチームアップ ● Slack / Scrapbox / GitHub を使い分ける ○ Slack: 連絡事項、PR・Issue・コミットの通知 ○ Scrapbox: ノウハウや、ハマったところの共有 ○ GitHub: Issue でタスク管理 25
Slide 26
Slide 26 text
チーム開発の進め方 ● 2人でペアプロ ○ Discord で通話しながら ○ VSCode Live Share の活用 ○ 👍 ペアの方が相談しやすい・問題が解決しやすい 26
Slide 27
Slide 27 text
27 まとめ
Slide 28
Slide 28 text
チーム開発のサマリー ● 開発期間中に ○ 179 コミット ○ マージした PR = 46 件 ○ クローズした Issue = 42 件 ● PR はなるべく細分化し、レビュアーの負担を 下げるように心掛けた 28
Slide 29
Slide 29 text
29 研修を通して学んだこと ● 小さなイテレーションの重要性 ○ 議論を長引かせるよりもまずは手を動かす ○ フィードバック が得られやすい ● ドッグフーディング ○ 自分たちは満足できているか
Slide 30
Slide 30 text
「はてなピアスター」の今後 ● 研修が終了しても開発には終わりはない ○ 隔月ペースで 「ピアスター会」 を開催 w/ 社長 ● 今後も 開発合宿 などで新機能追加や改善を行う ● 社長を中心に、会社の制度としてピアボーナスの 導入も検討されている 30
Slide 31
Slide 31 text
まとめ ● 与えられた要件から、細部まで仕様を検討し実装した ● フィードバックをもとに改善するプロセスを経験した ● チーム開発を経験することで、新卒⇄社員間の交流が深 まった ● Slack アプリ開発は、エンジニアとしての基礎を学べた 良いカリキュラムだった 31
Slide 32
Slide 32 text
32 ご清聴 ありがとうございました!