💻

今後どんな技術を学んでいきたいか 2021年ver

2021/02/09に公開

どうなりたいか

  • アイデアを形にできる(フルスタック)
  • 長い目でみた時に、学習時間が少なくすむ
  • 稼げる

何を捨てれるか

  • エンジニア界隈でのプレゼンス
  • 最先端の技術への追従

方針

  • 四半世紀以上使われ続けてきたような、基礎の技術を固める
  • 変化の速い領域にはなるべく手を出さない(枯れた技術を優先する)
  • 使う技術を絞る

深く掘っていくところ

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点のデザイン+マークアップを簡単に吐き出せるようになってほしい。
https://devdojo.com/tails

目指す姿との差分

  • アイデアを形にできる(フルスタック)
  • 長い目でみた時に、学習時間が少なくすむ

この2つの観点からみると、それなりに筋の良い戦略になっていると思う。

  • 稼げる

に関してはかなり微妙。少なくとも単価アップに最適化された戦略じゃない。
フルスタックに浅く広くよりも、ニッチな領域や最新の技術を深ぼったり、インフラ周りに特化した方が収入上がりそうなイメージ。

仕事の取り方とか、人脈とかでカバーできるだろうか。

Discussion