nissy.dev

2022 年の振り返り

11 min read
Table of Contents

もう 2023 年になってしまっているのですが、2023 年の抱負を考えるのを踏まえて、 2022 年振り返りをしようと思います。この記事を書きながら、個人ブログを全く更新できてないことに気づきました。。。

仕事周り

仕事に関する大まかな感想ついては、8 月末に次の会社のブログにまとめました。

新卒で飛び込んだフロントエンド刷新プロジェクトが学びだらけだった話 - Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、kintone フロントエンドリアーキテクチャプロジェクト (フロリア) に所属している 21 新卒の西川 (@nissy_dev) と左治木 (@sajikix) です。 フロントエンド刷新プロジェクトへの配属から約 1 年が経ち、プロジェクトに関わる中で多くの学びがあったので振り返ってみました。 目次 自己紹介 西川です 左治木です kintone フロントエンドリアーキテクチャプロジェクト(フロリア)とは 配属されてみて実際どう? プロジェクトから学べたこと 小規模なチームでのスクラム開発 Testing Trophy を意識した QA とのテスト設計 アクセシビリティを考慮…
blog.cybozu.ioblog.cybozu.io
thumbnail

一言でまとめると、「チーム開発」を始めてちゃんとやった 1 年でした。 「チーム開発」を深く経験して、チームで開発することの難しさをとても痛感しました。 チームを改善しながら効率よくタスクを進めるには、普段から失敗できる環境作り、開発プロセスの改善サイクルを高速を回すことが大事だと実感しました。 また、開発プロセスの改善サイクルを高速を回すにあたって、心理的安全性やメンバー間の共通認識などが大事になることも身をもって経験することができました。

今年の後半からは、マイクロフロントエンドの手法を取り入れた刷新作業を行なっており、その作業の技術的な部分でのリードをしています。 メンバー間の共通認識を強く意識していて、マイクロフロントの学習パスを整備した点などは成長なのかなと思います。 一方で、この手法を取り入れるにあたってチーム間の調整がうまくできなかったので、そこは 2023 年への大きな課題として残りました。

後は、1 年通じてアウトプットでは頑張ったかなと思います。 個人ブログにはアウトプットできていないですが、会社のブログに 3 本、Zenn に 3 本、 JSConf でのスポンサー LT などをできたのはよかったです。

読んだ本

今年は、ちゃんと 1 on 1 をするようになったためか、去年より読んだ本が多かったです。 読んだ冊数は未出版本のレビューも含めると 8 冊で、月1冊ペースが見えてきた気がします。

Web ブラウザセキュリティ

これは、去年の年末からの社内の輪読会で読んでいた本です。 普段の開発では意識する場面は少ないものの重要な概念である、SOP、CORS、CSP などを体系的に学ぶことができました。 Chrome の site isolation などのトピックから、ブラウザの内部の仕組み (V8 など) への興味も出てきたのがよかったです。 Twitter でも結構おすすめしている人が多かったです。

Webブラウザセキュリティ ― Webアプリケーションの安全性を支える仕組みを整理する
現代のWebブラウザには、ユーザーがWebというプラットフォームを安全に利用できるように、さまざまなセキュリティ機構が組み込まれています。 こうしたセキュリティ機構のほとんどは、Webブラウザを開発する人やセキュリティの専門家が知っていればいいものではありません。 本書は、これら「現代のWebブラウザが備えていてアプリケーション開発者にも理解が求められる多様なセキュリティ機構」について、一つひとつ丁寧に整理して解説するものです。 攻撃者とWebブラウザ開発者たちとのせめぎ合いの歴史から、Webセキュリティについての理解を深める一冊です。
www.lambdanote.comwww.lambdanote.com
thumbnail

マスタリング TCP/IP

何度も読みたいと思っていて挫折していたけど、今年はちゃんと読み切りました! GCP や AWS などのクラウドサービス使う際や Docker などのコンテナ技術のトラブルシューティングのときに何をどうすればいいのかわからない状態になることが多く、ネットワーク周りの知識不足は自分の大きな課題でした。

読んだ感想としては、非 CS 系で体系的にネットワークを学んだ経験もなかったので書いてある内容の全てが新鮮でした。 フロントエンドもパフォーマンスを考えると、CDN や Service Worker などを使ったキャッシュ戦略を練る必要があって、ネットワークの知識は必要不可欠になっていると感じています。 最近の QUIC や HTTP/3 の話についても、全然概要を把握できてなかったので、それを把握する上での基礎知識をつけれたのはよかったです。 ただ、まだ頭に入ってない内容も多い気がするので、応用情報程度のネットワークの知識は定期的にインプットしたいです。

https://www.amazon.co.jp/dp/4274224473

カイゼンジャーニー

今年からスクラム開発をやり始めて、自分のチームでの立ち振る舞いに悩んだ時期があり、一旦スクラムの知識をざっくり入れたくて読みました。 読み物として面白くて、スクラムの手法を取り上げながら物語が進んでいきます。

https://www.seshop.com/product/detail/21652

良いコード/悪いコードで学ぶ設計入門

話題になっていたので、サクッと読んでみました。 コードを書くときに基本的に意識したい慣習を言語化している本という感じでした。 最後の方にリファクタリングをチームでどうやって進めていくかについて記述してあって、現在大規模リファクタリングを進めている自分にとっても共感できる内容が多かったです。

ただ、普段フロントエンドのコード書いている人からすると、コードが非常に OOP の考え方によっているのでそこだけは注意して読んだ方がよさそうだと感じました。

良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方 | Gihyo Digital Publishing … 技術評論社の電子書籍
「ITエンジニア本大賞2023」技術書部門で大賞受賞!本書は,より成長させやすいコードの書き方と設計を学ぶ入門書です。システム開発では,ソフトウェアの変更が難しくなる事態が頻発します。コードの可読性が低く調査に時間がかかる,コードの影響範囲が不明で変更すると動かなくなる,新機能を追加したいがどこに実装すればいいかわからない……。変更しづらいコードは,成長できないコードです。ビジネスの進化への追随や,機能の改善が難しくなります。成長できないコードの問題を,設計で解決します。
gihyo.jpgihyo.jp
thumbnail

HTML 解体新書

フロントエンドの刷新作業では、a11y の改善にも力を入れています。 日々の業務でも a11y を専門とするチームからのフィードバックから多くのことを学んでいますが、自分はマークアップ周りに自信がなく体系的に知識を学びたかったため読みました。

全体的に細かいマークアップで迷ったときに辞書的に使える本だと感じました。 HTML のセマンティクスや支援技術に沿ったマークアップができているかどうかを指摘してくれる人はほとんどいないので、ここにある知識をうっすらでも知っていると大きいと思います。

https://www.borndigital.co.jp/book/26006.html

Game Programming Patterns

1 on 1 をしてもらっているメンターにおすすめされたので読みました。 読んだときのログは、こちらのスクラップにまとめました。 本の中のサンプルコードを Rust で実装したことで、Rust の理解も深まったのがよかったです。

https://gameprogrammingpatterns.com/contents.html

Origin 解体新書

途中から参加できなくなってしまったのですが、社内の輪読会で読んでいた本です。 Web ブラウザセキュリティ の復習になる本でした。 この本では、Web ブラウザセキュリティの本で勉強した SOP、CORS などの概念がなぜ必要なのかという点をちゃんと理解できるような解説になっていてよかったです。

Origin 解体新書
Web 技術解体新書 第一章 Origin 解体新書 Same Origin Policy とは Web において非常に重要なセキュリティモデルの 1 つだ fetch や XHR でリクエストを送信したときに、 CORS 違反で失敗したり、 Preflight という謎のリ
zenn.devzenn.dev
thumbnail

そのほか

未出版のフロントエンドセキュリティに関する本のレビューをしたり、業務で必要になったマイクロフロントエンドに関する資料を読みました。 マイクロフロントエンドについては、スクラップでまとめた内容Micro Frontend in Actions の過去の社内輪読会のノートをインプットしました。

来年の抱負

今年は、全体的に仕事に手一杯になる場面が多かったので、もう少し仕事以外の目標に対して日々のコミットメントを意識して過ごしていきたいと思っています。理想は、次のスライドのような自己管理ができるようになることです。

新卒エンジニアが1年間で得たベストプラクティス
メルカリに新卒入社して1年間学んだことについて話します。
speakerdeck.comspeakerdeck.com
thumbnail

自分もそろそろ人生の大きなイベントが来そうで、それまでの時間を有効活用して CS の知識について学んでいかなければなと思います。 現時点ので今年の 1Q の目標を OKR の形式で立てると、次のようになりました。2Q 以降はまた考えます。

  • 目標 1: CS の基礎知識をつける
    • 成果指標 1: TCP/IP プロトコルを Rust で実装してみる
    • 成果指標 2: OS を Rust で実装してみる
    • 成果指標 3: Text editor を Rust で実装してみる
    • 成果指標 4: Leetcode の Blind 75 問を解き切る
  • 目標 2: 個人のプレゼンスを高める
    • 成果指標 1: Rome に週1回のペースでコミットする (1Q 中に 12 コミットする)
    • 成果指標 2: ブログを 2 本書く (Rome と業務、1 本ずつ)
  • 目標 3: 山登りやバドミントンに参加できる体力をつける
    • 成果指標 1: 週2回ジムに行くのを継続する (水曜日と土曜日)
    • 成果指標 2: プロテインを飲み切る

80 % くらいは達成できるように、今年も頑張るます。