はじめに:技術力以外で必要なスキルって?
先日、知り合いのエンジニアさんからこんな質問を受けました。
現在、私はSIerで働いていますが、将来はWeb系の企業に転職して伊藤さんのようにリモートで働きたいと考えています。
そこに至るにはプログラマとしてプログラミング以外にも身につけるべきスキルがあると思います。
それには、どのようなスキルを身につけておくべきで、そしてそのスキルを身につけるためにはどのようなアプローチと考え方が必要になるか、もしよろしければ教えてください。
「技術力以外で必要なスキルは?」と聞かれると「あれもそれもこれも必要」っていう話になりそうなので、直感で一番最初に頭に浮かんだ話を答えることにしました。
以下は僕の回答です。
僕の回答
かなりオープンな質問なのでいろんな答え方がありそうですが、技術力以外で、っていうと 自己アピールやセルフマーケティングの力 でしょうか。
人から認めてもらうためには、その人に自分のことをしっかりと見てもらわないといけない。
でも人って、基本的に他人のことには興味が無い。
何にもしないとたとえスキルがあってもその人は自分のことに気づいてくれない。
なので、こんなことができますよ、こんなことを頑張りましたよ、っていうアピールは自分から積極的にやっていく必要がある。
同僚や上司に対しても、お客さんに対しても、ネット上の他のエンジニアに対しても、そういう継続的にアピールをしていくことが「できる人」って認められる一つの条件になるのでは、と僕は思っています。
逆にいうと、他人から評価されないといつまで経っても自分の待遇を改善できません。
具体的に何するの、っていったらブログを書いたり、会話の中で「こんなことをやりました」っていう自己アピールを盛り込んだりすることです。
そして、もっと根本的なレベルで言うと 「(家族でもない限り)他人は自分のことを全く気にかけていない」 という認識を常に持つことかなと思います。
その認識があれば、「どうすれば自分に興味を持ってもらえるか、自分を高く評価してもらえるか」というアクションにつながりやすいと思います。
なんかずる賢い処世術みたいなことを書いていますが、技術力以外で、っていうとそんなことがぱっと思い浮かびました。
ご参考までに。
回答の補足
改めて読み直すと「転職関係ないやん!」みたいな内容になってますが、直感最優先で答えるとこんな回答になりました(苦笑)。
もし話を転職に限定するなら、転職先からあなたに対する「お前はいったい何者ぞ?」「お前を雇うと会社にどんなメリットがあるのだ?」という疑問に対して、「僕はこんなエンジニアです」「僕ってすごいんです」っていう自分の言葉以外に、「その証拠にこれを見てください」という名刺代わりになるようなアウトプットを持っている方が有利、っていうことですね。
アウトプットは別にブログじゃなくても構いません。
自分で書いたOSSのコードでもいいですし、どこかの技術カンファレンスで発表することでもいいと思います。
さらにいうなら、ネット上にある情報だけが自分のアウトプットではありません。
ネット上にない情報だって自己アピールに使えます。
たとえば僕の場合だと、前の会社に転職するときは自分の勉強熱心さをアピールするために「僕はこれだけ技術書を読みました」と自分が読んだ200冊ぐらいの技術書のリストを見せたりしました。(当時はブログも書いてなかったので)
転職後に聞いた話ですが、その技術書リストは選考時に結構高く評価されたみたいです。
僕もまだまだアウトプット不足!?
ところで、今となっては僕もこのブログやらQiita記事やらで、Ruby界隈を中心に一部の技術者の間ではそこそこ名前が知られるようになってきました。
なので僕自身は「継続的なアウトプットによって(そこそこの)評価を得ているエンジニア」の一例に該当するかもしれません。(思い込みだったらごめんなさい ><)
参考:そこそこ名前が知られてるのでは?という具体的な事例についてはこちらのエントリをどうぞ↓
一方で僕は「ちゃんとアウトプットしていないので全く評価されていない無名のエンジニア」の一例でもあります。
「は?何の話??」って思うかもしれませんが、つまりこういうことです。
日本国内では「継続的なアウトプットによってそこそこの評価を得ているエンジニア」
世界レベルでは「ちゃんとアウトプットしていないので全く評価されていない無名のエンジニア」
そうなんです。
「そこそこ名前が知られている」といってもしょせん日本国内限定なんです。
世界に向けたアウトプットはほとんどやってきていないので、海外のエンジニアで僕のことを知っている人はほぼ皆無でしょう。
なので、僕は「アウトプットをしたが故に評価されている人」であり、同時に「アウトプットをしていないが故に全く評価されていない人」でもあるわけです。
僕は別に自分のことをめちゃくちゃ技術力が高いエンジニアだとは思っていません。
ですが、Ruby Weekly(Rubyプログラマ向けの海外のメールマガジン)に載っている技術記事なんかを読んでると「これぐらいの内容なら僕だって書けるわ~!(日本語なら)」とときどき思います。(←嫌なヤツ)
でも世界に向けたアウトプットはやってないので、「僕だってこれぐらい書ける」と思っていても世界のエンジニアは僕の存在には全く気づいていない。
悲しいことに僕は世界レベルでは全く評価されていないわけです。
さて、そんなわけで、なぜアウトプットが重要になるのか、そして客観的に見たときに自分はどれくらい評価を得ているのか、僕の事例を参考にしながら、みなさんも自分自身について考えてみてください。
まとめ
最後は「世界レベルで~」みたいな大きな話になってしまいましたが、もともとこのエントリでは「技術力以外でWeb系企業に転職するために必要なスキル」をテーマにしているのでした。
「技術力を上げるぞ!技術力!技術力!!技術力!!!」もいいですが、ベクトルが「内」にばっかり向いていないか注意してください。
評価は自分ではなく他人が決めるものです。
相手が自分をどう見ているのか、そもそも相手は自分に興味を持ってくれているのかどうか、もっと言うなら自分の存在をちゃんと認識してくれているのか、そうしたポイントもチェックしてみましょう。
さて、僕もそろそろ英語でブログ書かなくちゃ!!(がんばります・・・)
あわせて読みたい
「技術者としてなんとなくこのままじゃダメな気がする」と感じている人は「情熱プログラマ」を読むのがオススメです。
僕もこの本の影響で自分の意識が変わった部分がたくさんあります。
- 作者: Chad Fowler,でびあんぐる
- 出版社/メーカー: オーム社
- 発売日: 2010/02/26
- メディア: 単行本(ソフトカバー)
- 購入: 24人 クリック: 683回
- この商品を含むブログ (126件) を見る
本文で「技術書を200冊ぐらい読んだ」と書きましたが、こちらのエントリではその中でも特に役立っている本をまとめています。
おまけ:転職時は自分とその会社との相性も見極めよう
その昔、転職を考えている頃に面接を受けたあるIT系の会社では、技術ブログの執筆やその他の「社外活動」をアピールしても、まったく興味を示してくれませんでした。
その会社はホームページ上では「今どきのIT企業」っぽいオシャレな作りになっていましたが(ゆえにちょっと期待していた)、面接の内容を含めて「昔在籍していたSIerと同じ臭い」を感じたので、面接後にこちらからお断りさせてもらいました。
こちらが「評価してもらいたい」と考えている部分に食いついてきてくれない会社は「自分と相性が悪い会社」なので、転職時はそういう点にも注意した方がいいと思います。