システム開発は、コンピュータの歴史と連動している。
システム構成は、汎用機システム・オフコンシステム・クライアントサーバー方式・ウェブ方式へと移り変った。
ターゲットマシンが変わり、それに伴ってターゲット言語も変った。
最近のキーワードは、ウェブ・クラウド、モバイル端末。
タブレット・スマホが個人に広く浸透し、更に市場に変化が起きた。それに伴って開発手法も大きく変ってきている。
開発手法は時代と共に変ってきているが、当時と今も変らないものがある。
それは、最初 044 職場がSEに育ててくれるのさ (SE #2) に提起した内容だ。
(01) 業界動向に精通していること
(02) コンピュータの基礎知識(公的資格がスキルの目安になる)
(03) 業務知識(業界/業務知識は必須)
(04) 簿記知識・会計知識
(05) どれか一つのプログラム言語を完全制覇する
可能であればコンパイル言語(C、Java、C++等)が理想
(06) 要件定義、基本設計能力(そのうち経験する)
(07) 企画・提案書作成能力(そのうち経験する)
(08) 文章読解力、記述力
(09) 提案力、交渉力
(10) プロジェクト計画、要員配置(そのうち経験する)
(11) コミュニケーション能力
唯一、訂正をするとすれば、5番目の「可能であればコンパイル言語(C、Java、C++等)が理想」の箇所だ。
今もシステム構築における必須言語であることに変わりないが、20年後に第一線で活躍している言語か分からない。
数回に分けて記載したが、言語はシステム構築における手段でしかない。言語だけを一生懸命勉強しても駄目なのだ。時代が変れば言語は変る。
繰り返すが、開発言語は出来なくてもSEの仕事は可能だ。
さりとて、言語を知らずしてこの業界の第一線で活躍するのは別の才能がないと厳しいかもしれない。
家電業界を見て欲しい。
カセットテープはどうなったか? VHSビデオはどうなったか? テレビは今のようにデジタルで薄型だっただろうか? どれも進化を続け製品は入れ替わっている。
コンピュータだってとんでもなく進化した。
ソフトウェア技術者だってそれに合わせて進化しなければいけない。
日々勉強することが苦にならない人だけが生きていける。
このコラムの最初に戻って最初から読み直して欲しい。若ければ若いほど修正は効く。未来は何とでもなるのだ。
あ~あ、年寄りじみた内容になってしまった。