私は社会人になってから一貫してコンピュータ関連の仕事だけをしている。
自分が初めて出会ったコンピュータは、超がつく大型汎用機だった。
プログラミング作業から徐々にシステム設計を行い、SEと称されるシステム構築作業を長く経験してきた。
業種は銀行・証券・損保・信販・製造・物流・流通など、一部上場企業の大規模システムが中心だ。
勿論、小規模システム開発も多数経験している。
手前味噌ながら、丸の内にある某銀行本店での常駐開発、東京証券取引所の株式売買システムをそのまま応用した東京工業品取引所の金銀白金等の先物取引システム、日本最大手の信販会社のオーソリシステムと情報系システム、世界規模の株式売買システム、一部上場物流会社での物流システム、銀座にある某化粧品会社の人事システム、上場大手製造業の原価管理システム、昨今は規模は極端に小さいながらウェブベースの作業など。
これは実力でも何でもない、時代に恵まれていたからだ。
ドラマ『踊る大走査線』の名言、「事件は会議室で起きてるんじゃない、現場で起きてるんだ!」ではないが、机上の論理だけで良いシステムは絶対出来ない。
現場を見て、現場担当者や関係者とヒアリングを行い、業務の流れを十分理解した上で、仕組みとデータの流れを考え、仕様を描きシステムに落とし込む。
その過程にターゲットマシンが決まり、業務処理に合わせてプログラミング言語が決まる。
よって、プログラム言語はシステム実現の道具でしかない。
何故か、システム構築を経験すると色々な業界を知っている錯覚に陥る。
例えば、物流の倉庫システムでは、実際に成田空港の保税エリアを見学に出かけ、倉庫内の貨物の流れを見て回る。
証券の某システムでは実際に仮データを起こし、テスト機で本番さながらのテストを繰り返す。
銀行システムのテスト工程は想像を超える。プログラムの全ロジックを通過させる位の緻密なテストをしなければOKが出ない。
テストのために有り得ないデータを作成することがいかに不毛で辛い作業か理解できるだろうか?
今は独立して小さな事務所内で作業することが多くなり、大型プロジェクトを経験する機会が極端に少なくなったが、過去のシステム開発経験は全て自分の資産となっている。
応募者の面接では、業界を知らないばかりに遠回りをしている人が実に多い。
やみくもにJAVA言語を勉強したって駄目なんだな。
SEってどうすればなれるの?
実体験で綴ります。