Slide 1

Slide 1 text

1 新卒エンジニアが1年間で得たベストプラクティス

Slide 2

Slide 2 text

2 名前: 田村弘(rossy) ● 経歴: 信州大学 → メルカリ(20卒) ● ポジション: バックエンド ● 趣味: 筋トレ、読書、最近は友達の youtubeに出没したりしてます @rossy_0213 @rossy0213 link

Slide 3

Slide 3 text

3 学生の頃の経歴 Internship at Merpay 2019/10 Internship at CAM 2019/07 Internship at Freee 2018/12 Internship at Morpho 2018/08 Internship at Cyber Agent 2018/12 Security camp 2019 2019/08 注) 印象的なものだけ記載してる

Slide 4

Slide 4 text

4 メルカリ入社後の職歴 2020/04 - 06 2021/01-03 2020/07 - 09 2020/10 - 12 Docomo関係の決済コア開発 Software Design 9月号執筆 短期チーム異動 シミュレーション機能の コアロジック開発 新機能の決済コア開発 Software design 1月号執筆 新機能の決済コア開発 既存機能の再設計 * 2 あるマイクロサービスオー ナーになる 注) 大きな仕事だけ記載してる

Slide 5

Slide 5 text

5 セルフマネジメント編 時間管理

Slide 6

Slide 6 text

6 時間管理の考え方 ● 時間は有限である ● 時間管理を失敗すると問題になりやすい(論文の〆切など) ○ 自分の限界を知る必要がある ○ やることの見積もりが必要になる ● 効率の良い方法を追求する ○ 例えば、集中/非集中では効率が大幅に異なる

Slide 7

Slide 7 text

7 時間管理の話 ● ポモドーロ・テクニックを使おう ○ 25分の集中と5分の休憩を繰り返す ● 全てのやることにpointを見積もって管理する ○ 25 + 5分を1 pointとして計算 ○ 1日10point分のタスクが達成できていれば万々歳

Slide 8

Slide 8 text

8 時間管理の話 03 01 02 必要なタスクを考えて見 積もりを入れる 一定期間のやることリス トに入れる 完了してから見積もり精 度を見直す 01 02 03

Slide 9

Slide 9 text

9 セルフマネジメント編 目標管理

Slide 10

Slide 10 text

10 目標管理の考え方 ● 目標を立てることでやるべきことがはっきりする ● 計画を立てるには目標が必要になる ● 結果から成長をわかりやすく評価できる

Slide 11

Slide 11 text

11 目標管理のやり方 ● OKRという手法を使おう ○ 目標設定のためのフレームワーク ○ OKRとは Objectives(目標) Key Result1(結果) Key Result2(結果) Key Result3(結果) TODO1 TODO1 TODO1 TODO2 TODO2 TODO2 簡単のOKRイメージ図

Slide 12

Slide 12 text

12 目標管理の話 ● 個人OKRを作る 僕の個人OKR

Slide 13

Slide 13 text

13 目標管理の話 ● 期末になって評価する

Slide 14

Slide 14 text

14 目標管理の話 ● 新しいOKRを設定する

Slide 15

Slide 15 text

15 セルフマネジメント編 パフォーマンス管理

Slide 16

Slide 16 text

16 パフォーマンス管理の考え方(我流) ● 平均的に高いパフォーマンスをキープしたい ○ 自分のメンタルに良い効果がある ○ 周りにも良い影響を与えられる ● 常に最高を追求しない ○ 一時的な高いパフォーマンスを追求しない ● 上げることよりも維持することが大事

Slide 17

Slide 17 text

17 パフォーマンス管理の考え方(我流) ● プロスポーツ選手は難しいことを何回でも繰り返せるらしい ○ なぜ: 難しいことを再現する動きを知っているから ● 同じことをエンジニアリングにも適用できる(かも) ○ 例えば、綺麗なコードを書けた時 ■ その時の行動を分析して、再現できるようにしよう ■ 再現できなかった場合は、行動の再分析をしよう

Slide 18

Slide 18 text

18 パフォーマンスの話(自分のやり方) ● ルーティンを作る ○ 仕事をする前に英語の勉強をする ● 行動のテンプレートを作る ○ 本を読む時の手順書 ○ コードレビューをする時の手順書 ○ 設計をする時の手順書 ○ etc

Slide 19

Slide 19 text

19 セルフマネジメント編 メンタル管理

Slide 20

Slide 20 text

20 メンタル管理の考え方 ● 人間は案外脆くて弱い ○ 誰もが弱ってしまう可能性がある ● 自分を守ることを常に心がけよう ● 辛くなったら逃げよう ● 他人に頼ること ○ 人間は社会的動物である(アリストテレス)

Slide 21

Slide 21 text

21 メンタル管理のやり方(自分の場合) ● 信頼できる人と交流を持つこと ○ 社会人になると接点減りやすいので、意図的に接点維持する 様にしてる ● メンタルを回復できる方法を探すこと ○ 自分の場合は美味しいもの食べること(太りやすい問題) ● 意図的に暇(無の時間)を作ること ● 定期的に運動する

Slide 22

Slide 22 text

22 メンタル管理のやり方(自分の場合) ● 他人と比べない ○ 勉強すればするほど、すごい人を観測しやすくなる ○ 人と比べると心理的に良いことがあまりない ■ 例えば、その人のバックグラウンドを知らずに比べしまう と痛い目に合う ● できないことではなく、できることに集中する ● 常に楽のやり方を探す

Slide 23

Slide 23 text

23 技術学習編

Slide 24

Slide 24 text

24 技術学習の話 ● インプットとアウトプットを繰り返すことに勝ることはない ● 習慣化しよう ○ 時間管理のテクニックに合わせて計画的に行おう ● 手で覚えることも大事 学生の間で10万行のコードを書きましょう。優れたエンジニアは座学ではなく、実践でできてい ます。 原文: 建议大家争取在大学四年中积累编写十万行代码的经验。我们必须明白的是:好程序员是写出来的, 不是学出来的。 By 李开复(元Google VPの人)

Slide 25

Slide 25 text

25 インプットの選び方 ● わかりやすい本や記事は知的高速道路 ○ 出版されたものは基本的に信じていい ○ 選別できる様になってからネットで検索しても遅くない ● 英語の高速道路が多い(新しい技術は特に) ○ 分野によっては中国語も多い(例: 決済周り)

Slide 26

Slide 26 text

26 一般的に良いとされるアウトプット ● SNSや技術ブログで発信 ● サービスを公開する ● OSS開発に参加すること ● 技術書の翻訳や出版 ● etc

Slide 27

Slide 27 text

27 実際難しいんですよね...

Slide 28

Slide 28 text

28 簡単なアウトプット方法(コード編) ● 草活動(毎日有意義なコードを書く) ● 作るものない時はAtcoder, LeetCodeを解いていました

Slide 29

Slide 29 text

29 簡単なアウトプット方法(知識編) ● 読んだものを要約して残す ○ 書く経験になる ○ 自分の復習になる ■ 間接的に自分に教えていることになる ○ 知識のindexになる スライド作る前のメモ

Slide 30

Slide 30 text

30 簡単なアウトプット方法(知識編) 自分が読んで良いと思った Web記事の記録 自分が読んだ本の記録

Slide 31

Slide 31 text

31 質の高いアウトプットをする方法 良いものは蓄積で出来てる By 自分のメンター 大枠を作る 02 03 01 リサーチ 見直し/埋める レビュー依頼

Slide 32

Slide 32 text

32 チーム開発編

Slide 33

Slide 33 text

33 人との接し方 ● 積極的に他人から学ぼう ○ 三人行えば必ず我が師有り ● 質問をしよう ○ 質問は恥ではないし役に立つ ● 他人にして欲しいことをする

Slide 34

Slide 34 text

34 人との接し方 ● 共通意識を作ろう(期待値を揃えること) ○ オープンであること ■ 心理的安全性が上がる ■ 別に弱みを教えろという話ではない ● 他人をリスペクトすること ○ これも心理的安全性に繋がる

Slide 35

Slide 35 text

35 技術の話 ● 技術的正しさを追求しすぎないこと ○ 人的、金銭的コストなど他のロールの心配ことも考慮する ● 技術に対する提言は良いことでしかない ○ 例: コードに対する反論は人間に対する反論ではない 最初に出したPRのコメントの数

Slide 36

Slide 36 text

36 計画と実行を繰り返しましょう まとめ

Slide 37

Slide 37 text

37 参考文献 ● PDCA vs OODA ● ポモドーロ・テックニック ● 質問は恥でないしやつに立つ ● Junior developer guide ● What is an OKR ● 三人行必有我师 ● 己所不欲,勿施于人

Slide 38

Slide 38 text

38 おすすめなコンテンツなど ● 金のフレーズ ● リーダブルコード ● クリーンアーキテクチャ ● データ指向アプリケーションデザイン ● 大規模サービス技術入門 ● コンピュータシステムの理論と実装 ● Webを支える技術

Slide 39

Slide 39 text

39 おすすめなコンテンツなど ● マイクロサービスパターン ● アルゴリズムとデータ構造 ● マスタリングtcp/ip ● SRE本 ● Go言語による並行処理 ● the-way-to-go_ZH_CN ● justforfunc

Slide 40

Slide 40 text

40 ● エンジニアリング組織論 ● How great leaders inspire action ● How to Get a Job at the Big 4 ● 盲信メソッド ● 1分で話せ ● 臆病者のための株入門 ● 資産運用で99点をとる方法 おすすめなコンテンツなど

Slide 41

Slide 41 text

41 ● 図解論語 ● ラムダ技術部 ● セキュリティキャンプ ● メルカリインターン おすすめなコンテンツなど