プログラミングが根っから好きで、会社以外でも、自宅ではずっとプログラミングをやっている人にはプログラミングでは勝てません。
私が一緒に仕事をしている同僚にもそんな人がいます。
プログラミングスキルが超高い人と一緒に仕事をしていると、
「俺ってソフトウェア開発(プログラミング)の仕事をする価値がないんじゃないか」
「こんなにスキルが低くて存在価値はないんじゃないか」
と思わされることがあります。
周りの同僚と比べて、自分はソフトウェア開発、プログラミングのスキルが低くて、努力のレベルで解決すると思えないと感じた時に、
今後どうキャリア形成をしていくか、会社で生き残っていくかというお話です
スポンサーリンク
プログラミング能力が超高い人といると感じる「自分の存在価値は何?」
私はエンジニアとしてのキャリアはもうすぐ20年。
完全に会社では中堅(の年齢)。
仕事の役割分担がソフトウェア開発のエンジニアだからこそ、
めっちゃくちゃプログラミングスキルがあって、仕事が早い後輩と一緒にいると、
「自分の存在価値ってなんだろう?」
「後輩と比べてソフト開発のスキルが低いのに、自分がいる意味があるのか?」
と考えことが度々あります。
例えば先日、ある案件をその能力の高い後半と一緒に2人で行いました。
2人、別々の業務をすれば、スキルの差っていうのはあんまりわからないのかもしれません。
一方で、プログラミングのスキルをまざまざと比較せざるを得ない状況というのは、
同じ課題に対して、同じ部分を同時にプログラミングを行った時です。
明らかに後輩の方が完成するのが早いし、
問題がどこにあるのかに気づくのが早い。
解決しなければいけない対処法を見つけるのが早い。
通常、会社の業務は、2人が全く同じ仕事をすることはありません。
ですが、今回は、
既存の問題がどこにあるのか?
どう解決すればいいのか?
っていうのがわからない状況でした。そのため、2人とも、同時に、同じ業務をしたんです。
そしたら完全に後輩の勝ち。完全に私の負けです。
同僚との仕事なので、勝ち負けではないです。
けれども、もし、プログラミング、ソフトウェア開発のスキルの優劣を決めるのであれば、誰がみて、100%後輩の方が圧倒的にレベルが高い。
私より、キャリアが10年ほど少ない後輩の勝ち。
そういう状況の時、いつも思うのが、
「私の存在価値は何だろう?こんな低いプログラミングスキルの私が給料もらっていて申し訳ない」
そんな時、こう考えます。
プログラミングスキルが超高い人が、日ごろ割いていない活動から、自分の強みを発見する
まず、プログラミングの分野の能力が低いのは100%認めること。
努力で解決できることもあります。知識の面では、勉強すればカバーできるでしょう。
でも、プログラミングスキルというか、センスというか、これまでの人生で蓄積した能力については、どれだけもがいでも、その人に追いつけないことがあることにきがつくべきです。
よく考えたら分かります。
プログラミングスキルが圧倒的に高い人は、
土日とか、休みなんか関係なく一日中プログラミングをしているような人です。外にも出ず、ずっとパソコンの前にカタカタとソフトウェアを作るのが苦にならない人です。
一方、能力が低いと落ち込んでいる人の方?
土日に、プログラミングやっていますか?
会社以外でソフトウェア開発に関連する勉強や活動をしていますか?
っていう話。
土日や平日の夜、別の活動をしていませんか?
プログラミングスキルが高い人が、業務以外でプログラミングに関する活動をしているのに、
能力が低い方の人が、時間をかけてないのであれば、
負けるに決まっています。逆に、どんどん差が開くのは当たり前でしょう。
でも、ちょっと待ってください。
今、既にお気づきかもしれませんが、ここにヒントがあるのです。
プログラミングスキルが超高い人の生活パターンは四六時中、プログラミングをやっている。
別の言い方をすると、
プログラミング、ソフトウェア開発に関連しない活動に割いている時間が乏しいということ。
ここに着眼するのです。
1日中、プログラミングをやっている人達が、日ごろ時間を割いてない部分で価値を見出すしかないでしょう。
例として、私の場合で言うと、
- 英語のスキル
- プロジェクト全体と取りまとめたり、外部の人と交渉するスキル
多くのエンジニアが英語嫌いなのに対して、私は英語が好きです。毎日、英語の勉強は30分程度しています。TOEICは700点台。エンジニアの中では、まあ、そこそこ悪くない点数でしょう。
実際に、海外の人と英語で打ち合わせをするときは、私がよく表に出て率先してやっています。
それから、プロジェクト全体を取りまとめる仕事。
プログラミングを高速に行うスキルは、能力の高いプログラマーには私は100%勝てませんし、完全に2流か3流です。
でも、ソフトウェア開発の案件で、
「大局的に何をしなければいけないのか?全体的にこのプロジェクトはどういう方向性で動いていくのか?」
というのを見極めて、全体を動かしていくのはそれなりに出来ます。「出来ます」という意味は、プログラミングスキルが超高い、私が知っている「ある人」と比較しての話です。
プログラミングスキルが超高い人と比べて、
「自分だったら、別の能力のどこで勝てるか?」
を考えないと、いつまでたっても
「自分は役立たずのエンジニア」
と思い込む負のループに陥ります。
まとめ
同僚に比べて、
「自分は専門分野のスキル(ここでは、プログラミングの能力)が低い」
「頑張っても、その分野では絶対に勝てない」
と感じたら、
勝てないと思った相手の生活パターンを観察するとよいです。
会社以外の土日も含めた生活パターンです。
その人が時間を割いていない活動で、かつ、自分が土日や平日夜に行っている活動のところに、自分の強みを発見できるに違いありません
。
プログラミングスキルは、ビジネススキルのある一部分にしか過ぎない
と割り切ることが必要です。