yukungのブログ

yukungの技術ブログ兼駄文置き場 

3年泥のように働いてみました

ひが氏のBlogで僕のコメントが取り上げられていました.
SI業界の老害が若手と下請けを蝕む理由

汎用機の開発現場ですと,プログラミングに付加価値はありません.それこそ誰でも書ける,と信じて疑われません.というか,書く人によって生産性に差が出るほど自由度があったりいろんな事ができるわけではないんです.やれることが固定長のファイルの中身をいじくってDBに突っ込むだけなんです.
意外な歴史 - シークの日記
という意見も汎用機やオフコンのプログラミングは差別化が難しく価値が低く見られたということを良くあらわしていると思います。

ひが氏も汎用機の経験があったということを知り,共感とともに自分の進むべき道に少し光が差したような気がします.
僕自身,学生時代にJavaを独学で習得して,アルバイト先の社内システムを一人で作ったり,分散オブジェクト技術(当時はEJBが流行っていた時でした)について卒論を書いたりして,夢を持ってIT業界に飛び込んだはずでした.
ところが,新人で配属された現場は,バリバリの汎用機.
そこでは,Javaオブジェクト指向もIDEも必要なく,ただ黒い背景に80文字×32行の緑の文字の画面に向かい,諸先輩方が作ったJCLをコピペし,入出力のファイルを間違いがないように書き換え,JOBをSUBMIT(実行すること)し,得られたHEXダンプをリモートプリンタで打ち出し,固定長のDBレイアウトが記載された古びて黄色く変色したキングファイルと照合し,該当箇所が正しく修正されているかを蛍光マーカーでマーキングする作業を黙々と繰り返す日々.
やっとプログラムを組ませてもらえるようになったと思ったら,商業高校で習うようなフローチャートと記号で書かれた内部設計書を元に,IF文のand条件をひとつ追加するだけ.
高尚なアルゴリズムやデザインパターンなどは必要なく,キーブレイク,マッチングさえできればいい.それよりも業務知識が必要だ,と口酸っぱく言われました.
コンパイルして実行ロードモジュールを作成したらまたJCLをコピペして結果の確認.この程度の作業でも,「バグを出さないために」単体テスト結合テストを長い期間かけて行います.
やっとこさシステムのリリース,となっても,ユーザーからの感謝の言葉を聞くこともなく次々と違うプロジェクトへアサインされる.こんな作業を2年弱続けました.
これが「金融システムなど企業の大型システムに従事する人間」を欲する現場の実態です.僕はこんな作業を「10年泥のように働け」と言われて続けなければならない状況だったら,どんなに我慢強くても「無理です」と言っただろう.
仮に10年泥にまみれて続けたとしても,その後求められるスキルは,協力会社の要員をスケジューリングし,管理し,プロジェクトを回す能力で,使えないと判断した要員を切り捨て,また新しい要員を面接してどんどん人を増やし,売り上げを上げることこそが会社が求めていることなのだ.
入社して3年経った今,上司にそろそろそんな仕事をやってみないかと言われている.
会社に入って間もない頃は,20代はバリバリプログラミングして技術力という背骨をしっかり作るぞ、と意気込んでいたけれど,結局コード書いた時間より,Excelでコピペの設計書を書いた時間の方が絶対に多い.最近,これが自分のやりたい仕事だったのかと途方にくれることばかり.
これ,最初読んだとき自分かと思った.

人月計算とExcelとスーツの世界より

紛れもなく,これが汎用機開発現場の現実です.汎用機開発の現場は20年前から時が止まっているのです.
今,この状況から如何に抜け出すかを考えています.そのためには,コードを書き,モノを作り,人に知ってもらう・使ってもらう.アウトプットしていくしかないと思う.
幸いだと思うのは,今は昔のエンジニアとは違いネットという武器があること.
自分の成果物をみんなに知ってもらうことができるんだ.
社内に篭っていないで,もっと色んな人たちとコードで何かできたらいいな.