Youtubeで堀江さんのビデオで「プログラマは稼げるのか?」が上がっていたのでシェアします。
質問:
これからの時代プログラミングが重要となる
との声が高まる一方で、プログラミングは途上国へ
アウトソーシングされ、プログラマーは過酷な労働環境の割には
安く買い叩かれるという話も聞きました。プログラマー全体で見てこのような状況(低賃金で過酷な労働)は
これからも続くのでしょうか?
あるいは日本特有の現象なのでしょうか?当方主観でAndroidアプリの開発をしたいと思い
Javaの勉強を始めました。
プログラミング初心者ですが将来的には
プログラマーに転職も選択肢として検討しています。しかし巷で言われているような過酷な仕事であるならば
二の足を踏んでしまいます。日本特有の現象であるならば海外で就職という方法もあるとは思いますが。
堀江さんの解答:
田中の所見です。
プログラマーの仕事に関しては
重宝されるプログラマ と そうでないプログラマ
で雲泥の差があります。
私の場合はWEBとかマーケティングに関係した業界のプログラマという前提で今回の話題に触れています。
基幹システム系のプログラマだったり、最近流行りのAI関係や自動運転技術関連のプログラマだったりとかだとまた事情が違うと思います。
私の関わっている業界ではプログラマは人手不足で売り手市場です。
基本的に給料は高いです。
ですが、金をもらっても雇いたくないプログラマというのも居ます。
なぜかというと
「プログラマの生み出す成果物の質は、労働時間に比例しない」
からです。
優秀なプログラマは、恐ろしいほど短時間でハイレベルでバグの無いプログラムを構築します。
ですが、微妙なプログラマは時間がかかる割にバグが多かったり手直しが必要なプログラムを書いてしまいます。
ですので、100時間かけて作りました。だから時給計算してXX円ください。
と言われても、払える金額は桁が変わるほど違ってきます。
頭のキレるプログラマになれるかどうか?はキャリアとか経験、資質によるところがあるような気がしていますが
そうでなくても高給取りになれるプログラマも存在します。
それが「重宝される」という言葉に集約されるわけですが
どういうことかというと
「利用者の目的を過不足なく快適に利用できる機能を構築することができる」
ということです。
プログラムの場合、利用する人と依頼主が違う場合も多々ありますが
利用者に使われなければそもそも意味がありません。
利用者が使いもしない機能を依頼主があれやこれやと追加したがることが多いのがシステム開発の常ですが
利用者が本当に使える機能が何か?を考えて構築できる。
それが多すぎず少なすぎずということがポイントです。
機能盛りだくさんでも、何がどこにあるかわからず、実装するのに手間がかかった割に使われていない機能が大量にある。なんていうシステムは多々あります。
プログラミング上複雑なことをしないで、シンプルな機能の組み合わせでそれが実装できればそれで良いわけですから、機能的な技術的なことにこだわるのではなく、「利用者に本当に必要で使える機能」にフォーカスできるか?ということです。
たとえばWEB関係の業界では会員サイトを作りたいとかポイントサイトを作りたいとかダウンロード販売を始めたい。とかそういった依頼田は多々ありますが、大半は昔ながらの掲示板とかブログ機能とメールフォームの延長でしかなくて、それらを組み合わせるだけで実現できることがほとんどです。
クライアントは「専用」のものを位置から作りたがる(スクラッチ開発)のですが
「ありあわせ」でとりあえず運用を開始してしまって、後から本当に必要になってきた機能だけを付け足していく。
ある程度規模が大きくなってきた時に、現状の機能では不具合が出てきたりまかないきれない状況になってきて初めて独自のシステムとして開発を検討する。
という風にすれば良く、「重宝されるプログラマ」はそういった「実質的な利用」の部分をよくわきまえている人だということです。
まぁ肩書はプログラマといいつつ、それ以前の人がいるのも事実なので
そういう人はもう少し勉強をしてほしいなと思うわけですが
本題の「稼げるプログラマ」になりたい。という前提の話で言えば
「利用者が扱えるものを有り合わせつぎはぎでいいので、短納期でまず形にしてテスト運用できるようにしてくれる人」
を目指せば絶対に食いっぱぐれない。
という感じかと思います。