エンジニアの将来って?

現在7年目のCOBOL→Java→C#エンジニアが、将来への考えや勉強のアウトプット、たまに腎臓について書くブログです

元COBOLエンジニアの私が経験したCOBOLシステム開発現場の全然使えない常識

こんにちは。たいら(@tairaengineer2)です。
私は以前COBOLエンジニアとして、約3年働いたことがあります。
働いていた当時は常識でも、今となっては「これおかしいんじゃない?」っていうのが多々あります。
私が経験したそんなCOBOLのシステム開発現場の不思議な常識をご紹介します。

f:id:Tairax:20171129125026p:plain

※注意

あくまで私の体験談です。なので これがすべてのCOBOL現場の常識というわけではありません。

 

ああ、こんな現場もあるんだな

 

という感じでご参考ください。

インターネットが使えない

まず、これ。信じがたいかもしれませんが、本当に使えませんでした。
なので目の前のパソコンが本当にシステム開発機器としてしか使えなくなります。

インターネットは使えませんが、イントラネットというそのシステム関連しか掲載されていない閉鎖的なネット環境は使えます。
なのでその現場のみしか通用しないこと、たとえばシステムのある機能を調べたいときは、イントラネットで調べることができます。

それ以外でたとえばCOBOLの文法が分からないなどの汎用的な疑問については、自分の携帯でググります。
パソコンがあるにも関わらず、自分の携帯でググるという奇妙な光景がそこにあります。

打ち合わせが多いし長い

基本毎日打ち合わせがありました。
開催回数の最高では1日4回だったかな。朝と昼に2回と夕で4回、時間は短ければ30分、長ければどこまでも打ち合わせしてたと思います。
なので本当に、今日やったのが打ち合わせ参加と議事録作成という日がありました。
しかも打ち合わせの内容が

 

これ参加するの上司だけでよくね?

 

だとしても、新人時代の私みたいな関係ない下っ端も強制参加の場合もあります。
なのでもう本当にめんどくさい
そんな退屈な打ち合わせの間私は、しょっちゅう居眠りしたり、落書きしたり

 

今日の晩御飯何にしようかな~

 

とまともに聞いた覚えがありません。
さらに時間も長い!私が経験したのでは最長4時間です。
1日勤務時間8時間のうちの半分が打ち合わせなので、残業確定コースに突入します。

・・・え?4時間でも長いと思ってましたか?
甘いですね!!!
私が今まで聞いた中での最長は9時間
昼の13時から夜の22時までしていたそうです。一体そんなに長時間何を話してるんだ。
最後の方はへろへろだったそうです。そりゃそうだ。
扱っているのが年金というお堅いシステムだからなのか分かりませんが、打ち合わせが非常にめんどくさかったです。

机の上が紙の山

エンジニアと名乗っていますが、打ち合わせの資料は
レビューという自分が作成したものが正しいかどうか確認する場での資料も
打ち合わせが毎日のようにあるせいか、必然的に机の上が紙だらけになります。
COBOLがいかに紙文化なのかはこちらの記事をご覧ください。

COBOLシステムの現場で本当にあった!紙文化から生まれるエンジニアが全く成長しない害悪作業をご紹介します! - エンジニアの将来って?

私はCOBOLの現場で働いていたとき、机に備え付けてあった引出しは全部、机の上は大体3割程度紙で埋め尽くされました
なので大量の資料の紙を整理するために、キングジム必須。

下っ端の私でも、6冊は持ってました。
それくらい紙の資料が多かったです。
エンジニアのくせにアナログな情報の整理していました。

f:id:Tairax:20171229102209p:plain

こんなに机の上がキレイな人は数えるくらいしかいませんでした。

同じ現場に10年以上在籍している方がごろごろいる

本当に10年以上同じ現場にいる人はいます。
私が聞いた中で、最長在籍は20年超えてました。

なぜそのようなことが起こるかと言いますと、COBOLは使われるシステムは限られています。
たとえば、銀行とか年金など、つまりお堅いところです。
そういうところってだいたい同じシステムを必要に応じて修正しつつ、ずっと使い続けます。
システム耐久年数って10年くらいですが、10年以上システム刷新されていないところも割とあります。
なので必然的に何年も同じCOBOLシステムに携わる人がいるわけです。

同じのずっとやってるのって飽きないんですかね。少なくとも私はつまらなかったし、飽きました。

会社関係なく仲良くなる

先ほど書いたようにCOBOLの現場は在籍年数が長くなる傾向があります。
長年一緒に仕事をしているせいか、会社の垣根を越えて仕事だけでなくプライベートの方でもガッツリ付き合う方が多かったです。

平日の仕事終わりだけでなく、休日にどこかで集まって飲み会をするのは珍しくありません。
私が聞いた限りでは、どこかに旅行したり、大人数で花火を見に行ったり、ゴルフしたりなどなど。
仕事仲間であり、友達でもあるようなそんな風に付き合っておられるようでした。

技術系の知識はないけど、業務知識は豊富にある

私が年金システムに携わっていたころの上司は10年以上その現場で働いていました。
が、最新の技術系の知識はほぼなく

 

COBOLは分かるが、Javaは全く分からん

 

断言していました。
JavaとJavaScriptの違いを分かっているのか怪しいレベルに感じました。
また基本情報などの情報処理試験の資格は持っている方が珍しかったです。
しかし、年金についての業務知識は本当に豊富でした。

 

なんでそんなレアケースの場合の正解を知っているんだ・・・

 

となることが多かったです。
COBOLシステムに携わると、エンジニアから遠のくんだなと思いました。

プログラムを修正するとき、修正前のプログラムを残す

少し専門的なことを書きます。
COBOLの開発で、プログラムを修正するとき修正前のプログラムをコメント化して残します
他の言語の開発だったら、SVNとかGithubでバージョン管理できるので、 そんなことはしなくて良いです。
ですが、COBOLはそんな新しいものを取り入れていません。
なので修正前のプログラムをコメント化して残さなければならないのです。
だから、COBOLには今まで修正されてコメント化されて残されて、行数が肥大するのです。
私が見た中で1番行数が多かったプログラムの行数は万を超えていました。
そこらのシステムより1プログラムの行数が多いのです。

まとめ:COBOLの常識はほかの言語だと使えない

いかがだったでしょうか?
以上が私がCOBOLエンジニア時代に経験した全く使えない常識です。

今考えてたら本当おかしいです。特に机が紙で埋め尽くされるところ。
エンジニアなら紙で情報のやり取りをするんではなく、デジタルでやるべきだと思います。
あと、資源の無駄。
新人の私でも何千枚もあったと思うので、そのCOBOLシステムに携わっている人全員となると、本当に紙の資源の無駄ですね。

皆さんのCOBOLシステム現場の理解に少しでもお役に立てれば幸いです<(_ _)>