今後どんな技術を学んでいきたいか 2021年ver
どうなりたいか
- アイデアを形にできる(フルスタック)
- 長い目でみた時に、学習時間が少なくすむ
- 稼げる
何を捨てれるか
- エンジニア界隈でのプレゼンス
- 最先端の技術への追従
方針
- 四半世紀以上使われ続けてきたような、基礎の技術を固める
- 変化の速い領域にはなるべく手を出さない(枯れた技術を優先する)
- 使う技術を絞る
深く掘っていくところ
ITの基礎知識
ネットワーク、Linux、セキュリティ、SQL、DB設計、HTTP、正規表現など。
10年や20年で廃れることはまずないし、どんな言語、フレームワーク、クラウドサービスを使うにも生きてくる知識。
学習がつまらない傾向はあるけど、学習リソースも十分揃ってる。時間をかけて、少しずつ理解を深めていきたい。
Ruby on Rails
「1人or少人数で、動くものをさくっと作る」という目的において、現時点では(でも)一番強いと思う。
DHH好きだし、情報量多いし、十分に枯れてる。バックエンドはこれでいく。
Rails7のHotwireで、ネイティブアプリも作れるようになるかも。
AWSの主要サービス
よく使われるサービスは、一通り使いこなせる状態にしておく。
英語のリーディング
まだまだ日本語を読むときと比べて、読むのに倍くらい時間がかかるし、なんとなく日本語の記事を優先してしまう節がある。あと流し読みをした時に頭に入ってくる情報量が少ない。
検索上位に上がってくる英語の記事は、よくよく読むと良記事のことが多いので、英語のリーディングは結構プログラミング能力に関わってくると思う。
軽く触っておくところ
TypeScript、React、Next.js、firestore、firebase auth、GAS
「個人or仲間内で使うちょっとした便利ツールを数時間で作る」という、超小規模のアプリを作る時、Railsだとtoo muchだったりする。
Railsアプリの場合、最低でもHerokuの月額8ドルのプランの契約が必要だし、8ドルのプランはかなりレスポンス悪い。
Next.jsで作ったアプリをVercelとかにデプロイすれば、基本無料でかなりサクサク動く。
深堀りするつもりはなく、
CRUD、認証、外部APIとの連携が簡単にできる程度のスキルを携えておく。
Railsを書いていてもどうせJavaScriptとは関わっていくことになるし(DHHはJS無くす方向で動いてる感じではあるけど)
あとこの目的だとVueの方が良さそうな気もするけど、現時点でReactの方が得意なので、、
各種クラウドサービス
新しいクラウドサービスは、ゆるーく追っていく感じ。概要と、どんなことができるのかくらいを把握しておくイメージ。気が向いたら手を動かす。
AWSの新しいサービスとか、各種SaaSとか、NoCodeとか。
手を出すか迷ってるところ
インフラのコード化に手を出すかは迷いどころ。
コードで管理できるのは美しいし、あるべき姿って感じはする。興味はある。
AWSのGUI使いにくいし。
が、(詳しくないけど)ツールがころころ変わってる感もちょっとあるし、GUIで一瞬で終わる作業に時間をかけるのも嫌だし、どこまでコード化してどこをGUIやるかの線引きとか、考えることが増えそう。
なるべく手を出さないようにしたいところ
進化のスピードが速い、最先端のホットな領域
Flutterとか、Next.jsの深いとことか(ISRとSSGとSSRとCSRを使い分けるとか)
ハマってるうちは変化についていけるけど、飽き性な自分はいつ飽きるかわからないので。。
しばらく触ってなかったら、3年前にプログラミングを始めた優秀な若手に追い抜かれていた、とかありそう。
大規模、大人数、長期間の開発でこそ輝く技術
GraphQLとか、Kubernetesとか
少人数とか1人とかで、小~中規模の開発をすることに強い関心があるので、大規模でこそ輝く技術はあとまわし。
手持ちの技術である程度代替できるやつ
Ruby以外のバックエンドの言語、GCP、Vue.jsとか
なるべく少ない技術を深堀りすることで、開発速度を上げたり、学習時間を減らしたりしたい。
デザインとマークアップについて
個人でアプリを作るなら避けては通れない。
デザインは片手間に勉強するよりデザイナーに任せた方が良い気がしてるけど、マークアップしにくいデザインを渡されるのもツラい、というジレンマがある。
個人的にTailwind関連ツールに期待している。75点のデザイン+マークアップを簡単に吐き出せるようになってほしい。
目指す姿との差分
- アイデアを形にできる(フルスタック)
- 長い目でみた時に、学習時間が少なくすむ
この2つの観点からみると、それなりに筋の良い戦略になっていると思う。
- 稼げる
に関してはかなり微妙。少なくとも単価アップに最適化された戦略じゃない。
フルスタックに浅く広くよりも、ニッチな領域や最新の技術を深ぼったり、インフラ周りに特化した方が収入上がりそうなイメージ。
仕事の取り方とか、人脈とかでカバーできるだろうか。
Discussion