当社は、IT基盤の構築からアプリケーションの開発まで、最上流のコンサルティングからシステム運用・保守まで数多くの事業を多面的に展開しています。その中で、成長戦略の1つとして強力に推進しているのがIBM i事業で、若手の人材育成は当社の未来を担保する重要な取り組みと位置づけています。
今回ご紹介するIBM i RiSINGへの参加は、若手技術者の人材育成の一環で、今年(2025年)は第4事業部のS・KとY・Sの2名が参加しました。
IBM i RiSINGは、日本IBM様が昨年より実施している、IBM iのユーザー企業様とパートナー企業様の若手技術者を対象とした人材育成のためのプログラムで、約8カ月間のグループワークを通して、技術力の向上と参加者同士のネットワーキングを醸成する取り組みです。
なお今回、当社からIBM i RiSINGに参加した2名は、今年9月の「IBMロチェスタースタディツアー2025」にも参加し、米ミネソタ州のIBMロチェスター研究所を訪れています。
*記事「当社の2名のIBM iエンジニアが「IBMロチェスタースタディツアー2025」に参加しました」

-- S・Kさんのチームの研究テーマは何でしたか。
S・K 私のチームでは「IBM i初学者向け教育資料の作成」を研究テーマにしました。
-- IBM i RiSINGでは、ある特定の技術の習得をテーマに挙げるチームが多い中で、異色のテーマですね。
S・K メンバーは7名でしたが、うち2名はIBM iの経験は1、2年という人で、残り5名は5年以上の経験があり、後輩や部下のサポートや育成に関心をもっている人たちでした。私も後輩をサポートすることがよくあるので、このテーマに賛成しました。
-- メンバーの皆さんは、IBM iの経験が浅い人のサポートに関して、どのような課題をもっていたのですか。
S・K 新しくIBM iの担当になる人は、多くの企業で最初にEOLを学習することが多いようですが、それだと主要項目を広く浅くふんわりとしか理解できないようです。そしてそこから実務に入ると、今度は実務に特化した個別の知識やスキルに偏ってしまい、それも教える人の技量や経験に依存してしまうということになりがちなようです。
そうならないように、初学者がつまづきやすい点に的を絞ってポイントを突いた教育資料を用意しようというのが、チームの活動テーマになりました。
-- 具体的には、どのような点を問題として挙げたのですか。
S・K 次の4つの項目です。
・現場での実務経験が教育の主軸になってしまう
・既に作られている資料はあるが、内容が不足しているうえに独学になってしまう
・オープン系とは異なる運用管理の文化があり、共通点が少ないため他言語での経験が活かせない
・初心者にとってIBM i 独特の仕組みや管理の考え方が多く、理解が難しい
-- これらは、IBM iの初学者教育に携わっている人が共通に感じている項目ですね。これに続く取り組みとして、どのような事項を取り上げたのですか。
S・K 次の7つになりました。
・オブジェクトの基本と使い方をわかりやすく!
・~図解でわかる~ ファイルとソースの基礎
・ライブラリーについて
・プログラム構造
・よく使うコマンド
・オブジェクトの権限認可
・IBMiのサーバーとしての役割

そして、このそれぞれについてまとめたものを最終的にQiitaにアップし公開しました(末尾参照)。私は、「オブジェクトの権限認可」と「IBMiのサーバーとしての役割」の2つの記事の執筆を担当しました。
-- S・Kさんの記事で、初学者向けに工夫したポイントは何ですか。
S・K 「オブジェクトの権限認可」では、オブジェクトという概念と権限認可の仕組みが初学者にわかりにくいようなので、難しい説明は省いて初心者向けの内容にしたのと、具体例を交えて説明したことです。
「IBM iのサーバーとしての役割」のほうは。箇条書きにして要点を簡潔にまとめました。

-- Y・Sさんのチームのテーマは何ですか。
Y・S 私のチームでは、「Code for IBM i × FFRPG ~拡張機能でこんなことができる!」を研究テーマとしました。
-- それはどのような経緯で決まったのですか。
Y・S 私のチームは8人でしたが、私のようにIBM iしかやってこなかったメンバーと、IBM iにはあまり触ったことがなくJavaなどを中心にやってきたメンバーが混在していました。それでチームとして研究するのなら、オープン系とIBM iの両方の知見を活かせるものがよいだろうとなり、最近、IBM i市場で話題になっているVisual Studio Code(以下、VS Code)とIBM iの比較を行うことにしました。
具体的には、VS Code+Code for IBM i(IBM iを利用するためのプラグイン)と5250の開発ではどこがどう違うのか、まとめて比較しようとなりました。
活動の目標としては、IBM iの未経験者でもFFRPGのコーディングできるようになることと、Code for IBM iと従来の開発環境との比較です。
-- 活動はどのように進んだのですか。
Y・S 4~5月はVS Codeを利用するための環境設定、6~7月は初心者用コマンドの調査とそのまとめ、8~9月は従来環境とCode for IBM iを比較した記事の作成とQiitaへの掲載、9~10月はIBM i用ドキュメント作成ツールの「NOTEBOOK」の調査に当てました。
-- 順調に進みましたか。
Y・S そもそも、VS CodeとCode for IBM iを知っている人が私を含めてほとんどいなかったので、環境設定に非常に手間取りました。この設定だけで約1カ月、試行錯誤を繰り返しました。そのため最初の頃は、ほぼ毎週オンラインでミーティングをしていました。私のチームではテーマを分けて分担して取り組むのではなく、全員が一丸となって活動を進めました。
-- Qiitaには活動のまとめとして8本の記事が載っています。それぞれを説明していただけますか。
Y・S 最初の「Code for IBMiの環境設定」は、Code for IBMiの設定でエラーが出た時の対処法についてで、チームでの経験をまとめました。最初は、i Magazineの「Code for IBM i:その全貌」を全員で読んで概略を理解し、そのあと次のように整理しました。
(2)Code for IBM i とは
(3)2つの前提条件
(4)設定画面の入力
(5)コンパイル
(6)【環境設定】簡単にできた点・難しかった点
(7)エラー集と対応
-- そしてその後は、「AS400とCode for IBMiでのコマンド比較」の①から⑦までをまとめたのですね。
Y・S 「AS400とCode for IBMiでのコマンド比較」の①~③が、「Code for IBMiの標準アクションに記載されているコマンド」とIBM iのコマンドとの比較、④~⑦が「Code for IBMiの標準アクションに記載されていないコマンド」とIBM iのコマンドの比較です。


-- チームの活動を終えて、どのような感想ですか。
Y・S 「オブジェクトの権限認可」に関しては、本番環境と開発環境のそれぞれについて権限認可の使い分け方の参考例を追加したいと思っています。「IBMiのサーバーとしての役割」に関しては、記事で紹介しているキーワードと関連して利用できる機能をもっと掘り下げたいと考えています。権限認可を初学者に教えるのはとても難しいですが、興味をもってもらえるようにさらに工夫していきたいと思っています。
Y・S 私は、最初はCode for IBM iの操作に慣れなくて戸惑うことが多かったのですが、慣れてくると5250画面よりも直感的に操作できるのでとても便利だと感じました。Code for IBM iは業務でも使っていきたいと考えています。また、5250のコマンドについても初めて知るものが多く、業務の中で使ってみるつもりです。NOTEBOOKについてはあまり深く掘り下げられなかったのが心残りでしたが、業務を離れて勉強するのは、とてもいい経験だと感じました。
-- IBM i RiSINGに参加した感想はどうですか。
Y・S 同世代のエンジニアといろいろ話せたのは、とてもいい経験でした。実際に会ってみて、ネット越しにミーティングしている時の印象と違ったりするのも楽しかったですね。
S・K 私もまったく同じです。私のチームにはユーザー企業のメンバーもいて、ユーザー特有の課題や問題を聞けたのは、非常にいい経験でした。IBM i RiSINGのような場で外部の人と知り合うことがほとんどなかったので、これからは積極的に外部の人と交流していきたいと思っています。
◎S・KのチームのQiitaへの投稿記事
・【IBM i入門】オブジェクトの基本と使い方をわかりやすく!
・【IBM i】~図解でわかる~ ファイルとソースの基礎
・【IBM i】ライブラリーについて
・プログラム構造
・よく使うコマンド
・オブジェクトの権限認可
・IBMiのサーバーとしての役割
◎Y・SのチームのQiitaへの投稿記事
・Code for IBMiの環境設定
・AS400とCode for IBMiでのコマンド比較①
・AS400とCode for IBMiでのコマンド比較②
・AS400とCode for IBMiでのコマンド比較③
・AS400とCode for IBMiでのコマンド比較④
・AS400とCode for IBMiでのコマンド比較⑤
・AS400とCode for IBMiでのコマンド比較⑥
・AS400とCode for IBMiでのコマンド比較⑦
