こんにちは、ヒトシです。
いつもブログを読んでいただきありがとうございます。^ ^
今回のテーマは
「プログラマーとしてどんな生き方が楽しいのか、どんな仕事選びをすると失敗しやすいのか」
についてお話したいと思います。
・プログラマー、エンジニアとして現在進行形で活躍されている方
・これからプログラマーを目指したい方
・プログラマーとしての生き方を考えている方
にとって少しでも参考になる記事になればと思いながら執筆します。^ ^
プログラマーじゃない人でも、プログラマーという仕事を知って、自分の経験やスキルの1つとして取り入れてみようかなー!と思える記事になればと思います。
実際に僕も現在進行形で「プログラマー」「システムエンジニア」と呼ばれるような仕事をしながら、
自分の理想の働き方、プログラマーやエンジニアとして楽しく仕事するためにはどうしたらいいんだろう?
ということを考えながら日々過ごしています。
なので、この記事を読んだからといって
「理想のプログラマーやエンジニアの生き方」
が見つかるわけではありませんが、エンジニアとしていろんな経験をしてきて、良かったこと、良くなかったこと、これは今後もやっていきたいと思うこと、これは早めに手放すべきだと思うことなど、赤裸々に書いていこうと思います。
プログラマーやエンジニアという仕事で、人生を楽しいものにしていきたい、と思う方の参考になればと思いますので、ぜひ最後までお付き合いください。^ ^
プログラマーという仕事は、楽しい
まず前提ですが、プログラマーという仕事は、めちゃくちゃ楽しいです。笑
プログラマーってどういう仕事なの?という人もいるかと思いますので僕なりに簡単に解説すると、
「プログラミング言語というものを使って、アプリやシステムなどを作る人」
です。
最近はスマホ使っているのが当たり前なので、スマホを例にお話すると、
スマホのアプリを作ったり、スマホ自体の機能(ボタンを押したら画面が明るくなる、アプリを追加したり削除したりできる等)を作ったりする人です。
ちょっと難しい言い方をすると「プログラミング言語でコンピュータを制御する人」「プログラミング言語でコンピュータに命令する仕組みを作る人」とも言えます。
あまりコンピュータに馴染みがない人に伝えるとするなら、
プログラマーは大工さんみたいな感じです。
「アプリ」というものを、トンカチじゃなくてプログラミング言語で組み立てていくようなイメージです。
伝わりますかね?笑
大工さんをイメージしてもらったら分かると思いますが、
最初何もないまっさらな土地に、木や壁や屋根を組み立てていって、最後は家ができて完成!
プログラマーも同じように、最初は何にもないコンピュータに、プログラミング言語を使って仕組みを組み立てていって、最後はアプリができて完成!
というように、0から1を作る仕事なんです。^ ^
作っている途中も自力で作っている感が楽しいし、完成した後も自分が作った物が実際に動いて、実際にユーザーに利用されて、良くできてるねー!って褒められて。
そんなの絶対楽しいに決まってますよね。笑
僕も今でもプログラミングしていると楽しいし、動いているのみると嬉しいし、それが実際に使われて「良いねー!」って言われたら、もうこれ以上言うことないです。
とにかく楽しい仕事です。
ですが、
「一生続けていく仕事か?」
「一生続けていけるのか?」
「一生プログラマーって幸せか?」
という質問に、当時の僕は自信を持って「Yes」が言えなかったんですよね(^^;
なので今は「現役エンジニア」というよりも、「現役でエンジニアもできるパソコン強い人」みたいな風になっています。笑
(あ、ここではプログラマーとエンジニアはほぼ同義と思ってもらって大丈夫です)
でもやっぱり楽しいし、自分に合っていることはわかっているので、引っかかる原因は何なのか、どういう道だったら幸せなプログラマー、幸せなエンジニアに近づけるかを考察してみたいと思います。
プログラマーが苦しくなる原因は何か?
なぜ僕が「プログラマーとして一生幸せに楽しくメシ食っていけるか?」という質問に、自信を持って「Yes」と答えられなかったか、プログラマーのデメリットはどんなことがあったのか、というお話をします。
ここでは「信念のなさ」とか「意志の弱さ」みたいな話は一旦横に置いておいて、プログラマーとしての業種的な問題について解説します。
問題1:この仕事、どこからきたの?終わらないんだけど
プログラマーとして仕事をする上で、その仕事がどこからきたものか?どういうものなのか?というのは結構インパクトが大きいです。
例えば、その案件が自社システムや自社サービスの開発案件なのか、他社から請け負った受託案件なのか、あるいは他社が請け負っている案件の一部を業務委託という形で請けているのか、など、あなたが所属している会社がどういう立ち位置でその仕事に携わっているかは非常に重要です。
もし仮に他社案件を請けている場合は、あなたの会社が元請けなのか下請けなのか、下請けだったら何次請けなのか、
この案件にどれくらいの会社や人員が関わっていて、どれくらい指揮系統が取れていて、各社でどれくらいうまく役割分担ができているのか。
自社システムや自社サービスの場合は、予算やスケジュールやリソースにどれくらい余裕を持たせられているのか。
つまるところ企業風土に拠るところが大きいわけなんですが、さらに案件規模やプロジェクトマネージャーの力量にも左右され、多くの案件で「こんなはずじゃなかった」という嘆きと共に、毎日残業しても全然ゴールが見えないという悲惨な事態が起こりやすい業界でもあります。
なかなか悠々自適にプログラミングして、アプリやシステムを作って、たっぷり給料や報酬がもらえる、というわけにはいかないんですね(^^;
なので現場のプログラマーやシステムエンジニアは、どんなに振り回されても、しんどくても、何とか歯を食いしばってプロジェクトの炎上を食い止めるのに躍起になって、神経をすり減らす、ということが起こりやすいので、
仕事を続けているうちに
「あれっ?俺このままプログラマー続けててもいいのかな?」
「この仕事結構しんどいな」
と思う人が増えているのが実情です。
問題2:プログラマーという仕事に対する対価って合ってる?安くない?
プログラマーという仕事はクリエイティブな仕事かつ、基本的に失敗が許されない(プログラムが正常に動くことが当たり前)なので、非常に頭と神経を使います。
やっている側としては、それも含めて「楽しい」「やりがいがある」とも感じますし、そういう仕事を楽しめる人は間違いなくプログラマーに向いてます。
ですが、それだけ頭を使って使って、神経を使って使って、日本の給与水準だと年収300〜500万程、フリーランスになっても月に50〜100万程の水準です。
アメリカだったら会社員でも平均年収800万以上なので、いかに日本でプログラマーという職種が軽んじられているか一目瞭然ですね(^^;
その上でプロジェクトの炎上など、さらにエネルギーを消耗するような状況になれば、ますますやりがいを見失ってしまいやすくなります。
この仕事内容と収入のバランスについては人それぞれですが、特に業務過多になって、このバランスが崩れてしまう人も多いので、後からお話するプログラマーとして仕事する上での基本戦略は大事にするといいと思います。^ ^
問題3:また新しいの出たの?ついていけないよ・・
IT業界って非常に進化のスピードが速い業界なんですよね。
新しい技術がどんどん出てきて、同時進行でバージョンアップを繰り返しているので、プログラマーやシステムエンジニアなどの「開発者」はその変化についていくしかありません。
技術領域も多岐に渡るので、全部を習得するのはほぼ不可能です。
そのためどのプログラマー、エンジニアも自分の技術領域を取捨選択して開発しているわけなんですが、
案件が変われば使用する技術も変わってくるので、また1から覚え直し、ということが頻繁に発生します。
正直これは「新しい技術を覚えることを楽しめる人」だったり、「プログラミング言語や技術の本質を抑えている人」であれば、さほどネガティブな要素ではありません。
ですが人によっては
「一生懸命覚えた技術が次の案件で使えないから、また頑張らないと・・」
という状況についていけなくなり、プログラマーではない別の道を模索し始めます。
特に年齢を重ねると新しい技術を覚えること自体に抵抗が生まれたりしやすいので、30代過ぎてから次のキャリアを目指す人が特に増えます。
いわゆる「プログラマー35歳定年説」と言われるものですね。
この問題をどう乗り越えるか?
今回は問題を3つほど取り上げましたが、だからと言ってプログラマーという仕事が必ずしも辛い仕事かというとそんなことはありません。
どんな仕事でも大なり小なり問題はありますし、それをどういう風に回避しながら、より自分らしく、自分の理想に近い形で仕事をするか、と言った身のこなし方の方が大切です。
上記の問題は全て、あなた1人の力じゃどうしようもない出来事なので、これをどうにか変えようと思う方に進むと、おそらく人生苦しくなっていきます。
僕の場合は、自分がプログラミングが好きだってことを横において、
「やっていることに対して、対価あってなくない?」
という考えで行動を起こして、見事にそれが間違いだったと気づきました。笑
結果的には行動して得られたものの方が大きかったので良かったんですが、1番知っておいてほしいのは
「あなたがどういう立ち位置にいるのか」
→「社会やビジネスの全体像の理解」
「どういう状態だったら幸せだと感じることができるのか」
→「自分自身の理解」
がめちゃくちゃ重要!ということです。
プログラマーという職業の性質上、なかなか社会やビジネス全体に目を向けることが難しいと思うのですが、いわゆる「案件ガチャ」に振り回されないで済むように、しっかりと理解されることをおすすめします。
そうすれば目先の給与や技術領域などで会社を選ばなくなり、どういうポジションを取れば仕事が安定して回る状況で高収入を得られるようになるのかが見えるようになります。
プログラマーという仕事に対して「やりがい」をなくさないために非常に大切なことなので、ぜひ一度、社会やビジネスがどうなっているんだろう?ということに目を向けてみてください。
その上で、自分の性格を考えて、プログラマーとして自分はどんな形で仕事をしたいのか、どんな仕事内容、条件だったら満足するのかをもう一度振り返ってみてください。
そうすれば、よりあなたらしい形でプログラマーという仕事を心から楽しめる人生に進むことが絶対にできます。
結局どんなプログラマーが幸せなのか?
この答えを明確にすることはできませんが、必ずやった方がいいのは
「自分はプログラマーとして何がやりたいのか?どういう仕事の仕方が理想なのか?」
という質問に真面目に向き合うことです。
僕の場合は
・単純にプログラミングというクリエイティブな仕事を楽しみたい
・プログラミングの結果(成果物)が誰かの役に立ってほしい
・できるだけ自分のペースでやりたい、外部の状況に振り回されたくない
というところなので、フリーランスとして自分でコントロールできる仕事を自分のペースでやるか、しっかりとプロジェクトのコントロールができている会社で働くか、どちらかが一番自分の理想に近いです。
なので僕がもしまたプログラマーとしてどこかの会社にお世話になるとするなら、会社選びはめちゃくちゃ慎重にやります。笑
忙しいけどワクワクする仕事がある会社ならOKですが、ワクワクもしないのに忙しい会社は消耗するだけなので絶対に選びません。^ ^
プログラマーとしての会社選びのコツなども、またどこかでお伝えできたらしていきます。
あとはどんな技術領域を勉強したらいいか?なども、テーマにしてお話したいですね。^ ^
いずれにしても、地に足つけてないと簡単に足元掬われてしまいますので、プログラマーとしてのメリット、デメリットをよく考えて、それでも自分にはプログラマーという仕事が合っていると思えば、ぜひ前向きにその仕事に向き合ってほしいと願ってます。
僕もプログラマーという仕事の楽しさはとても良く分かっていますし、これからも僕なりのプログラマーとしての仕事を発展させていきたいと思っています。^ ^
長くなりましたが、最後までお読みいただきありがとうございました。
プログラマーという仕事が、あなたに合っていても、合っていなくても、どちらにしても生涯楽しめる仕事を見つけてほしいと思っています。
応援しています!^ ^