やっていく技術テーマを探す

Webエンジニアを8年くらいやっていて、なんとなく、一通りのことはできるようになってきた。ただ、ちょっと得意な分野もあるとはいえ、基本的になんでも屋さんとしてやっているので、技術者としてのアピールがいまいちだなーというのが気になっている。そこで、技術者としての自分をアピールできそうな技術テーマを一つ選んで、それにじっくり取り組んで見ようと考えた。

しかし、取り組む技術テーマをうまく選ぶ自信がない。そこで、ちょっと作戦を考えて取り組む技術テーマを見つけようと試行錯誤してみたので紹介してみる。

ステップ1: 指標を考える

やっていく技術テーマを見つけるにあたって、テーマの候補をスコアリングしてみることにした。漠然とスコアをつけるのは難しいので、自分が普段技術テーマに取り組むかどうかを考えるときに気にしていることを思い出して、5つの指標に分解してみた。

  • 指標1: 自分の興味
    • 自分がおもしろい、やりたいと思うかどうか
    • モチベーションがないとやりはじめることもできない
  • 指標2: すぐに役立つか
    • すばやく学べて、すぐに実際の問題解決に活かせるかどうか
    • すばやく成果が出せるとうれしいし、モチベーションも持続する
  • 指標3: 長く役立つか
    • 流行り廃りに影響されにくく、将来に渡って活用できそうか
    • 学んだことが無駄になりにくいし、多くは下地になるような技術だろうから基礎力がつく。 この記事でもそういった話題について言及してる
  • 指標4: Web技術者人気
    • Web技術者にとって人気があって注目されているか
    • いろんな人に役立ったほうがうれしいし、評価もされやすい
  • 指標5: ブルーオーシャン度
    • 取り組んでいる人が少ないか
    • 競争相手が少ないほうがのびのび取り組めるし、第一人者になりやすい
    • (追記 2018/03/18 9:00: この指標はしっくり来てない感じはある。自分が入り込む余地があるかというイメージなので"スペースがあるか"くらいが良さそうかな。)

あくまでも僕が何を大事にして技術テーマを選びたいかに基づいている。人によってはブルーオーシャンかどうかは気にしないとか、もっと別の評価軸があるとかはあると思うので各々考えると良いと思う。とにかく分解して考えられるようにする。

ステップ2: 取り組めそうな技術テーマを羅列する

まぁ、これは良さそうなテーマを思いつく限り羅列する。会社の人とかにも聞いてみたりした。

ここでは、ポケモンエンジニアリング、エンジニアの学び方、機械学習、Goというテーマが思いついたとする。自分は20個くらい思いついた。

ステップ3: 技術テーマにスコアをつける

ステップ1で考えた指標にもとづいて点数をつけて表にする。点数の付け方はなんでも良いと思うけど、13までのフィボナッチ数を使ってみた。仕事でタスクの見積もりとかでよく使っているので、自分は相対感がつけやすい。

例として選んだテーマについてめちゃくちゃ適当に点数を埋めてみた表が以下のようになる。実際にはGoogle Spreadsheetを使ってる。

技術テーマ 自分の興味 Web技術者人気 すぐに役立つか 長く役立つか ブルーオーシャン度 合計値
エンジニアの学び方 8 13 8 13 5 47
ポケモンエンジニアリング 13 2 8 3 13 39
IoT 8 8 5 13 1 35
Go 8 8 8 8 3 35

この表にうめている点数はめちゃくちゃ適当につけたやつなので、本当に意味はない。目的は自分のやっていく技術テーマを決めることなので、実際には主観的にえいやっと点数を決めていくと良いと思う。自分の興味とかはそもそも主観的だし、Web技術者からの人気なども自分の判断で決めるしかないだろう。

点数をつけ終わり、合計値のランキングの上位を調べることで、自分にとっての有望な技術テーマがわかってくるはず。

ステップ4: レーダーチャートで可視化する

ステップ3までを自分でやってみたところ、合計値ランキングの上位の技術テーマが似たような点数になったので、点数の傾向がひと目でわかるようにレーダーチャートで可視化してみた。

例の表のデータを使って可視化してみると、以下のようになる。

f:id:hakobe932:20180317174538p:plain

これで、分析がしやすくなった。このレーダーチャートはChart.jsを使ってサクッとつくった。GitHubにコードをおいてある。

感想

実際やってみてて、どうだったかというと、ランキング上位になった技術テーマのラインナップを眺めると、大方まぁそうですねという感じであった。だが、1つだけ自分の興味がめちゃくちゃ低いが、他のスコアが高いために上位にランクインしているテーマがあり、ふーむなるほどねという発見があった。逆にランキング下位になった技術テーマにも、自分では良さそうに思っていたテーマのスコアが意外と低いということがあった。

指標を分けてそれぞれ評価することで、多少は客観的な評価ができたのだと思う。副作用的に指標を考えることで自分が技術テーマについて何を大事に思っているかを整理できたのも良かった。

さらにスコアの内訳をレーダーチャートで眺めると、平均的に全部が良いテーマはなく、指標が偏っていることがわかるなど発見があった。上位テーマのスコアは点数が似たり寄ったりなのだが、5つの指標の中から何を大事にしていくかを考えていけば、自ずと良さそうなテーマに辿り着けそう。

正直まだ点数を見直したりして、やっていく技術テーマを決められていないのだけど、このままではワナビーで終わってしまうので、このあとえいやっと決めようと思う。