2021年の仕事納めしたので振り返りする

りまりま団のもふもふです。 2021年の仕事を納めたので振り返りたいと思います。

昨年版→2020年の仕事納めしたので振り返りする - りまりまだんの本拠地

ちょっとずつ諸々再開した

結婚式が終わるまでは2020年同様「仕事をきちんとする。業務以外は何もしない」としました。10月以降は無理のない程度に仕事上の学びをブログに書いたり、コードを書いたりした。 ただ、仕事の負荷が前年より上がったので無理しないように心がけた。技術書の積読に手をつけたりした。

2020年よりもできたかなと思ったこと(技術的な観点)

Vue Routerを扱えるようになった

  • <router-link><router-view>のPropsを活用できるようになった
    • ページURLにidを含め、それをpages以下のVueコンポーネントに渡したい…という際、Vuex StoreではなくVue RouterのPropsを利用すればテスト書きやすいな!とか思える程度には理解した
  • Vue RouterのbeforeRouteEnterを使って複雑な処理が書けるようになった
    • 「ページ入る前にバックエンドにバリデーションチェックしてもらい、ダメなら指定画面に遷移する」とか
  • ネストされたルートがやっと理解できた
    • 昨年は「なんかchildrenの中にルーティング定義があるから親子なんだろうな」くらいしか思わなかった
    • タブで画面の一部を切り替えつつ、ページURLも切り替える…という場合などに使えるなと思えるようになった

TypeScriptのTypeやInterfaceを扱えるようになった

  • Vueやライブラリの型定義を確認し、自分のコードを修正できるようになった
    • ESLintのany typeエラー撲滅が少しは進んだ
  • バックエンドのAPIインターフェースに合わせてTypeやInterfaceを修正・作成できるようになった
    • チームが小規模なのでSwaggerなどはない
    • 逆に自分で型定義を作る必要があり、勉強になった
    • 仕様変更が多い外部APIはAPI通信周りはUIで使うパラメータのみ型を作り、asキャストするしかないなあと思った
      • いい方法があれば知りたい

2020年より短い時間でコンポーネントやfunctionにテストを書けるようになった

  • UIの操作ケースを頭の中でマトリクス化し、そこをカバーするテストが書けた
  • Numberを扱う場合、境界値・しきい値を意識してテストを書けるようになった
  • Vuex StoreやVue Router、密結合でテストが書けないコードをバラしてテストを書ける状態にした
    • このときデグレの検証ができないの辛いなあと思った
  • カバレッジレポートを確認し、足りないケースを検討して追加できた

チームリーダーとしてチームの状況を適切に把握し、エスカレーションできた

  • 実装者の視点とマネージャーの視点は異なるので、「相手は何を気にするか」を意識することを心がけた
  • 結論を先に話す、端的に話す、わからないときは誤魔化さない、など基本的なことをやるのが大事だなあと思った
  • 各メンバーに進捗を聞いて回るのではなく、定期的に自分で記入してもらうようにした
    • これは結構良かった。記録が残るのと、自分で入れてもらうのが楽で良い
  • 何かあったらとにかく騒ぐ、ができたので良かった
    • 大事になってから騒ぐのは遅い

Ruby on Railsのコードを読めるようになった

  • バックエンドがRailsなので、仕様調査とかで読む必要がある
  • なぜ静的型付け言語が好まれるのか分かった気がした
  • インターフェースの可視化とコードジャンプないの辛い

2020年よりもできたかなと思ったこと(その他の観点)

ビジネス・SEチームとコミュニケーションが取れた

  • マネタイズを考える人とユーザーと向き合う人は開発者と全然考えることが違う

課題を見つけてマネージャーに改善提案ができた

  • 他のチームの話だけどXXが問題だと思う。現状はこう、技術的にこういうやり方ができるがどうする、みたいな提案ができた
  • 来年は進めていけそうなので頑張る

2020年うーんだったこと

自分に仕事が集中してかなり疲弊した

  • 質問や各所連絡・スケジュール管理しながら開発するのは結構きつい
    • Vueできる人が社内にほとんどいないので仕事をパスできず、余計きつかった
    • チームリーダーをやらせるな、というのは「そうだね」と思う
  • いろんな人に「無理しすぎなので息抜きしてね」と言われた
    • 振られる仕事が多いからでは…!とかみんな受け身じゃないですか…!とか思ってしまった
    • 来年はもうちょっと仕事を分散したい。ただ、同じロールのエンジニアが会社にいないので結構辛そう
  • メンバーが足りない・スキル不足メンバーのフォローもきつかった

VuexやAPI処理周りのユニットテストは限界がある

  • vue-test-utilsでカバーするのは限界がある
  • 正常系で操作をカバーする、みたいなのはE2Eじゃないと無理だなあと思った
  • 来年はCypressを覚えたい

作図は苦手だなと思った

  • 処理フローをパワーポイントで説明する、みたいなのは苦手
  • 文章だと限界があるので練習していい感じに描けるようになりたい

コードを書く時間が減った

  • 人のフォローや報告・相談は結構時間を持っていかれる
  • 色々なところで言われているが「実力が落ちているのでは」と不安になる
  • 適切にサボって個人開発とかやるべきかもしれない。それか業務に役立つ個人開発をやって「これで能率アップ!」とかするとか…

一度モヤモヤすると引きずってしまう

  • 理不尽とかクオリティ低い仕事の尻拭いでモヤモヤすることが多かった
  • モヤモヤから立ち直るのに30分くらいかかってしまう
  • 色々良くないので、気持ちを切り替える方法を学んで実践する

2021年の気付き

Web開発はシビアな世界

  • 実力が低いメンバーのフォローは生産性マイナスになる
  • 成果物が仕様を満たしておらずやり直し…とか普通にある
  • 実力が低いのは別に良いが、同じ指摘を4回とか受けてると「流石にちょっと…」と思ってしまう
  • ドキュメントやPull Request(チケット)上の日本語力と実装力は比例する
    • 文章上で何書いてあるかわからない人から出てくるコードは何書いてあるかわからない
  • 絶対適正ないと無理な職種なので、「未経験からイッセンマン」は詐欺だよなと思った

適切に現状を把握して端的に他人に説明できると重宝される

  • めちゃくちゃ信頼されて頼られる
  • 仕事も集まってくる。いいのか悪いのかわからん

職務履歴書を四半期に一回更新した方が良い

  • "サチって"るか客観的に把握する
  • どんな問題に、どうやってアプローチしたか書く

現状維持は現状維持ではない

  • "サチって"いるなら新しいものを学習する
  • 世の中は変わるのでついていく必要がある

「どうなってるんですか」と言わせてはいけない

  • これを言われた時点でかなり信頼されていない
  • 進捗を共有する。見えるところに残す
  • 見込みが立たない時点で「見込みが立たないので伸びそう」と言う
  • 言ってるのに把握できていないのはまた別

得意・不得意が分かった気がした

  • 得意
    • 1 → 100系の仕事
    • 現状解析と改善系の実装タスク
    • 現状を取りまとめて適切に報告・連絡する
  • 不得意
    • 0 → 1系の仕事
    • 他人の前で機嫌を保つ(理不尽なことがあるとすぐ態度に出てしまう)

違うロールを同時にやるのは無理

  • 時間を区切る
  • Googleカレンダーに「この時間はこのタスクをやる」という予定を入れておく
  • あとはひたすらやるだけ

仕事中のBGMを工夫する

  • 仕事中に勉強会のYouTubeアーカイブやポッドキャストを流しておくと色々情報をキャッチできて良い
  • もっと早くやれば良かった

文章を書いて自分を客観視する

  • 学んだことは汎化してブログに書くと内省できて良い
  • 客観的に自分を把握するのは大事

リングフィットアドベンチャーはいい

一週間に一度、10分だけでも効く。来年も頑張る。


振り返ってみると、2020年に感じた課題に対して何かしらのアプローチができている。仕事納めの日に振り返りをやり、記録を残しておくのは効果ありそう。 来年は適切な息抜き方法・テスト・型に対する習熟をやっていきたい。あとReactを触ったり、素のJavaScript・TypeScriptに対する理解を深めたい。