プログラミング
初心者
iBM
メインフレーム
zOS

IBM Master the Mainframe 2017をやってみた

注意 以下の内容は2017年度にグローバルで行われたメインフレーム・コンテストに関する体験記です。2018年度以降の開催については、内容が変更になっている恐れがありますので、各自公式サイトを確認するようにしてください。

はじめに

今年(2017年)の夏に、とあるソフトウェア企業のインターンに2週間参加させていただきました。そこはメインフレームに関する開発を行っているところで、インターンの間に詳しい業務内容を教えていただく機会がありました。

その際、社員さんから「IBMがこういうことをやっているから、試しにやってみたら?」ということを教えていただきました。それが「IBM Master the Mainframe」です。幸運にもインターンの内容を評価していただき内定を頂いたので、入社前のメインフレームの勉強がてら、それをやってみることにしました。日本の大学生なら日本IBMのコンテストに参加できるようです。

この記事ではその感想についてまとめました。とはいえリソースがしっかりしてるので(ここらへんはさすがIBM)、だいたいどんなことをやったかぐらいですね。

注意: 現在はコンテスト形式で期間限定でやっているようなのですが、Learning Systemは1年を通して行えるようです。適宜アクセス可能期間を確認してくださいね。

とりあえずマイペースにやって見ることにしました。Part1からPart3まであり、だんだんに要求されるレベルが上がっていきます。うたい文句通り経験がなくてもいけますが、それは「メインフレームの実務経験がなければ」という意味で、Part3からはC/C++, Java, アセンブラのいずれかがある方がいいです。できればCOBOLもあるといいかも。

Part2まで済ませると、こちらにあるようなIBM Open Badgeが与えられるようです。このバッジがメインフレームの知識を証明するものになるそうです。

更新状況
- 2017年10月23日 バッジをいただけたので、下記に追記しました。
- 2017年10月24日 Part3をやってる途中。
- 2017年10月27日 Part3を一通り終えた。
- 2018年1月12日 Part3をpassした通知をmanagerから頂き、バッジをいただきました。
- 2018年4月14日 受賞したのでリンク追加
- 2018年8月27日 コンテストで参考になりそうな文献等を追加

内容

まず会員登録を済ませます。「Join the 2017 Virtual Contest」と「Try the Learning System」の二つがありますが、ここではコンテストのほうで進めていきます。コンテストとはいえ、メールアドレスは(Gmail等の)フリーアドレスで構いません。Learning systemのほうだと、すべて終了しても賞金はありません。(学生じゃなく、企業の研修などでも利用できます。)

会員登録を済ませると、翌日にアメリカのIBMにあるメインフレームにアクセスするためのログインIDがメールで届きます。コンテストの場合はZ####。Learning Systemの場合はAU####。

メインフレームへはどうアクセスするか?ということですが、ちゃんとWindows, macOS, Linuxの場合に分けてクライアントの使い方から手取り足取りガイドされています。こんな感じ 私もメインフレームを使うのは全く初めてでしたが、tn3270Xを使ってアクセスすることができました。

ログイン画面(例)
screenshot.png

Part1

Part1では、メインフレームの構造とかログインの方法、z/OSの中でUNIXを使う方法等を学びます。スクリーンショットも付いているので、Linux等のコマンドを知らなくても進めていけると思います。

個人的にスペースキーで文字が消えるのと、文字を入れると勝手に上書きされるのは戸惑いました(笑 

Part2

Part2ではISPFエディタの使い方を学んだ後、JCLを使ったコンパイル(および実行)の方法を学びます。そのあとはファイル構造(ファイルの名前、エンコーディング)、ディスク構造に付いて学び、後半では実務で必要となるログの出し方・読み方を学びます。

このPart2は完璧に終えるとバッジがもらえるので、一つ一つチャレンジを終わらせる必要があります。ところどころめんどくさいやつとかありますが、頑張りましょう。最後ではコンピュータ採点を行い、15問全てcorrectになるまでやり直します。

個人的に、スクリーンショットの画像と違う結果を得たりとか、答え合わせの際にスクリーンショットと違うためにIncorrect扱いされてしまうところがあり、少し内容にズレがあると思いました。ただ進めて行くうちに理解が進んで来るので、なぜIncorrect扱いされてしまうかわかると思います。

Part3

私自身のプログラミング知識の無さによりこれ以上進めることはできていませんが、上で挙げたようなC/C++, Java, アセンブラの言語の理解があれば全部終えられると思います。プログラミング課題については、新たに勉強する必要はありません。言語特有の規則性から答えても大丈夫です(笑

  • 詳しいプログラミング言語の知識がなくてもできそうなので、Part3をやり始めました。終わり次第また追記します。

2017年10月27日 Part3を一通り解き終えました。内容はPart2よりも格段に上がり、要求されるレベルも上がります。ただ、当初考えていたようなプログラミングの知識は必ずしも必要ない印象を受けました。ないよりはあったほうがいいですが、他のプログラミング言語の経験があれば問題なく進められそうです。実際Javaの知識はなかったのですが、エラーを読んだりネットで調べることでSQLと混ぜたコードを完成させることができました。

採点は来月初旬ごろから始まるようなので、それまで復習なり見直しなりしておこうと思っています。

2018年1月13日追記 Part3は最終課題をこなして合否が決まる形式でした。12月31日に締め切られ、採点を始めていたようなのですが、最近合格した旨の通知が届きました。まさか通っているとは思わなかったので良かったです。メールいわくThe challenges in Part 3 are extremely competitive and you have been put in a very, very small list of competitors that have outshined all others.だったそうです。最終課題の完成度に応じてランクづけられ、地域ごとのトップ2にはIBM本社見学の権利が与えられるそうです。。。さすがにそこまでは行かないでしょうね。。。世界は広い。。。

2018年07月24日追記
メールをもらった当時は知らなかったのですが、このメールが地域ごとのトップ2に選ばれたことを言っていたようです。。。IBM本社へは行けませんでしたが、イベントへは参加できました(詳しくは以下)。

感想

メインフレーム自体触れるのは初めてで、中身については全く知りませんでした。実際の研修でも分厚いガイドブックを読み込まないといけないんだろうなぁと思っていたので、こういったチュートリアル的なものがあるとよりメインフレーム業界に入っていきやすいでしょうね。全部集中してやれば1週間もあれば(Part2まで)終わると思います。

なおJCLやCOBOLについてはまだまだ未熟なので、メインフレーム・オペレーティング・システム入門 (z/OSベーシック・ハンドブック)などで補強するつもりです。

現在のトレンドに逆行するかもしれませんが、もっとこういったメインフレームに触れる機会が増えてもいいのではないかなぁと思いました。(小並感

楽しかった!

バッジ - Part2 -

先週の金曜日(10月20日)にPart2までが終わり、本日バッジが届きました。

master-the-mainframe-2017-part-2.png

くわしい内容はこちらから.

またWall of Fameというところに以下のように名前が載るようです。毎週更新されるらしいです。

Screen Shot 2017-10-23 at 18.03.34.png

ハッジ - Part 3 -

Part3の人の名前もWall of Fameに載るようなのですが、まだなようです。とりあえず私のPArt3バッジを載せておきます。

master-the-mainframe-2017-part-3.png

詳しい内容はこちらからどうぞ.

入賞した

2018/04/20更新
今回この記事に書いているように、MTM2017に参加させて頂きまして、Regional Winner 2nd place in APACとして入賞する事ができました! 日本IBMの主催するイベントに参加し、スピーチさせていただきました。

twitter: https://mobile.twitter.com/IBMZ/status/987111119243415552

2018年7月23日追記
その後Part1, Part3の賞金をいただきました(2750米ドル)。Paypal経由だったので、手数料1万円も取られたのは痛い。。。

参考文献

コンテストの関連サイトは以下
- Master The Mainframe : 本社メインフレームコンテスト公式サイト
- Millennials Master the Mainframe : Master the Mainframe 2017の受賞者発表記事
- IBM Master the Mainframe 2018 : メインフレームコンテストを紹介する日本IBM公式サイト

また、コンテストを通して、またメインフレームに興味のある方向けに数冊文献を紹介しておきます。コンテストに限って言うと、書籍は必要ないと思うので、あくまで参考程度に。