- エンジニアに限らず、新しいことを学ぼうとしたら、知識が大量にあり、どこから手をつけたらいいのかがわからなくなる
- そんな時は、理解度順にリスト化してみる
- 1.使い方を知っていて、最小限の調査で済むテクノロジー(例:「CI/CDパイプラインのセットアップの仕方を知っている」)
- 2.企業のインフラで使われていることを知っているテクノロジー(例:「Dockerをいつ、何故使うかは知っている。だけどDockerfileは書いたことがない」)
- 3.聞いたことはあるけど何者なのか見当がつかないテクノロジー(例:「Kubernetesというのは聞いたことがあるけど、何のために使うのか見当がつかない」)
リスト (1) はコンフォートゾーンにあたる。履歴書のトップに書けて、これで飯を食っていける。このリストを増やすことに努めろ。月に一つか、四半期に一つか、それがどれだけ「でかい」かによる(例:「Javaを学ぶ」)。
リスト (2) も同じぐらい重要だ。このリストは、どのようにコミュニケーションをとり、アーキテクチャ上の決定を下すかを示している。サーバーレスアーキテクチャへ移行することのトレードオフを天秤にかけることは、それが何なのかを知らないとできない。だけどLambdaを使う理由を知っていれば、Lambdaについて話すことはできる。
リスト (3) は恐怖だ。このリストの会話では深い水底に落ちた幼児のような感覚に陥るだろう。
「いっぱいいっぱい」を乗り越えるにはどうしたらいいか?簡単だ。一日に1時間でも使って、テクノロジーをリスト (3) からリスト (2) に移せ。
本気で信じてもらっていいけど、リストに挙がっているテクノロジーで複雑なものなんて一つもない。午後だけで、シンプルなCI/CDビルドのセットアップの方法を覚えることができる。午後だけで、Dockerfileを一通り舐めることができる。Dockerのエキスパートにはなれないだろう。だけど話せるようにはなれる。
- 1
- Next.js
- Nuxt.js(version2)
- TypeScript
- Node.js
- Firebase
- cloud functions
- firestore
- Auth
- 2
- Lambda
- Next.js
- hooks
- 3
- Nuxt.js(version3)
- Svelte
- SvelteKit
- TypeScript
- ジェネリクス型