振り返り2023

りまりま団のもふもふです。 2023年の仕事を納めたので振り返りをやっておきたいと思います。

振り返りブログを更新できなかった

課題感を強く感じないと行動できない性格なので、守れたNext Actionはそのときの課題に結びついている。来年も継続。

と言っていたにもかかわらず、ブログは書けなかった。4月に昇格1してしまったからか(?)まだ公開してない領域の仕事を任されることが増えたため。振り返りは大体仕事の課題に直結してしまうので「これは怒られになるだろうか」とかひよって書けなかった。

代わりにほぼ日手帳に直近の仕事の振り返りや所感を書くようにした。ブログの更新が止まりやすいのは公開できない仕事率が上がって満足しちゃうからかもしれない。

育成について

OJTトレーナーではなくなったが、新卒未経験メンバーがチームに来て結局教育をやる羽目になった。OJTトレーナー(ボランティア)みたいな感じだった。中間層が抜けてて育成がまともにできる感じではないので「担当じゃないから」と放っておくのは個人的な信条でNGかなと思って対応した。

中間層がいなくて育成できませ〜ん、というのは業界全体の傾向だと思う。一時期はChatGPTに夢を見出したがすぐに四散爆発した。要育成レベルは「学習をするための質問がChatGPTにできない」からである。何を聞けばいいかわからないし、コピー&ペーストで打つだけだと全然理解できない。

今まではそれが本や動画コースやWebコーディングサービスだったわけで、それでできないんだからまあそうだよなと思う。質問はしやすいと思うが、嘘か判別できないし…。ということで、本物の未経験は人が時間をかけてワンツーマンでやらないと難しいんだろうなあと感じた。

でもこれからの未経験者は新卒であってもハードモードになるばかりだなと感じる。 今は厳しくできない時代なので、基本的に皆OJTトレーナーなんかやりたがらない。やってくれたとしても表面上の当たり障りがない指摘くらいで、本当にまずいときに叱ってくれる人の方がレアケースだと思う。

自分は調べてきたことをコピー&ペーストしただけだったり、何も考えずに丸投げ・テストもろくにせずにできたといっちゃう…など、ダメな行為はダメと言ってしまう。スキルが足りていないのに認識がなければ「不足がある」と言っている。それは性格もあるし、新卒の会社が厳しかったところだったからかと思う。

でも、注意したり叱ったりするときに「パワハラだとか言って通報されるだろうなあ〜」とは毎回思うし、言いすぎてないかとか内省して落ち込むことも多い。そんなのやりたくないし、もう100万くらいもらわないとやってられない!という気分になる。

なので大体は放置 or 1 on 1(という名の話を聞いて慰めるだけ)くらいで終わっているんじゃないだろうか。自分に厳しくできない人は取り残されて、職場は人が育たない。ダイハツみたいな感じになって気づくともう手遅れ、とかたくさんありそう。

お金がある会社だったらハイスキル持ちの新卒メンバーを採用できるので、全然違う世界になっているんだろうなと思う。格差が開いて2極化しているが、(下の方の)本人たちは気づかないし気づけないみたいなことになってそう。なかなかエグいよなあと思うことが多かった。

ほんと業界全体でなんとかならんか?!みたいな気持ちになる。とりあえずろくに育成もできないんだったら採用をやめろと思う。人の人生なんだと思ってるんだ。2

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

なんか色々頼まれて当初の予定と違う感じになっているが、技術的な技量は伸びたかなと思う。

人生初めて0→1の開発をやりきれた

Linterやテスト・フォーマッタもろもろ込みで技術選定して作りきった。

超超超苦手分野でずっと避けていた。何もないところから作るイメージなんて持てないし。でもなんとかなってよかった。二度とやりたくない。

自分の職域で聞ける人がいないとわかっていたので、ChatGPTに課金した。本も買って写経を行って学習した。聞かれなくても進捗やタスクの開始・終了日は見えるところに出して、連携が必要な箇所は曖昧にせず記録をとる。やばそうならさっさと連絡することを強く意識して取り組んだ。

普段の当たり前をきちんとやれば大惨事にならないな、と強く感じた。当たり前をずっと続けるのが難しいのかもしれない。

React.jsを使ってアプリを作れるようになった

求められるアプリの性質上まだSPA止まりでいいので、React.js + TypeScript構成だが書けるようになった。テストはJest + Testing Libraryで書けるようになった。

Testing LibraryはVue Test Utilsよりも素直に要素が取得できてとても便利だなと思う。DOMイベントもuserEvent()で簡単に発火できて嬉しい。

保守開発でうんざりした経験をもとに、次のことを意識して進めた。結果、テスト中に見つかった不具合は見落としや考慮もれ、仕様の勘違いに留めることができた。まあその辺も無くしていきたいところではある。

安全第一で進める

テストとLinterは厚めに入れる。フォーマッタはコミット前に強制実行する。Linterがエラーならコミットさせない。ジュニアメンバーが多いので飛び道具は放置されてしまうとわかっている。よってテストと型で壊れないように守り、性悪説よりに考えて足回りを整えてやった。

結果、自分が一番助かった。気持ちに余裕がないときもこれらの防護策が守ってくれる。

ESLintは厚めに入れる
  • お作法が理解できていない状態なので指摘はLinterにやってもらう
  • 飛び道具的なコードが一番しんどいしメンテできないから避ける
最初からテストを網羅的に書く
  • カバレッジ80近く出すように
  • 書き方がわからないところやエントリーポイント以外は基本Stmt100%を目指してやった
  • UIにロジックを含むところはカバレッジ度外視で全て潰すようにした
  • テストが書けるように技術選定する。書き方がわからないものは選ばない

ダサくてもいいから素直に実装する

慣れてないものを使ってしまうと色々な機能を使いたくなってしまう。Reactだったら色々なHooksとかカスタムフックとかだろうか。

でも、お作法やReactの気持ちがわからないのに使ってしまい「そんなふうに使わないよ〜」となると取り替えるのも修正も大変。なのでダサいかもしれないがuseStateとuseEffect(APIリクエストみたいな仕方無いときだけ)・後は普通の関数を使って実装した。

ライブラリも気軽に導入しない。モックアップするのが大変なら使うのをやめる。やりたいことがわかってから「パフォーマンス改善」とか言って効率的にすればいい気持ちでやった。

CIのテストで守れる範囲が増えてなかなかよかった。色々書き方があるVue.jsと違い、React.jsは基本似たようなコードに収束していく気がする。ステートの更新タイミングが厳密、という点が違うかなと思う。

重複だ〜とか言ってすぐ共通化しない

散々Vueの見えないmixinsとかに苦しめられてきたので、過度なDRYは絶許という気持ちでやった。

  • マジで保守のときに手が入れられなくて詰みやすい
  • 画面やパーツの意味合いが一緒かどうかだけで判断した

グローバルステートは使わない

1画面しか使わない状態なのにVuexに入ってて無駄に改修に時間がかかる…みたいなことが多かった。どうしても・仕方なく・本当にしょうがないから入れるくらいの気持ちでやった結果、今のところグローバルステートなしで組めている。

今後はどうなるかわからないので練習はやった方がいい。

  • 規模がまだ小さめなので使わない。使わないように設計する
  • 大体人が変わる or 時間経過でデータの更新フローのコンテキストが失われてバグる
  • propsとイベントハンドラーでやり取りできるように状態遷移を組む

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

学習習慣がついた

ジュニアメンバーに「会社の時間使っていいから毎日1コミットしろ!」と言っている手前、自分がやらないのはあり得ないと思った。GitHubのSandbox用リポジトリにIssueを立てて毎日1コミットでも写経するように心がけた。燃え尽き症候群回避のため、日曜は割り切ってダラダラする。みたいにした。

なかなかよかったかもしれない。歯磨きと一緒だなと思う。1日2分だけでいいからやる、とするのがいい。

昨年の振り返りの通り、目的意識を持ってやるようにした。資格試験なども気持ちが焦ってないので受けないようにした。とにかくReact.jsで足回りを整えてアプリを作る、だけに注力した。仕事に必要なもの基準で逆算してチェックリストも作り、それを参考に写経を進めた。

元々サボり症なのでなかなかよかったかもしれない。

ChatGPTやGitHub Copilotを活用して学習できた

特に学習初期や最初に取り掛かるときに役立った。

  1. 案を出してもらう
  2. それをもとにドキュメントや本・ブログをあさって裏どり
  3. 不明点があれば解消して、なければTODOを立てて進める

コードの採点もできるので、足りない観点も補うことができた。シニアメンバーがいないならマジで課金して学習に使った方がいいと思う。

リングフィットアドベンチャーを継続できた

健康診断の血液検査の結果が良くなってビビった。継続って大事。気が緩んでもとに戻ってる気がするので継続する。でも後半…超体力いるよな。

2023年うーんだったこと

OJTトレーナーはしっかり選べやと思った

要育成メンバーに新卒を任せて両方まとめて育成しよう。お得!みたいな考えをやめろ。大体どっちも潰れるかなんともならないかなんだよな。観点がないんだからできるわけないだろ!と思った。

人件費はコストなので、単価が高いエース級メンバーにOJT育成を割り当てたくないんだろう。まあ想像できる。しかし、ジュニアメンバーやインポスターの傾向があるメンバーにOJTを割り当てると共倒れになる。2人分の人件費が損では…とか思ってしまう。

直近のことしか考えてないのか?!不景気だと売り上げにしか目がいかなくなるんだろう。

掛け持ちはクソ

これも会社が育成を怠ったつけで、自律的に進められるメンバーが限られているのに必達の仕事があるとお察しくださいの状況になる。しかし、掛け持ちで入っている側はスイッチして対応するので片方はおざなりになる。反対に仕事を受け取る側は100%の出力を期待するのでそりゃ無理だね、となる。

巷で100ぺん言われているアンチパターンなんだからやめろと思ってしまう。今さえ乗り切れればいいみたいな思考なのだろう。マネジメントしろ!とか思ってしまうが、中間管理職に権限はないので経営側の責任が大きいと思う。

よく中間層のマネージャーは仕事やってられるよな。自分なら速攻で退職するレベルで費用対効果が合わない。

非同期処理は1から理解してこないとダメそう

Promiseとエラーハンドリング周りはとても苦手で、今も書けないことが多い。Promiseの基本概念から理解し直す必要がある。この辺りはテストを書くのも苦手なので克服したい。

2023年の気付き

責任が載っている仕事を任されると自分の人生が後回しになりやすいと感じた。ほんとまたうつ病をやると一生戻ってこれない可能性があり、ほどほとにする必要がある。みんなも人生を生きているわけだし。

とりあえずパソコンを閉じたら仕事の心配事を考えるのはやめにしたい。


ちゃんと職務履歴を書いて転職サービスに転記しようと思った。


  1. マネージャーではなくグレードが上がる的なアレ
  2. 人事も会社に採用数の目標とか出してて、それの達成さえできればいいみたいな会社はまあお察しという感じがある。でもそんなの入ってみないとわからないよな。無理ゲーだ。