📓

2021年の振り返り

2021/12/28に公開

今まで振り返り記事を書いてこなかったが、多くの人が記事を書いていて触発されたので、今回初めて2021年を振り返る記事を書こうと思う。

モチベーションとしては誰かに見せたいというより、未来の自分が見たら興味深いはずなので記録として残しておきたい。でも誰かに読んでもらえるならそれはそれで嬉しい。

2021年はエンジニアとしてのキャリア2年が過ぎ3年目の年だった。

総括すると次のような感じだ。

本業

  • チームリーダーとして開発メンバーとは違う視点で開発に携わる経験をすることができた。
  • プロダクトの0→1開発を完遂した。
  • フリーランスになり新しい環境に変わった。

本業以外

  • 本業以外の活動が少なかった。
  • 個人開発は年間通して続けたが成果が出なかった。現在開発中のアプリに期待している。
  • Go Academyに参加し刺激を受けながら学習を進めることができた。
  • プログラミングばかりしているので、それ以外の経験にも時間を使いたい。

以降は詳細を読みたい方だけ進んでいただけたらと思う。

1月から12月まで順番につらつら書いていく。

1月

本業

当時所属していた会社の自社サービスとしてECサイト構築サービスのフルリニューアル開発の真っ最中だった。

ECサイト構築サービスとは、BaseやStores.jp、Shopifyみたいなサービスのことだ。

ちなみにSpring Boot(Java)、Nuxt.jsを使っていた。

このときの開発体制は正直イケてないどころがボロボロの状態だったので、プロジェクト全体としてかなり遅れている状況だったと思う。

アサインされたタスクは順調に進めていたが、定例MTGもなかったので他メンバーの状況は分からず、進捗管理もしっかりされていなかった。

また成果物に対するレビューも機能していなかったので、設計やコードの品質もよろしくない状態だったと思う。

さすがにこの状態で開発を続けるのは難しかったので、社長に直談判して改善すべきことを提案した。このときにプロジェクトの開発リーダーに任命してもらった。

とにかくまともな開発体制にするためにいろいろ奔走していたのがこの時期だった。

本業外

あまり覚えいていないが、個人開発でチームを組んでいるメンバーでマッチングアプリの開発を行っていたと思う。ちなみにFlutterを使用。

完全にプライベートの話だが、犬(ミニチュア・シュナウザー)が家族になった。

とても可愛い(笑)

ひやひやしながら子犬を育てていたと思う。

2月

本業

1月に開発チームのリーダーになってから行ったいくつかの取り組みが軌道に乗ってきた頃だと思う。

まずはメンバーにアンケートを取り改善点を整理した。そのうち優先順位が高いものから対策を講じていった。

具体的な要改善点は次のようなものがあった。

  • メンバー間のコミュニケーション不足
  • プロダクトの仕様理解の不足
  • メンバーのスキル不足
  • 知見が共有されていない
  • 現在の進捗が見えない

上記に対して次のような施策を行った。

  • スクラム開発の導入
  • コードレビューを開発メンバー全員で行うルールを設定。
  • 全メンバーがフロントエンド、バックエンドの両方のタスクを担当しできるようにする。
  • Confluenceを導入し知見を蓄積する環境を整備。
  • 再度スケジュールを引き直し、スプリントプランニングで全体の進捗を確認するようにする。
    以上の取り組みがうまく機能し、チームの生産性や雰囲気がよくなったと思う。

またタスクとしてはインフラの構築を行った。Amazon ECSを使ったコンテナ基盤の環境を作った。
2020年にSAAの資格を取っていたので、実務で生かすことができてよかった。
インフラ周りの理解が多少なりとも深まったと思う。

本業外

1月とあまり変わらず。書くことがないので割愛。

3月

本業

デザインエディタの開発を行った。ECサイトのデザインをブラウザ上で直感的に編集することができる機能だ。

開発中のプロダクトにおいて、とても重要な機能として位置付けられていた。

機能仕様はほぼ決まっていなかったので、0から一人で開発をおこなった。

  • PCに慣れない人でも直感的に使えるようなUIの設計、
  • ECサイトに必要な機能が過不足なく編集することができるような機能設計
  • 多くのパラメータがあり情報量が多いのでサーバー側でどのように扱うか、DB設計・API設計

社内に知見がある方もいなかったので、類似サービスを調査したり、試行錯誤して実装した。

また少しずつ作り上げながら社内でレビューしてもらい、意見を取り入れるように進めた。

工数としては2月から着手し3月には完了したので、約2ヶ月かかったと思う。

本業外

個人開発チームで1日缶詰になって実装を行ったりしていた。

あまり覚えていないので割愛。

4月

本業

決済機能の設計に着手した。仕様設計、UI設計、DB設計、API設計などを行った。在庫管理やタイムセール、定期便、送料無料機能、ポイント機能、会員限定価格などプロダクト内の多くの機能が関わってくるため、考慮事項が多く整合性をとるのが大変だった。

これで大丈夫と思っても、再度見直すと矛盾点が見つかり再修正というような繰り返しだったので、何度か頭がパンクしかけた。

また決済代行会社を利用することになったので、利用会社の選定にも関わらせてもらった。決済代行会社のシステムの仕様をプロダクトに組み込む部分についても設計を行った。

ECサイトとして決済はクリティカルな部分なので、矛盾がないことやバグがないことに注意し、メンバーへの共有ができるようにドキュメント化も行った。

この月は手を動かすというより頭を使う時間のほうが多かったと思う。

本業外

28歳になった(笑)

5月

本業

4月に設計した決済機能の実装を行った。

メンバーで分担して実装を行ったのだが、実装が複雑なだけあってドキュメントだけでは認識の齟齬が生まれていたので、都度MTGしながら認識を共有するように進めていたと思う。

本業外

全く記憶がない。割愛。

6月

本業

スケジュールが少し遅れだしており、ぼや程度の炎上が始まっていたと思う。

あまり覚えていないので割愛。

本業外

オンラインイベントに積極的に参加していたと思う。

また個人開発で作っていたマッチングアプリが完成に近づいていたが、あまりイケてない感じになっていてモチベーションが低下していたような気がする。

7月

本業

本格的に炎上。

一部を保留にしていた機能や仕様変更があった機能の対応が残っており、休日返上で働いていた。

アドレナリンが出ていたのか休みがなくても全然平気だったような気がする。

本業外

本業が炎上し休日返上で対応していたので、本業外ではなにもできなかった。

8月

本業

引き続き炎上。休日返上で働いていた。

リリース直前でバグがたくさん出てしまい、テストの重要さを強く感じた。

振り返るとテストが甘々だったので、もっと早くから対策していればよかったと反省。

本業外

7月と同じで本業が炎上し休日返上で対応していたので、本業外ではなにもできなかった。

9月

本業

晴れてプロダクトをリリースすることができた。

達成感がすごかったと思う。

自分のした仕事が初めて世の中に出た瞬間だったので、やっとエンジニアとして仕事をした感覚だったと思う。

本業外

家に篭りすぎて運動を全くしなかったせいか体つきが気になってきたのでダイエットを始めることにした。

毎日夜にウォーキングを一時間する習慣を作った。

頭の整理もできるので、とても有意義な時間になっている。続きていきたい。

10月

本業

開発がひと段落したので次のキャリアを考え退職することにした。

未経験で採用してもらった会社だし裁量を多く持たせてもらっていたのでとても感謝しているが、自分にとってコンフォートゾーンになっており、ぬるま湯みたいな状況になってきたと感じていたので新しい環境に行きたかった。

正社員転職も考えたが、一旦フリーランスとして独立することにした。

いろいろな現場を見てみたかったのとスキルの幅を広げたかったのが主な理由だ。

いくつかオファーを頂いたが、結局一番最初にオファーをもらったデータレイク案件に参画することにした。

本業外

Goの学習を始めた。良くも悪くも話題になることが多いが、サービスが有名で規模が大きいプロダクトで採用されていることが多い印象だったので、今後大規模な開発に携わりたいとの考えからキャッチアップすることにした。

ビルドが早いのが嬉しかったり、言語仕様もシンプルで学習コストも低く感じた。ただオブジェクト指向ではないので慣れるのに時間がかかりそうな印象だった。

また個人開発で新アプリの開発に着手した。就活関連のアプリでFlutterで作っている。今度こそ当てたい。2022年頭にリリース予定。

11月

本業

10月に引き続き同じ案件で稼働中。

GCPをいろいろ使わせてもらっている。Kotlinを使った機能実装も行った。

また他メンバーの方と2人でペアプロでタスクを進める経験もした。

初めてペアプロでやってみたが、対話しながら開発できるので理解度は深まると感じた。

本業外

サイバーエージェント主催のGo Academyに参加させていただけることになった。3ヶ月間かけてGoを使ったWeb開発を学ぶことができる講習だ。詳しくはこちら

キャリア的には自分と同じくらいなのに、とても優秀な方たちと講習を受けることができ、かなり刺激をもらっている。

私自身、負けず嫌いなのでGoの学習をブーストできていると思う。

12月

本業

11月に引き続き同じ案件で稼働中。

GCP、Firebase、Node.jsを使った機能開発を行っている。

FirebaseのCloud Functionsで原因不明の事象にハマる。

Cloud Functionsがなぜかトリガーされないときがある。こちらはGoogleに問い合わせ中なので来年に持ち越しになった。

本業外

Go Academyと個人開発で埋め尽くされている。

とても楽しいが、ふと冷静になると毎日プログラミングしかしていない(笑)

もう少し全く別分野の経験もしないと薄っぺらい人生になりそうな気がしている。

2021年のまとめ

改めて2021年をまとめる。

それなりにいろいろな経験をすることができ成長できた年だったと思う。

本業

  • チームリーダーとして開発メンバーとは違う視点で開発に携わる経験をすることができた。
  • プロダクトの0→1開発を完遂した。
  • フリーランスになり新しい環境に変わった。

本業以外

  • 本業以外の活動が少なかった。
  • 個人開発は年間通して続けたが成果が出なかった。
  • Go Academyに参加し刺激を受けながら学習を進めることができた。
  • プログラミングばかりしているので、それ以外の経験にも時間を使いたい。

2022年に向けて

2022年は本業以外の活動をもっと活発にしていきたい。

いくつかざっくりと目標を立ててみようと思う。

  • Goの実務経験を積む。
  • Vue.jsの経験を生かしつつReactの経験を積む。
  • 記事執筆や登壇などアウトプット活動を増やす。
  • プログラミング以外にも時間を使ってQOLをさらに上げる。
  • 個人開発で安定的にアクティブユーザーがいるプロダクトを作る。

最後に

ここまで読んでいただきありがとうございます。

もし面白いと思っていただけたならいいねボタンをポチッと押してもらえると嬉しいです。

SNSでの共有やTwitterのフォローもしてくれたら嬉しいです。

ではこれで終わります。良いお年を。

Discussion