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

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

Rossy
April 17, 2021

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

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

Rossy

April 17, 2021
Tweet

Other Decks in Education

Transcript

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

    View Slide

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

    View Slide

  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
    注) 印象的なものだけ記載してる

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  23. 23
    技術学習編

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  32. 32
    チーム開発編

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide