ソフトウェアエンジニアが労働について情報発信するブログ

ブラック労働からホワイト労働まで経験したソフトウェアエンジニアが世の中にとって役立つことを情報発信していく。

エンジニアが「ソースコード」を書くことにネガティブなマインドを持つ必要はないと断言する

当ブログではアフィリエイト広告を利用しています

日本の場合、ITエンジニアと言えば、新卒でIT企業へ入社し、「プログラマー」としてプログラミングの経験を積む。そしてその経験を積むとプログラミングだけでなく、要求元から要求をヒアリングしたり、システムを設計する「システムエンジニア」(SE)となる。

そして段々と「下流工程」の業務から「上流工程」への業務とステップアップしていく。

更には、マネージャー、管理職と昇進していくのが、日本の企業における一般的な「レールの上を走る」イメージだろう。

このような一般的に言われていることに目を向けると、あたかも「ある程度年齢を重ねたエンジニアがソースコードを書くこと」に対してネガティブなイメージを持たれてしまうことが多い。

このことについて、そうではない考え方があるので紹介しようと思う。


1.当たり前だが「プログラミング」がなければ、システム開発が成り立たない

まず当たり前のことであるが、システムやソフトウェアを伴う製品開発には、「プログラミング」という工程があり、ここがないと全体が成り立たないのである。いくら、製品やサービスの企画部門が良いアイデアを出したところで、何も実現しないのである。今の世の中があるのは、「プログラマー」を含めた「ソフトウェアエンジニア」のおかげだと言っても過言ではない。

システムや製品開発には、各工程を表す「V字モデル」というものがある。詳しくは他のページや情報処理技術者試験の参考書等を見てほしい。

「(1)企画・構想」~
「(2)システム設計」~
「(3)ソフトウェア設計」~
「(4)プログラミング(実装)」~
「(5)単体テスト」~
「(6)結合テスト」~
「(7)システムテスト(総合テスト)」~
「(8)運用テスト」

詳細は書籍やWebサイトによって異なるも、概ね上記のような形で紹介されているだろう。

そして(業界の人間でなければ馴染みのない言葉だが)「上流工程」「下流工程」という言い方があり、概ね次のようなイメージだ。

  • (上流工程)「(1)」>「(2)」>「(3)」>「(4)」(下流行程)
  • (上流工程)「(8)」>「(7)」>「(6)」>「(5)」(下流行程)
  • 「(1)」~「(4)」は企画・設計・作成側、「(5)」~「(8)」はテスト・検証側

ソースコードを書くのは上記工程の「(4)」、そのためのソフトウェア設計は「(3)」にあたる。ソースコードを書く工程「(4)」や、その対となる単体テスト「(5)」は、「下流工程」に位置付けられる。

2.「プログラミング」は高いスキルを必要とする!「下流行程」などと軽視すべきではない!

私はこの、「上流工程」「下流工程」の呼び方をあまり快く思わない。

前述したように、システム・製品開発には、「プログラミング」は避けて通れないどころか、ソフトウェア設計やプログラミングは高いスキルが必要である。「上流」「下流」などではなく、各工程をフラットに捉えられるような呼び方が良いのではないかと思う。

システム・製品企画ばかり行っている人が、「プログラミング」できるかというと、そうでない人の方がほとんどだし、「下流工程」を下請け企業に丸投げなどというケースもある。

ソフトウェアがシステム・製品の価値を提供するにも関わらず、そのことを未だに理解していない企業も多いことが、日本の製造業が衰退し、海外に差をつけられてしまった結果に繋がっている。

逆に「プログラミング」をやっていた人が、「エンジニア」となり、「システム設計」、「仕様提案」、「企画」と「上流工程」へスキルの幅を広げることは、歓迎されている。でも、「ソフトウェア設計」「プログラミング」を軽視してはいけない。

技術的な話になるが、システム・製品に何が求められるかによって、あるべき設計が変わってくる。処理速度なのか、プログラム容量(サイズ)なのか、移植性なのか、拡張性なのか、わかりやすさなのか、・・・。様々な制約の中、このあたりを最適に仕上げていくことは、至難の業である。「ソフトウェア設計」「プログラミング」の腕の見せ所、即ち高いスキルを必要とするのだ。だが、エンジニア以外の多くの人たちにはこのことがあまり知られていない。

「上流工程」のほうが「下流工程」よりも、待遇が良いことが多いのだが、「下流工程」はスキルは必要だが待遇は良くないというケースが珍しくない。まだまだ「下流工程」が軽視されている証拠だ。下流工程」こそ良い待遇が必要なのではないかと思うくらいだ。

3.日本の一般企業以外では、「プログラミング」を軽視することはない

前述した通り、「プログラミング」はスキルが必要な仕事だ。ソフトウェア設計、システム設計と「上流工程」をカバーできるエンジニアは尚良いというだけであって、「プログラミング」を軽視して良いわけではない。

海外では「プログラミング」は専門職として扱われ、熟練したスキルを持つエンジニアが職務にあたり、高い報酬を得る。日本企業のように、「提示された仕様書通りにプログラムを書く」という位置づけではない。昔、海外では管理職でもソースコードを書くのが当たり前だという話も聞いたことがある。日本の管理職は、上位になればなるほど実務から離れていく。英語ができて、海外で生活してもいいという人にとっては「プログラミング」のプロとして生きていくのも十分ありだと思う。

また、副業での「プログラミング」はスキルアップするほど収入が増えていくとの情報もある。扱う言語が増えれば個人で受注できる案件も増えてくるし、頑張れば頑張るほど収入が増えると言われている。対して、日本の企業で頑張れば頑張るほど収入が増えるかというとそうではない。

「プログラミング」に限った話ではないが、よく「収入を増やしたいなら、スキルをアップせよ!」と言われることがある。スキルアップは重要だが、それよりも重要なのは「収入を多く得られる環境へ身を移すこと」である。転職でも、副業でも、フリーランスでも良い。スキルのみアップしてもそれが正当に評価されなければ意味がないのである。評価されても、企業に属している以上、給与が大幅に上がることはない。「プログラミング」スキルや「エンジニア」を軽視するような体質の組織であれば、それがおかしいと見抜くことが必要なのだが、そのような環境にしか身を置かない人にとっては「そんなもんだろう」と思ってしまうのである。

4.最近は「スペシャリスト指向」や「プログラミング」への理解が得られつつある

私自身も開発チームのリーダーを担当していた頃は、プレイングマネージャーとしてソースコードを書いていた。周囲からはどのような目で見られていたかわからないが、私はそれほど苦痛ではなかった。元々、自分でコードを書くことも好きな方だから、そうなのかも知れない。

最近は、「プログラマー」→「システムエンジニア」→「プロジェクトリーダー」→「プロジェクトマネージャ」→「管理職」のようなキャリアプランのみならず、技術のスペシャリストとして「生涯エンジニア」というキャリアプランもある。「ソフトウェアエンジニア」が必要とされている時代だけあって、以前は「プロジェクトマネージャ」や「管理職」が中心であった40代以降の求人も、今では技術のスペシャリストといった求人も出てきている。フリーランスという働き方もある。働く人の価値観も多様化しており、企業側もそれに対応する必要がある。

「プログラミング」に関しては、最近「プログラミングスクール」というものが現れてきている。必要なスキルの一つと認識し始めたのだろうか?

スカイマークの社長が「プログラミング」を学んだという話は有名だ。航空会社の社長が「プログラミング」を学んだ理由は2つ。

  • データ収集をしたいと思うが、実現可否や難度を見極めたいため。
  • 自分でアプリを作りたいという思いがあり、まずは基礎から勉強したい。

意識が素晴らしいと思った。
tech-camp.in

自分で考え、自分で手を動かして、自分で学ぶ、これができる人材は本当に強い。「ソフトウェア開発」や「プログラミング」を軽視して下請け企業に丸投げする企業や、「ソースコード」を書くことにネガティブなマインドを持つ人とは大きな違いだ。

更に、現代ではご存じの通りエンジニア不足がより一層深刻になっている。少し前ならば、30代後半、40代になってもマネジメント経験のない人は転職市場では厳しいと言われていた。しかし、状況が変化する速度には驚くものがある。40代のエンジニアを確保することが困難になってきている。50代のエンジニアを採用した成功事例がある。若手のエンジニアが不足し、働き方や働く人の価値観が多様化してきた現在、製品・システム開発現場から離れたマネジメント層(管理職)よりも、現場での実務経験が豊富で高いスキルを持った40代、50代のエンジニアが重宝されているとのことである。システム開発の実務が出来て、ソースコードも書けて、スキルのあるエンジニアは、やはり市場から声がかかるものだ。自分の市場価値が知りたければ、まずは転職サイトに登録することだ。

転職ドラフトは年収UP率93.8% / 平均年収UP額126万円と圧倒的な年収UP率を誇るエンジニア向け転職サービスです。審査に通過した優良IT/Web系企業約150社が参加しており、企業がダイレクトスカウトを行うため、質の高いマッチングにより、前述のような高い年収UP率を実現しています。「現年収を元に内定年収が決まる」ことは一般の転職エージェントにありがちですが、こちらは現年収非公開で転職が可能であり、スカウト時点で内定年収を提示いただけるため、求職者にとってありがたく、効率の良い転職活動が可能となります。年収アップを目指したい方は、是非ご検討されてはいかがでしょうか?




IT業界に特化し、親身にキャリア相談に乗ってくれる、転職エージェントがございます。取扱求人数の多さを謳い、大量の求人を紹介してくる大手の転職サービスと異なり、しっかりと内容のある、エンジニア本位で品質の高いサービスを提供していただけるため、IT業界で転職をお考えの方は、是非一度ご利用を検討していただきたいエージェントです。