フルスタックの本質を理解して、自分の特性の見極めること
自分の特性の見極め
自分の特性を見極めるのは、とてもむずかしい。
「わたしは◯◯が得意です」と胸を張って言えることがひとつやふたつあるだろうか?
先日読んだ本『エッセンシャル思考 最少の時間で成果を最大にする(グレッグ・マキューン (著), 高橋 璃子 (翻訳))』では、それをひとつにしぼって突き進め、ということが何度も書かれてあった。
なんにでもアンテナを張って首を突っ込んでいると、なにもかもが中途半端になってしまう。
本当に自分に必要なものだけを吟味して、不要だと思ったことには思い切って「ノー」を言う、本当に必要なものだけに「イエス」といい、それに向かって進んでいくというのだ。
ただ、わたしたちのいるIT業界では逆の方向に行っていると表面的には思える。
プログラマーは、JavaだけができるよりもRubyやPythonもできるほうがよいとされる。
デザイナーは、プログラム的な考え方ができるほうがよいとされる。
フルスタックエンジニアとはよくいったものだが、フルスタックエンジニアの本質は「どの言語もなんとなくできる人」ではなく「どの言語も完璧にできる人」である。
フルスタックエンジニアの意味をはき違えると、「どの言語にも中途半端にしかできない人」が量産されてしまう危険性がある。
思うに、そもそもフルスタックエンジニアとは「ある言語において、他の人よりもずば抜けて優秀」な人が他の言語もさわってみたときに、「他の言語においてもずば抜けて優秀になる」という人だろう。
この本質を考えてみると、そもそもはじめからいろんなベクトルを持っていたわけではなく、ある言語において極めるまではその一方向を向いていたはずだ。
そこで、ある言語において優れていたから他の言語もそれを応用すればなんだかんたんじゃん、ということになって、結果、フルスタックエンジニアと呼ばれるに値することになったのだと思う。
はじめからフルスタックエンジニアを目指していたわけではない。
なにが言いたいかというと、世の中が騒いでいるままにいきなりフルスタックを目指したところで、本当のフルスタックになんてなれるはずなんかない。むしろ中途半端な人間ができあがってしまうので、やめたほうがいい。
(いろんなインプットはもちろん必要だけれども)まずは自分の「◯◯が得意です」を作るまでは、そこに突き進むべきではないだろうか。
シンプル化への道
芸能界などを見ていても、そうだ。
アイドルをやっているだけではダメで、「アイドルだけど女優もやっています」みたいな人も多い。
この前シリアスなドラマに出ていた若い子が、ある日テレビをつけるとひらっひらのスカートを履いて歌って踊っているのを見ると、ちょっと大変だなぁと思ってしまう。
昔は「二足のわらじ」とよくいったものだが、今は二足どころではない、四足五足とどこまでも必要になってしまうのだ。
いまやもう、機能をモリモリに盛り込めばいい時代ではない。
アプリもそうだが、いろんなことができるリッチすぎるアプリは逆に使いづらい。
ミニマムにまとめられたコンセプトのほうがだんぜんその場では使いやすいはずだ。
よく、ひげそりは何枚刃までいくのか!?という話が出てきた笑ったものだが、それもフルスタックエンジニアに通じるものがあると思う。増やせば増やすほど、よいとされる。
プリンタについている謎のマイナスイオン発生機能もそのひとつだ。
本来ならプリンタに必要な機能ではないのに、増やせば増やすほどよいとされ、なぜかつけられた機能。
アプリも人も、シンプル化、ミニマム化。不要なものをそぎ落としていくフェーズではないだろうか。
まずは「本質」を見極めること。自分の本質はいったいなんなのか。ブレない軸だ。
それができたら、どんどん肉付けをすればよい。
最初から肉付けに励んでいても、基礎がしっかりしていないからすぐに倒れてしまう。
なにもかもできないといけない…と悩んでないで、まずは自分の道を信じて貫くことが重要なのだ。
9/3追記
すみません、ブコメ、Twitterより指摘があり、フルスタックについてまちがって理解していて、失礼いたしました。
あとで追記しますー。