はじめに
私は長年、組込み系の開発を経験した後、現在はメインフレームのオープン化プロジェクトに携わっています。これまでさまざまな開発現場を経験してきましたが、今回の案件は私にとって最も開発期間の長いプロジェクトとなりました。
今回は、実際に参画して感じた現場のリアルや、これまでの経験が思わぬ形で活きた学びについてまとめてみたいと思います。
1. 想像を絶する「既存資産の膨大さ」
案件に参画して最初に驚いたのは、移行対象となる既存資産の圧倒的な多さでした。
プロジェクト初期に行われたのは資産の棚卸し作業です。プログラム、ジョブ(JCL)、帳票、各種定義ファイルなど、長年運用されてきた資産は膨大な量にのぼっていました。
開発当初は現在のような利便性の高い開発ツールもなく、多くの作業が手書きや紙中心で行われていた時代です。そうした数十年の歴史の積み重ねを目の当たりにし、「巨大な基幹システムを維持し続けることの重み」を痛感しました。
2. 「動いている仕組みを誰も完全には把握していない」現実
長年稼働している大規模システムでは、設計書と実際の運用が必ずしも一致しているとは限りません。エンドユーザー側でも、どのプログラムがどのような処理を行っているのかを完全に把握しきれていないケースがあります。
そのため、開発作業に入る前に以下のような泥臭い調査が必要になりました。
・アクセスログや実行ログの解析
・実際に実行されたジョブ(JCL)のトレース
・動作履歴からの利用プログラム洗い出し
新規開発のように「ゼロから作る」のとは異なり、「まずは現状を正しく解明する」ことが何より重要な仕事なのだと学びました。
3. 思わぬところで活きた組込み時代の経験(エンディアンの壁)
オープン化案件では、データ移行や資産の移植が大きな壁となります。特に印象的だったのが「エンディアン(バイトオーダー)の違い」です。
一般的なメインフレーム環境はビッグエンディアンですが、オープン系のサーバー(Linux等)ではリトルエンディアンが採用されているケースが多くあります。長年メインフレームに携わってきたベテラン技術者の方々でも、このデータの扱いに苦労される場面がありました。
私は組込み開発の経験から、ハードウェアに近い低レイヤーでのエンディアン処理に慣れていたため、この構造をスムーズに理解することができました。過去の泥臭い経験が思わぬ形で役立った、嬉しい瞬間でした。
4. アセンブラ資産のCOBOL化と達成感
私が担当した重要作業の一つに、アセンブラ資産をCOBOLへ打ち直す(リビルド)作業があります。
組込み時代にもアセンブラに触れてはいましたが、メインフレーム独特の命令体系や作法には最初は苦戦しました。それでも調査と検証を重ね、最終的にはステップ数の多い重要プログラムを無事にCOBOLへ移行することができました。苦労した分、動いたときの達成感は大きく、エンジニアとしての確かな自信に繋がりました。
5. 新ツール習得と「ログ解析」の共通点
メインフレームのオープン化では、従来の知識だけでは太刀打ちできません。ベテランのメインフレーム技術者であっても、Linuxなどのモダンな技術要素が求められます。
私自身もプロジェクトを通じて、さまざまなツールを習得・活用しました。
・サーバー・OS: Linux
・プロジェクト・インシデント管理: Redmine
・CI/CD・自動化: Jenkins
・ターミナル: Tera Term
特に印象深かったのは「ログ解析」です。Tera Termの操作ログやJenkinsの実行ログを追いながら不具合の原因を特定する作業は、組込み開発時代の実機デバッグと本質的に同じでした。また、Redmineを使った課題管理など、開発管理の面でも多くの学びがありました。
6. リモート会議と働き方の変化
昔の開発現場では、会議室に全員が集まって打ち合わせをするのが当たり前でした。しかし現在はリモート会議が中心です。
必要な関係者をオンラインで素早く集め、画面共有でコードやログをリアルタイムに見せ合いながら議論できるため、情報伝達のスピード感は格段に向上したと感じます。時代とともにプロジェクト運営の形も確実に変化しています。
7. 生産性と品質を高めるための現場の工夫
手順書が箇条書き程度しかなく、手順が曖昧なデータ変換作業などもありました。作業漏れやミスを防ぐため、私は個人的に以下の工夫を取り入れました。
・タスクの細分化とチェックリスト化
・作業実施結果の厳密な記録
・毎日の状況を振り返る「独自日報」の作成
独自の日報をつけることで、数か月後に「あの時どう対応したか」を振り返りやすくなり、自分専用のナレッジベースとして大いに役立ちました。
8. AIは新しい「開発の相棒」
わからない技術やエラーに直面した際、AIを活用して調査や理解を早める機会も増えました。
もちろん最終的な判断や検証は自分で行う必要がありますが、Linuxコマンド、COBOLの記法、シェルスクリプト、Jenkinsの設定、Redmineの活用法などを調べる際、AIは強力なサポートになってくれました。現代の開発現場における「頼れる相棒」だと実感しています。
まとめ
今回のメインフレームオープン化案件は、私にとってキャリアの中で最も長く携わるプロジェクトとなっています。
膨大な資産の棚卸し、アセンブラからCOBOLへの移行、Linuxや各種ツールの習得など、本当に多くの経験を積むことができました。そして、組込み時代に培った知識が現場で役立ったことで、「これまで歩んできたエンジニアとしての経験に無駄なものは一つもない」と実感できたことが大きな収穫です。
プロジェクトを通じて再確認した「正確に、丁寧に作業することの大切さ」を胸に、これからも本業・副業を問わず、技術者として成長を続けていきたいと思います。