Open18
バックエンドエンジニアの技術戦略
- 普遍的なものを中心に勉強する
- プログラミング、ネットワーク、データベース
- 特定のサービスに依存するものを勉強するのもよい
- AWS、GCP
- ただし普遍的な知識があってこそ活きる、基礎がしっかりしていると実務で必要になった時のキャッチアップも早い
おすすめ技術書part1(普遍的なもの)
※ 個人的には必読、順番は問わない
ネットワークはなぜつながるのか
- 基本情報技術者試験の範囲
- 体系的にネットワークの仕組みがわかる
- ネットワーク詳しくなるとなにか問題があった時の原因の切り分けもしやすくなる
- クライアントサーバ間の開発で必須の知
- HTTPプロトコルの仕組み
- リクエストヘッダー・レスポンスヘッダー
- Authorizationヘッダーフィールドの使用用途
- Content-Type, MINE仕様も出てくる
- 画像はバイナリデータでやり取りする
- HTTPステータスコードの選定や、異常系処理に対する考えも強くなる
プログラムはなぜ動くのか
- 基本情報技術者試験の範囲
- メモリやCPU、ディスクの仕組みがわかる
- プログラミングの際にメモリの意識が強くなる
- データベースからデータを取得した際にメモリに乗りきらないとディスクに乗るが、ディスクは読み書きが遅いのでパフォーマンスがわるくなる
世界一流のエンジニアの思考法
- エンジニアとして成長戦略について学べる
- 理解に時間をかける
- 短期的な生産性を落として、中長期的な生産性を上げる
- 仕事をコントロールする感覚
- 早い段階で読んでおくのがおすすめ
- データベースの設計原則について学べる
- テーブルの正規化について理解が深まる
- SQLはこれが分かりやすくておすすめ
これらも読んだ方がいいかなと思うもの
OOPの考えは普遍的
プログラミングのスキルの向上
APIの設計やったことあって特に困ってないならそこまで読む必要はないかもしれない。
得意な言語に置き換えてデザインパターンとして実装してみるのがいいかも
マストではないがおすすめの技術書
(普遍的ではないものも含む)
- ドメイン駆動設計について学べる
- データの保存を堅牢にする
- 開発者にとって読みやすいコードが書けるようになる