最近、「IT未経験でも高収入を得られます!」みたいな広告をよく見かけますよね。確かに今はITエンジニア不足と言われていて、いくらお金を積んでも人が欲しいなんて企業は沢山ありそうです。
「自分も未経験だけど高収入もらえるならやってみたいな」と思う人もいるはず。
しかし、実際はそんなに甘いもんではなく、IT技術者として、特にプログラマーとしてキャリアパスを間違えない為にしっかり伝えて置きたい事があります。知らないと損!知っていると知らないでは今後のエンジニアとして大きな差が生まれてしまう事です。
これからITエンジニアを目指す人も、今まさにITエンジニアの人も念頭に入れて今後のキャリアパスを考えてみてください。
技術がやりたい
さて、実際にIT現場の中でどんな声が挙がっているのかと言う所から話していきましょう。

俺はプログラムをずっと書きたいんだ!
なるほどです。その気持ちはわかります。IT技術者として根幹あるプログラムを作る仕事に従事したい気持ちはわかります。私にもありました。そんな時代が。
しかし、貴方がサラリーマンであるないに関わらず、社会人である以上何かしらの成果が求めらます。その意味をわかった上での発言なら問題ありません。

俺はプログラムをずっと書きたいんだ!
問題はこの発言の真意です。
「プログラム道を極めたい!」という強い意志があるのか、「ずっと今の仕事が良い」なのかどっちのなのでしょうか?
「プログラム道を極めたい!」と強い意志がある人。素晴らしいと思います。是非とも精進を続けてプログラム道を極めて頂きたいと思います。
「ずっと今の仕事が良い」の方だと思ったなら、それは賃金も今のままで良いという事になります。

いや!それは困る。給与(単価)も上がらないと生活できない!
と言う方。
少し考え方を変えた方が良いです。
プログラマーでいる事
残念な事にプログラマーの地位が低い企業と言うのがあります。しかし、実際そう言う現場で私自身が感じるのは、プログラマーと言う名の別の何かな気がしてならないのです。その人たちは真の意味でのプログラマーではないのですが、その組織の中ではプログラマーとして位置付けられているので、自分自身をプログラマーだと思っています。間違ったプログラマーです。
さて間違ったプログラマーとは何でしょうか?
言われた事をそのままコーディングをする。システム設計書通りにコーディングする。設計書通りに作業を行う人。それはプログラマーと言うよりコーダーです。言うなれば仕様書かかれている言語からプログラム言語に翻訳する様な人です。
コーダーそのものの仕事を考えると、工夫の余地が少ない仕事と言えます。仕様書をそのままトレースして変換する仕事です。仕事の内容が変わらないという事は給与(単価)をアップは狙えないんです。残念ながらコーダーは高単価は望めません。
それでは本物のプログラマーとは何でしょう
本物のプログラムとはなんでしょうか?新しい技術を常に探求する人でしょうか?たしかに好奇心があることは大切な事だと思います。しかし、それだけではまだまだ不十分です。プログラムが書けることにプラスのスキルが必要になります。
価値を提供する
プログラミングも「ものづくり」の一種です。「ものづくり」である以上、価値を提供する意識を忘れてはいけません。この価値を提供する意識がないまま「俺はずっとプログラムを書きたいんだ!」と言っている人が多いんです。特に間違った環境にいた人ほど多いと思います。そして、その意識がないままに来た人が突然「価値を提供」となっても、実際に何をして良いのかわからないとなってしまい路頭に迷う訳です。
ここがポイントです。意識をもっていた人とそうでない人との違いがハッキリと分かれる所です。環境によって大きく変わってしまう所です。
「価値を提供する」意識がない人達だらけの集団の中にいると、「価値を提供する」事をが分からなくなります。
さて、ではプログラマーが提供できる価値とは何なのでしょうか?
仕様通りに動くプログラム?バグが少ない?早く作れる?
答えはNo!です。まぁ、確かにいてくれたら助かります。しかしNo!なんです。
その成果物が個で完結している間はまだダメです。
その答えは「自分以外の影響を与える」事です。
成果物で自分以外に影響を及ぼす事が出来るようになれば本物です。
自分意外に影響を与えるとは何か?
プログラマーが自分以外に及ぼせる影響とは何なんでしょう?
これこそがプログラマーが追及すべきプログラム道の神髄です。この道を突き詰めていけば、一生くいっぱぐれる事が無い技術だけで、十分すぎるほどの報酬を得られる事になります。
実現不可能だと思われていた処理を可能にする
実現不可能だと思っていた処理を可能にする。パフォーマンスであったり難解なロジックを編み出したり。いわゆる天才プログラマーの類になります。ユーザーにこれまでにない価値を届ける事が出来ますよね。
全体の生産性を押し上げる
本物プログラマーは設計が出来ます。設計力がずば抜けてくると生産性を大幅に上げる事が出来ます。それは自身の生産性だけでなく周囲の生産性も押し上げる事が可能です。これはチームやプロジェクト全体もありますが、それだけでなく、会社全体や社会全体などその影響度合いを広げていく事も可能です。
いわゆる、難解な技術や専門的な知識を必要とされる知識を誰にでも扱えるようにする事です。
その昔、車の運転は非常に高度な運転技術を必要としていました。運転手そのものにスキルが集約されていました。それを車側にスキルをシフトさせる事で、運転手の技術がそれほどなくても車の操縦が可能な時代になっています。今や自動運転が当たり前になりそうなそんな時代になっています。これこそが技術を極めていく上で必要なマインドになります。
評価するのは自分じゃなくて他人
ここで大切な事があります。
周りに影響を与えている事を評価をするのは自分ではなく他人だという事です。自分ではありません。自分の功績を自分で讃える人はいないですよね。評価するのは他人になります。
私も良く失敗するのですが、自分でやった事を自分で評価して調子に乗ってしまう事があります。調子にのるとついつい余計なことをやってしまったり、大切なことを見落としたりと・・・次の大きな失敗に繋がってしまいます。
アピールするは良い事です。しかし、評価は他人です。その原理原則は忘れない様にしましょう。
この気持ちが何に繋がるのか。素直でいられる事につながります。自分を信じる事はとても大切です。自分を信じているならば、自分を評価している他人を蔑むのは止めた方が良いです。素直に受け入れつつ信じた自分の道を探せば良いのです。
プログラマーの目指すべき道
「“なれる”とか“なれない”じゃない、なろうと“する”か“しない”かの違いだ」
意識は結果に大きな違いを生みます。目指して簡単になれる様なものでもないですし、なれる保証だってありません。
しかし、なろうとしない限りなれないのも事実。まずはなろうと思う事が第一歩になります。その道中で沢山のものを手に入れる事が出来ます。それこそが貴方の人生を彩るパーツとなっていきます。険しい道には素晴らしいアイテムが沢山落ちています。平坦な道には何も落ちていません。
是非とも貴方を人生がより素晴らしいものになるためのアイテムを沢山ゲットしてください!
コメント
全くもってその通り!これから始めたいと思ってる人に是非この記事を一読していただきたいです。
自分と同じことを感じている人がいるんだ!と嬉しく思い、「そうそうそうそう」と思わず叫びながら読んでいました。
本記事でも取り上げていらっしゃいますが、ものづくりや技術は、社会を豊かにするための物ですよね。プログラミング自体が楽しいことは大いにわかりますが、プログラマーは社会を豊かにできる能力を持っていることを自覚し仕事に励むべきだと私も思いますし、プログラマーの仕事はコーディングではなく、成果物が使用される状況を考えその状況に1番適している形に仕上げることだと私も思っています。
入り口は面白そうだったり、高額収入(でも、結局サラリーマンなんでこれについては語弊があると思っています)だったり、なんでもいいと思います。自分なんか映画で見るようなハッカーに憧れて始めましたしね。
ただ、やる以上は「プログラマーはものづくりが”出来る”人間」なんだということを忘れないでほしいと強く思います。そしてそれと同時にものづくりが楽しいんだということを感じてほしい。
この記事を読ませていただいて、改めて自分が日ごろ抱いていた想いがより一層強くなりました。
是非この記事を広めさせていただきます!
良記事を書いて頂き、ありがとうございました。