毎年200人以上のJava初学者を受け入れるため、300ページ以上のテキストを内製している話

1.7K Views

November 14, 25

スライド概要

JJUG CCC 2025 Fall でのシンプレクスによるスポンサーセッション「毎年200人以上のJava初学者を受け入れるため、300ページ以上のテキストを内製している話」の投影資料です。
紹介している組版システムのサンプルコードは https://github.com/simplexinc/jjug-ccc-2025-fall-novelty にて公開しています。
この資料で公開したテキスト制作の他、シンプレクスグループの人材開発にて技術系のカリキュラム企画・実施を行う「テクニカル・コーディネーター」職の採用を行っています。
詳細は https://hrmos.co/pages/simplex/jobs/80000021 からどうぞ。

profile-image

シンプレクスは1997年の創業以来、メガバンクや大手総合証券を筆頭に、日本を代表する金融機関のテクノロジーパートナーとしてビジネスを展開してきました。現在では、金融領域で培った豊富なノウハウを活用し、金融機関以外の領域でもソリューションを展開しています。2019年3月にはAI企業のDeep Percept株式会社、2021年4月には総合コンサルティングファームのXspear Consulting株式会社がグループに加わり、創業時より付加価値の創造に取り組んできたシンプレクスとワンチームとなって、公的機関や金融機関、各業界をリードする企業のデジタルトランスフォーメーション(DX)の推進を支援しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

毎年200人以上のJava初学者を受け入れるため、 300ページ以上のテキストを内製している話 JJUG CCC 2025 Fall シンプレクス(株)スポンサーセッション 2025/11/15 村上拓也 (シンプレクス・ホールディングス HR) 1 © 2025 Simplex Holdings, Inc.

2.

about me • 村上 拓也 • 2012年シンプレクス新卒入社 → 2016年9月に退職 → アドテク・FinTech・製造業スタートアップなど転々 → 2021年にフリーランス化。シンプレクスでも再び働き始める → 2022年夏よりシンプレクスの内定者・新卒研修に関わる → 2024年より正社員として完全復帰してHR(人事)にて 技術系人材開発のテクニカル・ディレクターを務める • 個人的には 2018 Fall 以来7年ぶりの JJUG CCC 登壇(嬉しい…!!) © 2025 Simplex Holdings, Inc.

3.

話すこと • 会社の紹介(コンテキスト揃えの一環も兼ねて) • テキスト内製の意図と意義 • テキスト組版の仕組み © 2025 Simplex Holdings, Inc.

4.

会社の紹介 (コンテキスト揃えの一環も兼ねて) 4 © 2025 Simplex Holdings, Inc.

5.

About Simplex • 1997年創業 金融機関のフロントシステム開発を中心に日 本を代表する金融機関のテクノロジーパート ナーとして成長してきました。 • 2016年より現行の持株会社体制へ。 • 2021年より総合コンサルティングを手掛ける 「クロスピア・コンサルティング」を創設。 • 近年は官公庁のシステム開発や金融以外のエ ンタープライズDX推進案件の実績も多数。 © 2025 Simplex Holdings, Inc.

6.

大事な話!採用やっています • 本日お話する研修テキスト制作を始め、 新卒のテクニカルな人材開発を主導する 「テクニカル・コーディネーター」職を 募集しています! • 通常のプロジェクトに配属される エンジニア・アーキテクトなども もちろん募集しています! https://recruit.simplex.holdings/career/ © 2025 Simplex Holdings, Inc.

7.

毎年200人以上の内定承諾者に対してトレーニングを行っている • 20年以上に渡って、エンジニアリングやプ ログラミング、情報系などの背景を問わない ポテンシャル新卒採用を行っている。 • 特に2022年度以降、継続して 200名以上の内定者を受け入れて、 トレーニングを実施している。 シンプレクス・ホールディングス㈱ 2026年3月期 第1四半期 新規投資家向けプレゼン資料 より © 2025 Simplex Holdings, Inc.

8.

シンプレクスグループの新卒が過ごす0~1年目 大学4年9月〜 内定者研修 (Tech は標準で 10営業日前後) 個別研鑽 承諾時〜入社まで 4月〜7月(4ヶ月) 新卒研修 現場配属 8月〜 ※実施タイミング・配属タイミングなど、年度や個別ケースで前後あり © 2025 Simplex Holdings, Inc.

9.

シンプレクスグループの新卒が過ごす0~1年目 新卒研修を終えて現場配属される段階で は、ビジネスパーソンとしてのマインド セットと、3層Webアプリケーションの基 礎知識が身についた状態を目指す (配属先子会社を問わず、技術研修は 全員に同水準で実施している) 大学4年9月〜 内定者研修 (Tech は標準で 10営業日前後) 個別研鑽 承諾時〜入社まで 4月〜7月(4ヶ月) 新卒研修 現場配属 8月〜 ※実施タイミング・配属タイミングなど、年度や個別ケースで前後あり © 2025 Simplex Holdings, Inc.

10.

シンプレクスグループの新卒が過ごす0~1年目 大学4年9月〜 内定者研修 (Tech は標準で 10営業日前後) 個別研鑽 承諾時〜入社まで フルタイムの仕事としてトレーナー・メン ターと向き合うことでビジネスパーソンと しての素地を養成する。 技術的には幅広い技術スタックを、実践を 通じて手に馴染ませる。 4月〜7月(4ヶ月) 新卒研修 現場配属 8月〜 ※実施タイミング・配属タイミングなど、年度や個別ケースで前後あり © 2025 Simplex Holdings, Inc.

11.

シンプレクスグループの新卒が過ごす0~1年目 大学4年9月〜 内定者研修 学業など最優先ではありつつ、 基礎的なプログラミング技能と、コンピュータと協業する感覚を 身につけたり プログラミング未経験者でも「何かを作りあげる・作り切る」と いう経験をしてもらったりする (Tech は標準で 10営業日前後) 個別研鑽 承諾時〜入社まで 4月〜7月(4ヶ月) 新卒研修 現場配属 8月〜 ※実施タイミング・配属タイミングなど、年度や個別ケースで前後あり © 2025 Simplex Holdings, Inc.

12.

シンプレクスグループの新卒が過ごす0~1年目 大学4年9月〜 内定者研修 (Tech は標準で 10営業日前後) 個別研鑽 承諾時〜入社まで 面と向かってトレーナーが内定者と対峙できる日数は限られている 内定承諾を頂いてから入社までの間の学びを少しでも摩擦を少な く、良いものにできるか? → 内定承諾時に商業誌と併せて配布する内製テキストの改善へ 4月〜7月(4ヶ月) 新卒研修 現場配属 8月〜 ※実施タイミング・配属タイミングなど、年度や個別ケースで前後あり © 2025 Simplex Holdings, Inc.

13.

内製テキストの意図と意義 9 © 2025 Simplex Holdings, Inc.

14.

自分が関わる以前の内定者向け配布コンテンツ • もともと(自分が研修に関わる以前)は、内定承諾時に商 業誌と独自の問題集を配布していた • オフィスツールを使ったスライド形式で、1スライドに1問という形式 だった • よい問題集ではあったが、色々とペインがあった • 編集履歴を追えない • 編集を確定する前に議論ができない • シンタックスハイライトが 自動で効かない • ページ1枚ごとにレイアウトやスタイル、フォントなどの書式を 手動で調整しなければならない • そのようなペインが「コンテンツの改善に注ぐエネルギー を削いでいる」と判断した • 配布コンテンツの制作は大事な業務だが、担当業務はそれだけではな い • 気合を入れなくてもコンテンツの改善が続く仕組みが欲しい © 2025 Simplex Holdings, Inc.

15.

その結果、できあがったテキスト(25年度 → 26年度 → 27年度 新卒向け) 11 © 2025 Simplex Holdings, Inc.

16.

「それ、商業誌でよくないか?」 • わかる。一理ある。 • だが、商業誌を配ったとしても、注釈をつけたり、順番を 入れ替えたりしたいニーズは残る。 • 商業誌が悪いのではなく、自分たちの研修や、目指す到達点を踏まえたら ギャップがあるのは当然なので、それを埋める必要がある • 特に近年の弊社の場合、学習者とトレーナーが直接面と向かって 教えられない時間の方が長いという事情がある • それならば、自分たちで Java 初学者向けの学習ジャーニーを 全て内製で敷いてしまった方がわかりやすいのでは? • 相手する学生が数名だったらペイしない労力でも、 200人以上の技術レベルの底上げのためだったらペイするかもしれない © 2025 Simplex Holdings, Inc.

17.

わざわざ自作するにあたって考えるポイント • 「学び始め」ではコンピュータを扱うことの難しさに直面してもらいつつ、 余計な認知負荷のオーバーヘッドが無いように配慮する。 • 敢えてプレーンなエディタでJavaを書き、javac コマンドや java コマンドを叩く経験をする。 • 途中で IntelliJ IDEA に切り替える。 (操作方法自体はIntelliJ IDEAのチュートリアルにまかせつつ、IDEを利用する意義については解説する) • JEP 512 に対応することで動作を通じたフィードバックを早める。 • 「つまづきポイント」を乗り越えるヒントをなるべく多く残す。 • 例年のトレーニーの研修での様子をしっかり確認する。 • 「メソッド分け」「クラス・インスタンス」「例外処理」は昔も今も躓きやすいポイント。 • 特効薬は無いが、テキストの解説は継続的に見直したり、段階的にコードを作り上げていく構成にしたり は工夫している。 © 2025 Simplex Holdings, Inc.

18.

わざわざ自作するにあたって考えるポイント • 「学び始め」ではコンピュータを扱うことの難しさに直面してもらいつつ、 余計な認知負荷のオーバーヘッドが無いように配慮する。 • 敢えてプレーンなエディタでJavaを書き、javac コマンドや java コマンドを叩く経験をする。 • 途中で IntelliJ IDEA に切り替える。 (操作方法自体はIntelliJ IDEAのチュートリアルにまかせつつ、IDEを利用する意義については解説する) • JEP 512 に対応することで動作を通じたフィードバックを早める。 • 「つまづきポイント」を乗り越えるヒントをなるべく多く残す。 • 例年のトレーニーの研修での様子をしっかり確認する。 • 「メソッド分け」「クラス・インスタンス」「例外処理」は昔も今も躓きやすいポイント。 • 特効薬は無いが、テキストの解説は継続的に見直したり、段階的にコードを作り上げていく構成にしたり は工夫している。 © 2025 Simplex Holdings, Inc.

19.

JEP 512: Compact Source File and Instance Main Methods とは? • main メソッドは… • String[] 型の引数のないものでも可になった (オーバーロードされている場合は String[] 引数を受け取る方が優先) • public である必要がなくなった (private でなければ良い) • インスタンス・メソッドでも可となった (ただし、そのクラスにprivateでなく引数を受け取らないコンストラクタが必要) © 2025 Simplex Holdings, Inc.

20.

JEP 512: Compact Source File and Instance Main Methods とは? • java.lang.IO クラスが追加された • 標準入出力からの読み書きが簡素化される • System.in を読むために BufferedReader や Scanner の インスタンスを生成することが不要になった • キーボード入力を受け付けるためのプロンプトを出してくれる readln(String prompt) メソッドが入った © 2025 Simplex Holdings, Inc.

21.

JEP 512: Compact Source File and Instance Main Methods とは? • クラス宣言ブロックを省略すると、デフォルトパッケージに所属し、他ソース コードから参照できないクラスが暗黙的に生成される • これを Compact Source File という • ファイルのトップレベルに書いたメンバーはそのクラスに属することになる © 2025 Simplex Holdings, Inc.

22.

JEP 512: Compact Source File and Instance Main Methods とは? • Compact Source File の場合は、java.base モジュールが自動的にイン ポートされているので、明示的に import する必要がない © 2025 Simplex Holdings, Inc.

23.

“前のめり” に取り込んだ JEP 512 • 初学者にとっての「書いて→動かす→結果を見る」試行錯誤のループを短く高 速に回せるようになる • public static void main(String[] args) を書く必要がなくなる • 何も分からないまま Scanner sc = new Scanner(System.in); する必要がなくなる • メソッドを学ぶときに、「 static でないメソッド」から自然に始められる © 2025 Simplex Holdings, Inc.

24.

テキストを自作して良かったことは、他にも • インストーラーつきのOpenJDKディストリビューションを選択できる。 • 学びはじめのオーバーヘッドが少なくなる。 • 「商業誌では強調されないけど大事なこと」に紙数を割ける。以下実例。 • Java 以前にCLI(シェルやコマンドプロンプト)の利用方法で1章使う。 • 1章かけて enum について解説する。 (実務でのモデリングには必須だが、ちゃんと教えている商業誌は少ない) • 特に生成AI関連の話題について、技術進歩やサービスの進化など、 1年毎に目まぐるしく状況が変わる話題にもタイムリーに適応できるように なった。 © 2025 Simplex Holdings, Inc.

25.

テキスト組版の仕組み 20 © 2025 Simplex Holdings, Inc.

26.

組版に利用するフレームワークの検討 • マークダウンまたはその他のテキストファイルの形式から組版できる仕組みを比較して検討 • テキスト制作以外の業務も多いので、キャッチアップのオーバーヘッドが少なそう、かつ デザインのカスタマイズ性の両立を重視して Vivliostyle に決定 marp Vivliostyle Re:VIEW 原稿ファイル マークダウン マークダウン 一部独自拡張 独自記法 出力 スライド 本 本 独自テーマ◯ LaTeX 周囲の 知識が必要 Web技術ベースなので LaTex 関連知識の とっつきやすく、拡張性も高そう キャッチアップコストから見送り カスタマイズ性 独自テーマ◯ 採用に当たっての 評価 1スライドに収まる情報量に 気を遣うのが大変になり、 用途に向かないと判断 © 2025 Simplex Holdings, Inc.

27.

組版に利用するフレームワークの検討 • マークダウンまたはその他のテキストファイルの形式から組版できる仕組みを比較して検討 • テキスト制作以外の業務も多いので、キャッチアップのオーバーヘッドが少なそう、かつ デザインのカスタマイズ性の両立を重視して Vivliostyle に決定 marp Vivliostyle Re:VIEW 原稿ファイル マークダウン マークダウン 一部独自拡張 独自記法 出力 スライド 本 本 独自テーマ◯ LaTeX 周囲の 知識が必要 Web技術ベースなので LaTex 関連知識の とっつきやすく、拡張性も高そう キャッチアップコストから見送り カスタマイズ性 独自テーマ◯ 採用に当たっての 評価 1スライドに収まる情報量に 気を遣うのが大変になり、 用途に向かないと判断 © 2025 Simplex Holdings, Inc.

28.

Vivliostyle • 「CSSページメディア」というCSS規格に基づいて、テキストファイルをブラウザでレンダ リングしたものをPDF化する「CSS組版フレームワーク」 • マークダウン仕様を一部独自に拡張したVFM(Vivliostyle Flavored Markdown)という形式で記事を書くと、 VivliostyleがHTMLに変換してくれる。 • CSS でデザインを記述するので、一貫したスタイルの適用が実現できる。 • JavaScript を差し込めるので簡単なDOM操作 も可能。 • Vivliostyle が提供するテーマも多数ある • 弊社研修テキストの場合は、 theme-techbook をベースに独自装飾を追加している。 • テーマが提供する変数についてのドキュメントが少ないので、 自分でCSSを読み解く必要がある点は少し大変。 • 原稿ファイルは textlint (https://textlint.org/) および markdownlint (https://github.com/DavidAnson/markdownlint-cli2) で検査する © 2025 Simplex Holdings, Inc.

29.

© 2025 Simplex Holdings, Inc.

30.

■トンボ(Trim Mark) 印刷・製本時には A4 トンボつきで印刷し、 裁ち落としてB5にしてもらう。 Vivliostyle の機能で、設定すれば簡単に表示できる。 © 2025 Simplex Holdings, Inc.

31.

■ ページ番号 CSSカウンタで実装されている。Vivliostyle 組み込み。 © 2025 Simplex Holdings, Inc.

32.

■ 章番号 CSS のカウンタ機能を用いることで章・節の番号 は自動採番。文章内で「詳細は第XX章を参照」と 書いてもCSSカウンタを参照して自動展開できる 機能もあり。 基本的なカウンタは theme-techbook に用意され ているが、独自カウンタを新設することも可能。 © 2025 Simplex Holdings, Inc.

33.

■ ターミナルウィンドウ コマンドラインの操作例を示す表記は、特 定の言語でハイライトしているコードブ ロックに対してDOM操作をする スクリプトを書くことで、ウィンドウだと 認識できるように装飾 © 2025 Simplex Holdings, Inc.

34.

■ 囲いコラム(独自実装) <div class=”admonish point”>〜 という HTMLタグをマークダウン内にベタ書きして、ク ラスをめがけてスタイルを当てている。 「☝Point:」のプレフィクスはCSSで当ててい る。 HTMLタグは揺れが少なくなるように VS Code のコードスニペットとして登録してある。 © 2025 Simplex Holdings, Inc.

35.

© 2025 Simplex Holdings, Inc.

36.

テキストを「CIする」とは PR が立ち上がると、 • Linter による検査が走る • PDF のビルドをする • PDF を社内アーティファクトレポジトリにアップロード • アーティファクトの URL をコメント (marocchino/sticky-pull-request-comment で 固定コメント化している) © 2025 Simplex Holdings, Inc.

37.

継続的インテグレーション(CI) • テキストの執筆環境の中で一番大事なのが継続的インテグレーション。 • 以下の3つで成果物の「見え方」が全然違う。 用途で使い分け、いつでもPDFで成果物を確認できるようにしたい。 • markdown のままレビュー: Pull Request 上のレビュー。意図した修正をしたかどうかの確認 • 画面上で PDF でレビュー: 組版崩れの確認 • 特に終盤の調整段階では PDF の Di を確認するツールに食わせて 組版崩れを確認している(自動化まではできていない。。。) • PDF を印刷してレビュー: 少し寝かせてから読み返し、物理的に赤入れする ff © 2025 Simplex Holdings, Inc.

38.

インクリメンタルに改良を加える • 刷新作業が始まった当初から、今の形を目指していたわけではない • 毎年少しずつの改良を積み重ねていった • 24年度向け: CSS組版を導入することで継続的な改善を可能にすることで工数減 • 25年度向け: 商業誌では手の届かない解説を拡充することでユーザー価値向上 • 26年度向け: 導入部の解説強化、『脱初心者編』との2分冊構成化 • 27年度向け: 基礎文法の解説を研修テキスト化, Java 25対応(JEP 512対応含む) © 2025 Simplex Holdings, Inc.

39.

教訓:「まず足回りを固める」ことと、理解を得ること • 「最初にCSS組版を導入する」ことで以後の編集コストを押さえられたのは、プ ロジェクトの立ち上げ時のアーキテクチャ方針やCIの整備が重要なのと同じ! • 足回りが固まってたからこそ、少ない工数で JEP 512 対応を入れることができた。 • 導入部分の解説自体は全面刷新せざるを得なかったが、原稿全体にわたっての サンプルコードはある程度機械的な書き直しで対処できた。 • 一方で、最初のCSS組版導入に際して、コンテンツは大きく追加せずとも、読み やすさや論理展開の表現力の観点で改善が実感される程度の完成度には仕上げて おく。 • ステークホルダーがメリットを認識できないと、この形式でテキスト制作を続けることに理解を 得られなくなってしまう。 © 2025 Simplex Holdings, Inc.

40.

お知らせのコーナー 28 © 2025 Simplex Holdings, Inc.

41.

【再掲】大事な話!採用やっています • 本日お話する研修テキスト制作を始め、 新卒のテクニカルな人材開発を主導する 「テクニカル・コーディネーター」職を 募集しています! • 通常のプロジェクトに配属される エンジニア・アーキテクトなども もちろん募集しています! https://recruit.simplex.holdings/career/ © 2025 Simplex Holdings, Inc.

42.

note.com 更新しています • https://note.com/simplex̲engineer を定期的に更新しています。 • 実践的なノウハウやインサイトの他、社内で行われたイベントや勉強会の レポートなどを記事にしています。ぜひフォローしてください! 2025年8月に行われた社内ハッカソン Claude Code について学ぶ会 © 2025 Simplex Holdings, Inc.

43.

おわり © 2025 Simplex Holdings, Inc.