エンジニアに向いている人、向いていない人ってどこが分水嶺なんだろうね?

Webエンジニアの最低限必要なスキルってなんだろうか?とぼうっと考えてたらサッカーで例えれんじゃね! サーバサイドはパスやドリブルで、ディフェンスがインフラでGKがセキュリティー、戦略理解はDBやクラス設計力で最後にシュートがフロントエンドだ!

…とか思ってたんだけどめっちゃ伝わりにくい気がしたのでちょっとだけ書いてたけど破棄した。

それはさておき風呂に浸かりながら電子書籍をダラダラと読んでいた際にふと↑のようなことが頭をよぎって「技術力とはHDDやSSDのようなもの」かもしれないとか考えたら思いの外、的外れでもないのかな?と思ったので忘れないうちにせっかくだから残しておこうと思う。

詰まるところ、技術力というのは選択肢(蓄積できるデータ量*スループットの速度)だということだ。

それがより大容量でスループットが速いSSDなら当然お値段は高い、逆に容量が少なくてスループットが遅いHDDは当然安く、また信頼性も低くなるだろうと思う。

ぼく自身はスループットが速くもなければ大容量を誇っているわけでもない。 ただ容量に関しては人並み程度にはあるという認識なので、スループットを高速化していくのが今後の(というか今までも)課題であると認識している。

具体的にはアルゴリズムとか設計やデザインが苦手というかあまり芯を食っていない対応をしてしまいがちなので土台の技術力を補強しないと その上に構築していく技術が伸び悩んでくると最近感じている、というか前々から薄々感じているのでがんばっていき。

ところで昨日まで弊社ではインターン生がいて課題制作を行っていた、無事全員作品を完成させてインターン期間を終了していた。 若く力強い新人が下から追い上げてくるのを見ると実に焦燥感と負けん気が自身の中に生まれて大変良い刺激をもらった、やっていき感ある。

そして件のインターン生とたまたま帰りに同じ電車になって「Webエンジニア(プログラマ)に向いてるかどうかってどこでわかるんですか?」というような質問を受けた。 そのときは「設計がうまいひと、問題の本質を捉えるのが上手なひと、プログラマの三大美徳を備えているひと」というような解答をしたのだけど 今にして思うとこれはちょっと違うように思えてきた。

じゃあ今ならなんと答えるのか?と言われるとまだふわっとしているのだけど「技術に真摯であること」かなと考えている。 その技術でなにを解決するのか、その技術は誰を幸せにするのか、その技術を学んでいく気持ちがあるかなどなど。

100人いたら100人答えが違うのかもしれないと思っているし半年後にもう一度考え直したらまた違った答えが出てきそうな気がする。

そしてインターン生の作品発表の場で質疑応答の時間に「ぼくたちに質問したいことはありますか?」という質問をしておけば良かった!!!とちょっと後悔している。