現在位置: ホーム / みらくるブログ / 2018年度インターンシップ報告

2018年度インターンシップ報告

2018年度の新卒が今年のインターンシップの受け入れ担当を行いました。本記事では、受け入れ担当視点でのインターンシップの事前準備やインターンシップ当日の様子、事後活動まで含めた内容となっています。

 OSS技術本部 応用技術部でエンジニアとして働いています。ukiです。新卒採用で2018年4月からサイバートラスト株式会社に入社しました。生まれは北海道ですが地元の大学を卒業した後に今年の3月に東京へ引っ越しました。学生時代はFree Libre Open Source Software(FLOSS)1の開発やコミュニティへの参加といった活動をしており現在も趣味として続けています。GNU/Linux2は専門分野ではないのですが頑張ってお仕事しています。
 9月3日から9月7日までの5日間インターンシップで8名の学生を受け入れ、僕はインターン事務局の一員として活動しました。本記事では 一受け入れ担当の視点からインターンシップ当日の様子だけでなくインターンシップの事前準備と事後活動も含めて報告します。

インターンシップ概要

目的
 本インターンシップは「サイバートラストの社風と技術分野を体験し、今後の進路決定に活かしてもらう」ことを目的としています。
 せっかく学校を離れ会社のオフィスで作業するのですから、実際に働いている社員やオフィスの様子を通じてその会社の社風や雰囲気を経験しなければもったいないです。
 またインターンシップに応募した方々は「GNU/Linux」や「Open Source Software(OSS)」「Public Key Infrastructure(PKI)」「セキュリティ」3といったサイバートラストがカバーする技術分野に関する単語に惹かれ、そういった技術に触れたくて応募したはずです。インターンシップの内容がこれらにかすりもしないならそれは期待を裏切ることになるでしょう。
 サイバートラストのインターンシップは新卒採用と一切関係はありません(事実、僕はサイバートラストのインターンシップはおろかインターンシップという行事そのものに参加したことすらありません)。会社見学を兼ねた夏期短期講習とでも言えばいいでしょうか。GNU/LinuxやOSSあるいはPKIが得意な企業はサイバートラスト以外にも数多くあります。この経験を進学あるいは就職などといった進路決定の判断材料に活用してくれれば……という思いです。

 実習内容
 5日間のインターンシップは以下のような流れで進みます。

日時 午前 午後
9月3日 オリエンテーション オリエンテーション・懇親会
9月4日 演習 演習
9月5日 演習 演習
9月6日 演習 成果発表会の準備
9月7日 成果発表会の準備 成果発表会

  実習は大きく分けて演習と成果発表会の2つに分かれています。
 演習は新規サービスやアプリケーションの開発作業・提案ではなく、事務局側で用意した教材を読み演習問題を解いてもらう……という形式です。この教材は

  1. Linuxのインストールとシステム管理
  2. RPMパッケージとYumリポジトリの作成
  3. パッケージのカスタマイズ
  4. OpenSSLによる証明書の発行とクライアント認証
  5. Luaモジュールを利用したリバースプロキシの構築


の全5章で構成されています。1章から3章・5章はミラクル・リナックスが持つGNU/LinuxやOSSの技術分野。4章はサイバートラストが持つPKIの技術分野となっています。公開はしていませんがインターンシップに参加した学生には演習の解答と共にPDFで渡しています。
 インターンシップで使用するオペレーティングシステム(OS)はCentOS 7です。サイバートラストでは「Asianux Server」というGNU/Linuxディストリビューションを提供しています [1]。しかしAsianux Serverを使って演習を進めてもインターンシップ終了後は製品を買うか試用版をダウンロードしなくては演習で使った環境を私用のマシンで再現できません。Asianux ServerもCentOSもRHEL系のディストリビューションなので互換性はあり、どちらを使っても演習問題は同じように解けますが今後の学生の活動を考えれば非商用OSであるCentOSを選択する方が望ましいと考えました。
 最終日はインターンシップの成果発表会があります。ここではインターンシップで苦労した点や新しく学んだ点・感想などについてひとり10分間発表します。スライド作成や発表練習にも時間を確保する都合から演習を進められるのは2.5日間です。一日は10時から17時まで。それに日報を書く時間を差し引くと、演習に割けられる時間は一日5時間ほどということになります。これはかなり短いように思えますがこのインターンシップでなにをやってきたのかを他人に説明することも重視しています。

インターンシップ事前準備

事務局
 2018年度インターンシップ事務局の初回顔合わせは2018年6月26日でした。顔合わせに参加したメンバは

  • 管理本部 1名
  • OSS技術本部 6名(東京4名・松江2名)
  • PKI技術本部 1名

の計8名。これらのメンバでインターンシップを準備します。

 その内新入社員はOSS技術本部の4名です。新卒採用の社員は5月末まで研修をおこない、6月1日から部署配属されています。それにもかかわらず配属して間もない時期から社名を背負ったプロジェクトに参加できたことになります。

 管理本部の社員はインターンシップの事務的な処理を。OSS技術本部とPKI技術本部の社員はインターンシップの実習に関する処理、すなわち当日のインターン生への対応や教材の改定を担当します。

ツール
 インターンシップで用いた主なツールは以下の通りです。

ツール 説明 役割
GitLab ソースコード管理システム 教材執筆とリリース、Issueシステム
Sphinx 文書作成ツール 教材執筆、組版・PDF出力
Slack メッセージアプリ 事務局内のコミュニケーション

Microsoft

Teams

メッセージアプリ インターン生と事務局とのコミュニケーション

 教材はSphinxという文書生成ツールを使いreStructuredTextで書いた原稿をPDFに変換するようにしています。この原稿はGitLabを使って管理しており、教材に関する問題の提案や機能追加の議論はGitLabのIssues機能を使いました。インターンシップの準備中はSlack上でやりとりをしていましたが、インターンシップ中は(1)インターン生にOffice 365のアカウントが配られ、(2)Googleアカウントはインターン生に配布されたアカウントのドメインが正社員と微妙に違うという理由からOffice 365で使えるメッセージアプリMicrosoft Teamsを使うことにしました。

uki_001

 コミュニケーションに使うツールは部署ごとに様々です。Slackを使うところもあればGoogle ChatやGoogle Hangoutを使うところもあります。しかし全社員共通で使えるツールは現状Office 365だけなので、これは良い選択のような気がします。

準備
 インターンシップ当日に向けて次の準備に取り掛かりました。
•    教材にPKIの章(上記でいう第4章)を追加する
•    オリエンテーションで話す「Linux入門」の資料作成と発表練習をする
 準備期間中は主にPKIの章を追加する作業を主に進めます。合併後やオフィス移転後も旧ミラクル・リナックスと旧サイバートラストのネットワークが物理的に分かれたまま共存しており、(1)事務局の中でGitLabへアクセスできるのはOSS技術本部のメンバのみで、(2)教材は旧ミラクル・リナックスで使われてきたものであり執筆作業やビルドはUnix系OS上で4やらなければならないという事情があります。そこで執筆はOSS技術本部の僕たちが担当して、レビューはPKI技術本部の方が担当するという方針で進めました。
 自分用のメモならまだしも他人に読ませる技術文書は内容の裏付けに時間がかかります。また「教えることによる学び」 [2]と言われるように、何かを他人に教えるためにはまず自身がそれについて深く理解している必要があります。
 僕自身、公開鍵認証でSSHログインをしたりOpenSSLで自己署名した証明書(俗に言うオレオレ証明書)を作ったりすることはありますが、だからといってPKIの説明を難なく書けるかというとそうではありません。教材の執筆と並行してPKIについて、その概要やPKIが求められる背景・用いられる技術など最低限の概要を説明できるようになるまで勉強しなければならず、僕が長い文章を書くのが苦手なのも相まって中々執筆が進みません。それに加えてレビューの依頼や指摘内容をもとに修正する作業もあります。Gitのコミットログを見返すと、7月4日から書き始めて8月21日にレビュー含めすべての執筆作業が終了したようです。インターンシップの準備以外にも自社製品の開発業務に携わっている都合上、日数はかかってもインターンシップ準備にかけられる時間は比較的少ないことも影響しています。
 インターンシップ初日では座学として、教材に書いてある用語について解説する「Linux入門」の時間が設けられています。僕はそれの講師役をすることになりました。それに向けて前年度インターンシップで使った発表資料を微修正し、機材テストも兼ねた発表練習を本番当日1週間前に2回おこないました。

インターンシップ当日

1日目(9月3日)
 1日目は事務手続きやインターン生との顔合わせ・企業説明・オリエンテーション・PC設定をします。
 予定どおりオリエンテーションで「Linux入門編」と題して1時間ほど講師を務めました。発表練習のときはうまく接続できていたのにも関わらず、この日だけはなぜか接続がうまくいかないというトラブルに見舞われ予定より15分ほどオーバーしてしまいました。接続不良の際に代替手段のテストを発表練習で確認しておかなかったのは完全に僕のミスです。しかしインターン生からの反応は良かったように思えます(思いたいです)。

uki_002
 
 この日は演習に充てられる時間がほとんどありませんでした。ラウンジで懇親会を催しインターン生と社員との間で交流が深められました。

uki_013

uki_014

uki_015

uki_016

uki_017

uki_018

 

2〜4日目(9月4日〜9月6日)
 2日目から本格的にGNU/Linux上での演習が始まります。
 インターン生からの質問や課題の解答をメールやチャットあるいは口頭で受け付け、
それに応答するのが主な役割です。さながら大学の実習科目で雇われるティーチングアシスタント(TA)でしょう。他には学校によっては日誌に指導者の所見を書く欄があるのでそれに記入したり、学校に提出する実習報告書を書いたり、インターン生が書いた日報にできるだけ返信してコメントを残したり……などです。松江とは物理的な距離がありますが、松江のインターン生とはチャットやメールでコミュニケーションをとれたので僕は苦に思いませんでした。

uki_003

uki_004

uki_005

uki_006


 全体的に、今年は1日1章程度のペースで教材を進めていったようです。ちょうどこの時期に台風21号が近づき安全のため予定より早くインターン生を帰らせる日もありましたが、短い演習時間の中でよく頑張っていたように見えます。
 9月6日の午後から成果発表会に向けた資料作成が始まり、発表資料に関する相談やレビューを担当しました。


5日目(9月7日)
 インターンシップ最終日です。11時に発表資料を事務局に提出し11時30分からランチに出かけます。成果発表会は13時30分から2時間おこなわれます。
 午前中はインターン生の発表資料をレビューし、会議室を予約して発表練習をしました。発表練習は2名分しか見られていませんが提出された発表資料を眺めると図を使って分かりやすい説明をしようとしてくれている方や高橋メソッド [3]を使って発表しようと挑戦している方がいました。発表資料は人柄が出やすく一人ひとり違った特徴があり面白いです。
ランチは次世代リーダ/Benchメンバと呼ばれる社内の中堅メンバ数名と一緒に外食しに行ったとのことです。事務局メンバは同伴しませんでしたが、その間で成果発表会会場の設営準備をしました。
 成果発表会は東京オフィスのフリースペースと呼ばれる、全社員が参加可能な場所でおこなわれました。成果発表会に参加していただいた社員はおおよそ30名ほどです。発表練習の甲斐もあってか、全員落ち着いて発表ができていたように見えます。質疑応答の時間も年上の社員に対してしっかりと受け答えができていました。発表の中でインターン生からは「Linuxのコマンドについて勉強できた」「難しかったが楽しい1週間だった」「インターンシップが終わっても課題の続きをやりたい」といった感想をいただきました。

 インターンシップ事後活動

アンケート結果
 最終日に集めたアンケートの結果を一部紹介します。
 やはりインターンシップの期間そのものが短いという声が強いようです。

uki_009


 演習問題の難易度も難しく感じられたようでした。僕はむしろ全員早めに終わってしまって暇ができてしまうのでは?という危惧を抱いていたのですが、それは杞憂だったようです。しかし教材の解説をもう少し丁寧にしたり分量を増やしたりすることを検討するべきかもしれません。演習ではSSHで公開鍵と秘密鍵を作る方法やGitコマンドの使い方といった教材に書いていないこともやってもらう必要があったので、そこもカバーするようにすべきだと思います。

uki_010

 一方で僕たち受け入れ担当者の対応はインターン生から高く評価されました。とても喜ばしいことです。なるべくインターン生のまわりをうろついたり、こちらから進み具合を聞いたりと当日の対応を頑張った成果がこのような結果に結びついたのだと思います。実はインターンシップ受け入れ担当者に対する評価項目は去年や一昨年のアンケートには含まれていませんでしたが、今年から取り入れることになりました。このように評価が可視化されるのは、来年の対応方針や僕たち自身の評価のためにも良いことです。

uki_011

uki_012


ポストモーテム
 インターンシップの翌週にポストモーテムと呼ばれる振り返りを事務局で実施しました。インターンシップ事務局の運営で良かった点・悪かった点を洗い出し、来年のインターンシップをより質の高いものにすることが目的です。ポストモーテムで挙がった議論については書けませんが、来年の事務局に良い引き継ぎができるのではないかという手応えがありました。

おわりに

 インターンシップ事務局で受け入れ担当として動いた一人として、インターンシップの準備から当日の様子そして終わった後の活動を含めその様子をお伝えしました。
学生時代はインターンシップよりむしろ旅行5や豚肉の低温調理6を優先させた身なので、実は今回初めてインターンシップという行事に関わることができました。インターン生への対応は大学のTA業務と近いものがあり数か月前の暮らしが懐かしく思えます。教材を改定していく中で、調査した内容を文章としてアウトプットできるまで噛み砕ける時間はとても大切であると改めて気が付きました。
インターン生のみならず僕自身も成長できたのかなと思います。来年度のインターンシップはどうなるかまだ分かりませんが、もしこの記事を読んでサイバートラストのインターンシップに興味を持った・参加してみたいと思った、あるいは新卒採用が気になる7と思っていただいたのであれば幸いです。

uki_007

uki_008

参照文献

  1. サイバートラスト株式会社, “Asianux Server 7 == MIRACLE LINUX V7,” [オンライン]. Available: https://www.miraclelinux.com/product-service/linux-solution/axs7. [アクセス日: 11 9 2018].
  2. 慶應義塾大学 湘南藤沢キャンパス 学習パターンプロジェクト, “No.31 教えることによる学び,” 2009. [オンライン]. Available: http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No31.html. [アクセス日: 10 9 2018].
  3. 高橋征義, “高橋メソッド,” 29 11 2015. [オンライン]. Available: http://www.rubycolor.org/takahashi/. [アクセス日: 10 9 2018].
  4. S. Richard, “GNU/Linux FAQ by Richard Stallman,” 31 3 2018. [オンライン]. Available: https://www.gnu.org/gnu/gnu-linux-faq.html.en. [アクセス日: 10 9 2018].
  5. R. Stallman, “FLOSS and FOSS,” 18 11 2016. [オンライン]. Available: https://www.gnu.org/philosophy/floss-and-foss.html. [アクセス日: 10 9 2018].
  6. サイバートラスト株式会社, “サイバートラスト 採用情報 | サイバートラスト株式会社,” [オンライン]. Available: https://www.cybertrust.co.jp/corporate/recruit. [アクセス日: 10 9 2018].

 

1  Free Softwareは社会運動、Open Sourceは開発論とはよく言ったものです。僕は政治的に中立であることを表明しておきたいのであえてFLOSSという語を使います。Stallmanが”’Thus, if you want to be neutral between free software and open source, and clear about them, the way to achieve that is to say “FLOSS,” not “FOSS.”’ [5]と述べた通りです。しかし「フロス」と言っても僕の周りでは誰も理解してくれない(デンタルフロスを連想してしまうらしい)ので、喋るときは「オープンソース」と言ってしまいがちです。意志の力が足りない。本当は「OSS技術本部」も「FLOSS技術本部」に改名してほしいのですがどうでしょうか。
2 Linuxはカーネルのことなので「Linuxが動くOS」という意味でGNU/Linuxと呼んでいます。Stallmanが’ By calling the whole system “GNU/Linux”, and calling the kernel “Linux”, you avoid the ambiguity.’ [4]と述べるように、そう呼ぶのが混乱せずに済むのですがあまりGNU/Linuxと発音している人を見かけません。この記事ではオリジナルで”Linux”が使われていればそのままにしておき、それ以外はなるべく”GNU/Linux”を使うことにします。……しかしStallmanの言葉を引用し過ぎの節がありますね。この文章が政治的に偏っているか否かは読者の判断に委ねます。
3 セキュリティは熱い分野です。インターン生に限らず「セキュリティをやりたいです!」という熱意を見せる方は多い。一方で「なにを」「どうやって」守る技術を体験したいのかはっきりさせておかないと不幸なミスマッチが起きてしまいそうな気がします。もしかすると守りはいいから攻めの技術を習得したい人もいるかもしれません。
4 あえて「GNU/Linux上で」とは書いていないのは、僕はGNU/Linux上で執筆作業をしていないからです。僕が普段使っているOSはFreeBSDで、業務に使うGNU/LinuxはすべてbhyveというFreeBSDのハイパーバイザを使って実行しています。
5 神戸に行きました。神戸牛を目の前の鉄板で焼いてもらいました。
6 大学の研究室では水と電気を思う存分浪費できるので、20Lのポリ容器に水圧で密封した肉を入れ、水温制御クッカーと呼ばれる水温を一定に保てる機械を使って低温調理を趣味にしていました。引っ越しするときはそれを持っていかなかったので、今はもうやっていません。しかし鶏モモ肉を60℃で4時間調理するとえらいことになります。
7 2019年度の新卒採用は終了しました [6]

2020年 新卒採用 実施中!

サイバートラストは2020年新卒採用を実施しております。
興味がある方はお気軽にお問い合わせください。詳細へ
E-mail:recruit@cybertrust.co.jp  採用担当: 山口/原口
タグ: