update.さて、qnoteアドベントカレンダー2018が始まりました!1日目は華麗にポエムでキメていこうと思います突然ですが、皆さんはスーパーエンジニアでしょうか?スーパーエンジニアな方は本記事を読まなくても十分生きていけますので、そっと記事を閉じてください。w僕を含めスーパーエンジニアでない方にとって、今後生き抜いていくために少しでも役に立つ情報があれば幸いです。この素晴らしきスーパーエンジニアどもめ!〜スーパーエンジニア。その雲の上の存在に対し、我々は憧れ、嫉妬し、自己嫌悪し、ドラクエのレベル上げを始めるのである〜スーパーエンジニアって?そもそもスーパーエンジニアって何だ?ってトコロから始めましょう。解釈は様々あるかもしれませんが、本記事では「技術力が飛び抜けて高いエンジニア」を指すこととします。具体的にイメージしてみましょう。エンジニアがたくさんいる会社に所属していたり、勉強会に参加したとき、ふと「この人には技術面では一生追いつける気がしない」って感じることありませんか?その人がスーパーエンジニアです。これは相対的かつ主観的ですが、他のエンジニアから見て「一生追いつける気がしない」と思われる時点で超凄いです。そんな凄いエンジニアは、案件にも引っ張りだこ。性格や素行によほど問題が無い限り、スーパーエンジニアが食いっぱぐれることは無いでしょう。なんでスーパーなん?スーパーエンジニアがスーパーである理由はカンタン。一言で言うと、「技術が死ぬほど好きだから」です。今はペーペーの新人でも、技術が死ぬほど好きで寝食を惜しんで突き詰めていく人は、いずれスーパーエンジニアになれます。この「死ぬほど好き」っていうのが重要で、情熱を維持した状態で一心不乱に突っ走った結果、「かなり好き」な人が追いつくことの出来ない領域に到達するわけです。いえば、「素直で貪欲」であることがスーパーエンジニアに共通していることだと解説しているサイトがありました。「死ぬほど好き」だからこそ、先入観を抑えてスポンジのごとく技術を吸収していけるわけで、これが傍から見ると「素直で貪欲」と映るのは大いに納得できます。(技術に対しての話で、性格が素直かどうかは知りません。w)ちなみに、僕は技術が「かなり好き」止まりです。言わずもがなですが、これもあえて文章化しておきましょう。技術力が神の領域に達すると、その人にしか出来ない仕事、その人にぜひお願いしたい仕事が発生します。言い換えると、その人自体に代替え出来ない価値が生まれるわけで、価値ある人は必然的に生き残れるわけです。スーパーでなくても生き残る・・・必ず・・・!ではここからが本題。スーパーじゃない僕たちは、一体どうやって生き残っていけば良いのでしょうか。これは「スーパーエンジニアが生き残れる理由」がそのまま適用できるわけでして、「自分自身に代替えできない(しづらい)価値を持たせる」ことができれば、必ず生き残れます。一般論になってしまうかとは思いますが、僕の実体験も踏まえつつ書いていきます。色んな技術に手を出しまくってみる俗に言うフルスタックエンジニアってやつです。一つの技術を突き詰めて、それだけで生きていくのは大変。複数の技術を「それなり」に扱えるようになるのは結構カンタンです。作品でも、90%から100%まで仕上げるのにメチャメチャ労力がかかります。フルスタックを目指すのであれば、サクサク成長できる80%〜90%程度まで技術を習得したら、サッと次にいっちゃうわけです。やって様々な開発言語・プラットフォームを扱えるようになっておくと生き残りやすくなります。技術の幅が広がれば、それぞれが深くなくても万能な開発者としてプロジェクトを飛び回れるワケです。(万能であるがゆえに、炎上案件の火消しも増えますけどね)また、各技術を掛け合わせた案件も出てきます。各技術の概要を把握した人が居ると案件が回しやすくなりますので、代替え出来ない人材として重宝されます。幅を広げていったことで、大抵の案件は入れるようになりました。狙ったわけではなく移り気な基質によるものですが、とっても役に立っています。クライアントと親身に接するクライアントは、自社開発であれば上司、受託開発であればお客さんです。「親身に接する」というのは「ムチャをすべて受け入れる」ことではなく「相手の立場に立って考え、行動する」ことです。具体例を挙げると、キツめの依頼が来たとき「無理!」の一言でシャットアウトしちゃうとクライアントは困っちゃうわけで。「こういう理由で無理なので、代替え案としてこれはいかがでしょう?」って話が出来るようになろうぜってことです。親身に接することが出来れば、信頼関係が築けます。お互いに信頼があると、お互い困った時に助け合えるってコトに繋がります。これはステキなコトですし、めっちゃ有益でもあります。営業さんがお客さんに対してモノを売る時、お客さんがモノを買う理由って何でしょう?僕たちがネットショッピングするときは「モノが素晴らしいから」ですが、お客さんがモノを買うときは「モノが素晴らしいから」ではなく「営業さんが素晴らしいから」であることが多いそうです。(あまりにモノが酷ければ別ですけどね)イケてる営業さんは、「何かあっても全面的に任せられる」という信頼感があるため、このような結果になるとのこと。エンジニアも真似しちゃいましょう。業務に飲み込まれないようにする僕がしばしば陥りがちだったのがコレ。日々の案件が忙し過ぎて、情報収集や技術の習得の時間がとれない病。幸いなことに案件の区切りやプライベートで多少時間がとれたのと、新しい技術を取り入れなければならない開発が多かったので、時間はかかったものの何とかフルスタックっぽくなれました。忙しさに甘んじて同じような開発を繰り返していると、技術者としての死に近づいていきます。忙しいのは大変なコトですが、それを言い訳にすると自分自身が被害を被るわけで。時間やリソースをやりくりして、意識的に新しいものを取り入れるようにしましょう。開発じゃない領域に手を出す企画・提案・UX・UIなどは、開発と近い領域にあります。専業エンジニアの場合、普段はこういった事は他の人に任せて進める場合がほとんどだと思いますが、ここにあえて手を出してみましょう。フルスタックエンジニアの、更に外の領域までいっちゃうわけです。企画・提案が出来れば仕事を自分で生み出せますし、UX・UI+開発が出来ればカバー範囲がメチャメチャ広がります。僕は本業に出来るレベルではないですが、企画・UIをちょっとかじっています。仮に受託開発でも、このへんが出来ると手戻りが減らせるので、かなり役に立っています。アウトプットしまくるSNS・YouTube・勉強会・Qiita、何でもかまいません。何でもかんでもアウトプットする習慣を付けて、自分の情報を発信するチャンネルを確保しておきましょう。情報を発信するときは、必ず「考える」フェーズが発生しますので、物事を深く掘り下げることにも繋がります。作品などの実績を発信し続けていると、いずれ誰かの目に止まります。誰かの目に止まると、楽しいことが起こります。僕の場合、Twitterでゲーム開発について日々ひとりごとを呟いてたところ、とある方が個人ゲーム開発者の集まりに誘ってくださいました。お陰で同じ志を持つ方々と知り合えて、その方々から会社からは得られない多くのことを学びました。コミュニティに入るSNS系のサービスが発展してきて、インターネット上で繋がれるコミュニティがどんどん生まれています。自分の興味ジャンル(開発プラットフォームとか言語とか)に関するコミュニティを探して参加しちゃいましょう。僕は自分含め社内で1〜2人の体制でUnity開発をしていましたので、情報収集とモチベーション維持が結構難しかったです。活発なコミュニティに入れば、この問題はズバッと解決できます!一生懸命頑張っている人たちを見ると「自分も!」ってなりますし、情報もどんどん流れて来ますので。まとめひとつの事を突き詰めて、それでやっていける人は本当にスゴイです。日本人の働き方に関する見方は「仕事は一極集中が当たり前、突き詰める人が一番エライ!」っていうのが結構多いんじゃないかとも思います。僕みたいにフワフワした人間がひとつの事を突き詰めようとしても、「死ぬほど好き」な人たちを超えることは出来ません。(情熱は最強なのです!)一極集中するにあたって超えられない壁があるのならば、あえて回り道をして自分らしさを出していくのもアリじゃないでしょうか。それが自身の価値を上げることに繋がり、生き残れる可能性が増えます。真のまとめ・・・っと書いてみましたが、あくまでコレは移り気な僕の経験を元にしたケースです。最終的に気をつけるべきは、「現状に甘んじて思考停止に陥るのをSTOPする」ことのみかと。すればより善くなるかを考え、思いついたことをやってみましょう。失敗しまくっても良いじゃないですか。