えぬ億までの道

アラサープログラマが一発当ててn億を得るまでの記録

「先進的プログラマが微妙技術を勧める」のに吐き気を催さない具体的な方法

「先進的プログラマが微妙技術を勧めるという吐き気を催す邪悪」という記事がはてぶホットエントリーに出てきていた。

この記事では、はてぶテクノロジー分野でバズる最新技術に関する記事について、それに飛びつきその技術を学習するリスクについて以下のように語っている。

意識高いのをこじらせてどこで採用されているか知らないような技術に手を出すとあっという間に時間ロスを起こす。

 

ただはてブのテクノロジー記事でバズるようなトピックを書くプログラマというのは、能力が高いので技術が廃れてもさっさと次に移って、新しい技術もサクッと身につけるスキルを持ったりするので、デファクトを取れなかった技術を使った経験も懐かしい思い出のように語れたりするから腹立たしい。

 

僕のように平凡な能力しかないプログラマや、勉強する時間のなくなったエンジニアが選択を間違えると人生が左右されると思う。

www.byosoku100.com

 

耳の痛い話で、私も過去にはChefやAngularなど、今は全く使っていない技術の学習に時間を費やしてきた。本当に無駄だったと思う。

この問題に関しての対策は2つしかない。

  1. 無闇に飛びつかず出来るだけ選択を最適化する
  2. 「僕のように平凡な能力しかないプログラマ」を脱するように努力する

1.無闇に飛びつかず出来るだけ選択を最適にすること 

私はあまり”最新”過ぎる技術は避けるようにしている。むしろ世の中の”先進的プログラマ”が地雷原を踏み倒したあとについていくタイプである。多少枯れつつある技術しか追わない。

そもそも最新技術に早くキャッチアップすることのメリットは

  1. その分野の最前線で活躍出来る(発信側になれる、デファクトになった時に他人より既に先を行っている状態になれる、など)
  2. エンジニア的な「新しいもの大好き欲求」を満たせる

などであるが、私の場合どちら1はそもそも個人的な趣向に合わないし、この利益を享受出来る人は本当に一握りだと思う。また、2についてはそういう欲求もあるが、時間コストが無視できないので意図的に抑制している。あくまで私がプログラムを学ぶのはえぬ億を得るためである。こういう軸があるとブレない。ただし、その最新技術で明確なメリットがある(実装コストが大幅に削減できる)などの場合、枯れる前に早めにキャッチアップを試みることもある。

あとは禅問答的な分野も非常に危険である。MVC/MVVM系の話は大体、それはMVVMではない!MV○ではない!と言った禅問答に行き着く。シンプルかつ一貫した思想、枯れたプログラミングパラダイスで書かれていればある程度のリスクは下げられる。たまに箸休め程度に調べて「うんうん、やっとるな」と高みの見物である。

したがって、総じて「最新技術」は大きな流れ、大枠だけ追っておき、時折つまみ食いをする位にしている。つまみ食いの基準は、定量的にはGithubのスターの数、Googleの検索数、採用している企業の数などである。

基準、目的を明確にしておくことが非常に重要。

「あ、新しい!触るぞ!」は危険。凡人がこれをやっても後に何も残らない。

 

2.「僕のように平凡な能力しかないプログラマ」を脱するように努力すること

1の基準に照らし合わせた上でいい塩梅ならば、学習に取り組む。そしてそもそもの学習スピードを上げる必要がある。英語はどう考えても必須。Qiitaを読んでこの人は間違っている!などと言っているのは時間の無駄。公式ドキュメントを読みましょう。その他、効率を上げるには別の記事にまとめています。とにかく公式ドキュメントを読むこと、これが非常に重要。公式ドキュメントの出来が選択の基準にすらなる。公式ドキュメントの出来がいいライブラリ等は息が長くなる。

enubillion.hatenablog.com