Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

8b10b66fbfad4e0f729d36035d68d0d2?s=47 Rossy
April 17, 2021

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

メルカリに新卒入社して1年間学んだことについて話します。

8b10b66fbfad4e0f729d36035d68d0d2?s=128

Rossy

April 17, 2021
Tweet

Transcript

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

  2. 2 名前: 田村弘(rossy) • 経歴: 信州大学 → メルカリ(20卒) • ポジション:

    バックエンド • 趣味: 筋トレ、読書、最近は友達の youtubeに出没したりしてます @rossy_0213 @rossy0213 link
  3. 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 注) 印象的なものだけ記載してる
  4. 4 メルカリ入社後の職歴 2020/04 - 06 2021/01-03 2020/07 - 09 2020/10

    - 12 Docomo関係の決済コア開発 Software Design 9月号執筆 短期チーム異動 シミュレーション機能の コアロジック開発 新機能の決済コア開発 Software design 1月号執筆 新機能の決済コア開発 既存機能の再設計 * 2 あるマイクロサービスオー ナーになる 注) 大きな仕事だけ記載してる
  5. 5 セルフマネジメント編 時間管理

  6. 6 時間管理の考え方 • 時間は有限である • 時間管理を失敗すると問題になりやすい(論文の〆切など) ◦ 自分の限界を知る必要がある ◦ やることの見積もりが必要になる

    • 効率の良い方法を追求する ◦ 例えば、集中/非集中では効率が大幅に異なる
  7. 7 時間管理の話 • ポモドーロ・テクニックを使おう ◦ 25分の集中と5分の休憩を繰り返す • 全てのやることにpointを見積もって管理する ◦ 25

    + 5分を1 pointとして計算 ◦ 1日10point分のタスクが達成できていれば万々歳
  8. 8 時間管理の話 03 01 02 必要なタスクを考えて見 積もりを入れる 一定期間のやることリス トに入れる 完了してから見積もり精

    度を見直す 01 02 03
  9. 9 セルフマネジメント編 目標管理

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

  11. 11 目標管理のやり方 • OKRという手法を使おう ◦ 目標設定のためのフレームワーク ◦ OKRとは Objectives(目標) Key

    Result1(結果) Key Result2(結果) Key Result3(結果) TODO1 TODO1 TODO1 TODO2 TODO2 TODO2 簡単のOKRイメージ図
  12. 12 目標管理の話 • 個人OKRを作る 僕の個人OKR

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

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

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

  16. 16 パフォーマンス管理の考え方(我流) • 平均的に高いパフォーマンスをキープしたい ◦ 自分のメンタルに良い効果がある ◦ 周りにも良い影響を与えられる • 常に最高を追求しない

    ◦ 一時的な高いパフォーマンスを追求しない • 上げることよりも維持することが大事
  17. 17 パフォーマンス管理の考え方(我流) • プロスポーツ選手は難しいことを何回でも繰り返せるらしい ◦ なぜ: 難しいことを再現する動きを知っているから • 同じことをエンジニアリングにも適用できる(かも) ◦

    例えば、綺麗なコードを書けた時 ▪ その時の行動を分析して、再現できるようにしよう ▪ 再現できなかった場合は、行動の再分析をしよう
  18. 18 パフォーマンスの話(自分のやり方) • ルーティンを作る ◦ 仕事をする前に英語の勉強をする • 行動のテンプレートを作る ◦ 本を読む時の手順書

    ◦ コードレビューをする時の手順書 ◦ 設計をする時の手順書 ◦ etc
  19. 19 セルフマネジメント編 メンタル管理

  20. 20 メンタル管理の考え方 • 人間は案外脆くて弱い ◦ 誰もが弱ってしまう可能性がある • 自分を守ることを常に心がけよう • 辛くなったら逃げよう

    • 他人に頼ること ◦ 人間は社会的動物である(アリストテレス)
  21. 21 メンタル管理のやり方(自分の場合) • 信頼できる人と交流を持つこと ◦ 社会人になると接点減りやすいので、意図的に接点維持する 様にしてる • メンタルを回復できる方法を探すこと ◦

    自分の場合は美味しいもの食べること(太りやすい問題) • 意図的に暇(無の時間)を作ること • 定期的に運動する
  22. 22 メンタル管理のやり方(自分の場合) • 他人と比べない ◦ 勉強すればするほど、すごい人を観測しやすくなる ◦ 人と比べると心理的に良いことがあまりない ▪ 例えば、その人のバックグラウンドを知らずに比べしまう

    と痛い目に合う • できないことではなく、できることに集中する • 常に楽のやり方を探す
  23. 23 技術学習編

  24. 24 技術学習の話 • インプットとアウトプットを繰り返すことに勝ることはない • 習慣化しよう ◦ 時間管理のテクニックに合わせて計画的に行おう • 手で覚えることも大事

    学生の間で10万行のコードを書きましょう。優れたエンジニアは座学ではなく、実践でできてい ます。 原文: 建议大家争取在大学四年中积累编写十万行代码的经验。我们必须明白的是:好程序员是写出来的, 不是学出来的。 By 李开复(元Google VPの人)
  25. 25 インプットの選び方 • わかりやすい本や記事は知的高速道路 ◦ 出版されたものは基本的に信じていい ◦ 選別できる様になってからネットで検索しても遅くない • 英語の高速道路が多い(新しい技術は特に)

    ◦ 分野によっては中国語も多い(例: 決済周り)
  26. 26 一般的に良いとされるアウトプット • SNSや技術ブログで発信 • サービスを公開する • OSS開発に参加すること • 技術書の翻訳や出版

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

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

  29. 29 簡単なアウトプット方法(知識編) • 読んだものを要約して残す ◦ 書く経験になる ◦ 自分の復習になる ▪ 間接的に自分に教えていることになる

    ◦ 知識のindexになる スライド作る前のメモ
  30. 30 簡単なアウトプット方法(知識編) 自分が読んで良いと思った Web記事の記録 自分が読んだ本の記録

  31. 31 質の高いアウトプットをする方法 良いものは蓄積で出来てる By 自分のメンター 大枠を作る 02 03 01 リサーチ

    見直し/埋める レビュー依頼
  32. 32 チーム開発編

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

    • 他人にして欲しいことをする
  34. 34 人との接し方 • 共通意識を作ろう(期待値を揃えること) ◦ オープンであること ▪ 心理的安全性が上がる ▪ 別に弱みを教えろという話ではない

    • 他人をリスペクトすること ◦ これも心理的安全性に繋がる
  35. 35 技術の話 • 技術的正しさを追求しすぎないこと ◦ 人的、金銭的コストなど他のロールの心配ことも考慮する • 技術に対する提言は良いことでしかない ◦ 例:

    コードに対する反論は人間に対する反論ではない 最初に出したPRのコメントの数
  36. 36 計画と実行を繰り返しましょう まとめ

  37. 37 参考文献 • PDCA vs OODA • ポモドーロ・テックニック • 質問は恥でないしやつに立つ

    • Junior developer guide • What is an OKR • 三人行必有我师 • 己所不欲,勿施于人
  38. 38 おすすめなコンテンツなど • 金のフレーズ • リーダブルコード • クリーンアーキテクチャ • データ指向アプリケーションデザイン

    • 大規模サービス技術入門 • コンピュータシステムの理論と実装 • Webを支える技術
  39. 39 おすすめなコンテンツなど • マイクロサービスパターン • アルゴリズムとデータ構造 • マスタリングtcp/ip • SRE本

    • Go言語による並行処理 • the-way-to-go_ZH_CN • justforfunc
  40. 40 • エンジニアリング組織論 • How great leaders inspire action •

    How to Get a Job at the Big 4 • 盲信メソッド • 1分で話せ • 臆病者のための株入門 • 資産運用で99点をとる方法 おすすめなコンテンツなど
  41. 41 • 図解論語 • ラムダ技術部 • セキュリティキャンプ • メルカリインターン おすすめなコンテンツなど