プログラミングのお仕事だけでは一生食べていけません?!スキルアップの為の基礎知識と考えてください!!
聞き流し用動画(YouTube)
はじめに
お仕事を選ぶ時、「プログラミングをやりたい」と考える人は少なくないと思います。
この「やりたい気持ち」を否定するつもりはありません。
むしろ、興味があるならば、身につける事により、「スキルアップ」となります。
ただし、お仕事は「やりたい気持ち」だけでは、「一生、食べていく事」はできません。
「プログラミング」は、あくまでも「基礎」と考えるべきです。
その「基礎」を活かして、「今後、一生食べていく為の技術」を身につけていく必要があります。
一生食べていけない理由:外注化
「一生食べていけない理由」の一つに、「プログラミングの外注化」があります。
お話しの前に「開発」について触れたいと思います。
「開発」には「開発工程」という、「開発をおこなう順番」があります。
- 要件定義(要求定義)
- 外部設計
- 内部設計
- プログラミング
- 単体テスト
- 結合テスト
- システム(総合)テスト
- 運用テスト
- システム移行(リリース)
- 運用・保守
これは、情報処理の試験にも出るところですが、大きなシステムにしろ、小さなシステムにしろ、こうした「工程」があります。
一般的に「開発」と言われているのは、「要件定義(要求定義)」から、「システム(総合)テスト」までとなります。
「要件定義(要求定義)」「外部設計」「内部設計」までは、「上流工程」と言われています。
この「上流工程」では、「システム化の企画の立案」「要望の収集」「実現可能な設計」を検討・対応していきます。
この為には、「お客様の考えを理解する能力」が必要であり、そして、それが「実現可能なのかを判断する能力」も必要となります。
したがって、お客様からの聞き取りや交渉をおこないながら、「お客様が求めている事の実現」を目指す事ができる、「上流工程」が対応できる人材が、今後も求められ続ける事となります。
「実現可能なのかを判断する能力」は、「プログラミング」を学んだ事がある人は、それだけ知識がある為、有利となります。
したがって、「プログラミング」で学んだ事を基礎にして、「技術力の向上」する事で、「今後も、求められ続ける存在」となり、「一生食べていける事」となります。
そして、問題の「プログラミング」となりますが、基本的には「プログラミング」と「単体テスト」を対応する事となります。
「プログラミング」は、「上流工程」の「外部設計」や「内部設計」で検討された情報をもとに、「プログラムの作成」をおこないます。
「プログラムの作成」では、それぞれの開発プロジェクトによりルールはありますが、基本的には「外部設計」や「内部設計」が理解できれば、「プログラミング」が可能となります。
この「プログラミング」をおこなう時、「お客様の考え」を理解する必要はなく、単純に「外部設計」や「内部設計」に従う事となります。
逆に言うと、「外部設計」や「内部設計」さえあれば、「プログラミング」は可能となり、「プログラミングの知識」さえあれば、誰にでも対応が可能となります。
そして、ここで出てくるのが「人件費」となります。
「人件費」は安ければ安いほど、売上に対する利益が多くなる為、できるだけ「人件費」を抑える事で、利益が増える事となります。
そこで、「プログラミングの知識」さえあれば、誰にでも対応が可能ならば、この「プログラミングの人件費」を抑える事を考えます。
例えば、「プログラミングは外部の会社に委託する」などとなります。
これを「外注化」と言います。
「外注化」する事で、「プログラミング」は「外部の会社」が対応する為、「出来上がったプログラムの検証」だけで済む事となります。
もちろん、「プログラムの検証」にも、それなりの「プログラミングの知識」は必要ですが、それほど多くの人を確保する必要はありません。
また、「外注先となる外部の会社」も、人件費を抑える為に、「人件費の安い、海外の技術者」を利用する流れとなっています。
したがって、「プログラミング」しかできない人は、お仕事がなくなっていく事となり、これが「一生、食べていく事」が難しい理由となります。
一生食べていけない理由:パッケージ化
「一生食べていけない理由」のもう一つが、「パッケージ化」となります。
「パッケージ」とは、例えば「マイクロソフト社のオフィス」など、製品として販売されているものです。
「パッケージ」は、「仕組み」を販売していると考えてください。
この「仕組み」が利用可能な会社であれば、わざわざ「開発」を依頼する必要はありません。
したがって、「プログラミング」は必要ありません。
また、最近の「パッケージ」は、会社独自のルールを「色々なパラメータの設定」で実現が可能となっています。
したがって、「プログラムの知識」も不要となっています。
この「パッケージ化」ですが、急速に増えた原因となっているのが、「クラウド化」となります。
「クラウド化」は、インターネットに繋げられる環境があれば、どこからでも「パッケージ」が利用可能となる仕組みです。
会社で独自に「開発したシステム」は、作るのも、維持をするのも、費用がかかります。
「パッケージ」は、「開発費」はかからず、維持をするコストは利用料のみとなります。
また、「クラウド化」の利用により、セキュリティーやバックアップの心配が低減されます。
したがって、「パッケージ化」が進むことにより、「プログラミング」の需要が減っていく事となります。
ただし、「パッケージ」の一部で、「プログラミングの知識」が、必要とされる場合があります。
例えば、「スクリプト」などの簡易言語です。
しかし、それも「一生食べていけるほどの需要」となる事はありません。
simacatより一言
「プログラミングを勉強しても意味がないのか?」という疑問については、利用価値はあると思います。
ただ、それだけで、「一生食べていく事」は難しいと言う事です。
「プログラミング」をやりたいのであれば、あわせて「開発の上流工程」についても、しっかりと学ぶようにしてください。
なお、会社の規則違反にならなければ、「プログラミング」を「副業」とする事ができるかも知れません。
もし、これから「プログラミング」をはじめようと考えている人は、家でも「プログラミングが可能な言語」を学ぶようにしてください。
コメント