社内外のエンジニアが参加した「マイナビ Tech Night #1」イベントレポート

2019.06.19

マイナビエンジニアブログ編集部

2019年5月24日、マイナビ竹橋本社にて19時半から始まったマイナビ Tech Night #1。初開催ということもあり、想定以上の予約に恵まれ、当日は50名程度のエンジニアの方や、エンジニアを志望する方々にご参加いただきました。

和やかなムードのなか、軽食やアルコールを楽しみつつイベントがスタート。前半は、マイナビのエンジニア4名が登壇しました。

「学生の窓口」の半内製化の取り組みについて

最初に登壇したのは福間 雄基さん。2018年4月マイナビに入社後、現在はIT戦略事業部に所属し、「学生の窓口」や「中学受験ナビ」「マイナビ家庭教師」「とりぐら」といったメディアを担当されています。

この「学生の窓口」では「開発速度が上がらず、社内にノウハウが残らない」という課題があったと福間さんはいいます。そこで、協力会社を変更するとともに、マイナビ社内においてもそれまでの完全外注体制から半内製体制への切り替えを行うことに。

6ヶ月という対応期限のなか、まずは「デプロイ可能な状態にする」ことを目指し、急ピッチでプロジェクトを進行。新開発体制になったことで、開発に掛かっていた時間が大幅に縮小されたと言います。

半内製体制へ切り替えたことで、「課題だった開発速度が速くなりました。対応が追いつかず、ディレクターが悲鳴を上げています」と笑う福間さん。また、社内に開発者がいることでコミュニケーションコストが減少したそうです。

今回のプロジェクトが成功した要因として福間さんが挙げるのが「期日プレッシャーをかけすぎないようにしてチームの合意を得て進めた」ことや、「小さな成功体験を積み重ねた」こと。また、協力会社のエンジニアが優秀だったことや、リファラル採用で優秀なエンジニアをマイナビに採用できたこともプロジェクトの成功に影響したようです。

福間さん登壇資料はこちら

マイナビ社内のRPA導入の取り組みについて

2人目の登壇者は、マイナビの業務システムを担当している生沼 健志さん。2017年9月マイナビに入社後、全社員・全事業部を対象にRPAの導入プロジェクトに携わっています。

RPAの導入では、基幹業務への影響規模や緊急度合いなどを目安にしながら、外注と内製の切り分けを行ったという生沼さん。

外注の場合は、要件確認や設計の部分をコンサル会社が担い、その後は開発ベンダーを中心に開発を行うそう。さらにリリースに向けた最終準備で再びコンサル会社が入り、要件にずれがないかなどを確認。その後、進捗確認やRPA導入後の横展開などについて計画を立て、連携ファイルの仕様情報の提供や、アクセス権の検討、セキュリティの検証などを綿密に行うのだとか。そしてリリース後に効果測定をし、今後の展開につなげていくといいます。

一方で内製の場合は、まず業務フローを担当者と分析し、RPA導入後はどのように効率化していくのかなど、具体的な処理を設計して構築していくといいます。その後業務フローを分解し、やりたいことの洗い出しをして細かく分析。実際の作業を確認しながら、具体的な操作を一つひとつ細かく実装していくのだとか。

「リリース直後は保守コストが上がるため、綿密な連携を取ることが重要です」と語る生沼さん。エラー通知がないからといって安定運用とは限らないため、つねに効果測定を心がけているそうです。

生沼さん登壇資料はこちら

マイナビのサービスを支えるインフラ業務の取り組み

続いて登壇したのは、バックエンドエンジニアの藤田 啓人さん。2018年マイナビ入社後、現在は商用基盤2課で、AWS IaC化の導入や各システムのCMS調査など幅広く事業部のサポートを行っています。

「従来のインフラ構築は、手順書に加えて手作業でサーバを作成していたため時間がかかり、ミスも多かった」と語る藤田さん。Infrastructure as Code、すなわちIaC化することにより、コードを書いて流せば同じものが同じクオリティでできるため、工数もミスも減り、さらには関わる人も減らすことができるといいます。

現在、商用基盤2課ではAnsibleを導入しており、そこからAnsible TowerやAWXに移行していきたいとのこと。さらに1課ではCloudFormationかTerraformでAWSの構築を自動化していきたいという動きがあり、現在はその導入検証を行っているとのことです。

例えば10台の仮想サーバを作成しようとすると、これまでのネットワークやLBなら2~3日、OSインストールや初期設定なら2日ほどかかるといいます。ところがCloudFormationやTerraformを導入すると新卒でもテンプレを実行すれば何台も同じ環境が作れるため、0.5日ほどで終わるのだとか。このようにインフラ構築を自動化することで生まれたリソースを事業部のサポートにまわしていきたいと藤田さんは語ります。

藤田さん登壇資料はこちら

マイナビ転職のプログラム言語刷新とAPI化について

この日、最後となる4人目の登壇者は矢田 峻介さん。2015年にマイナビに入社し、マイナビ転職の運用・開発を担当しています。

マイナビ転職は、運用を開始して12年が経過しており、サイトが老朽化。廃止された機能などもソースに残っており、検証コストが増大化していたと矢田さんはいいます。また、ColdFusionというレガシーな開発言語を使い続けていたことも課題で、言語が古いため、ベンダーではエンジニアの確保が難しくなっていたのだとか。

そこで矢田さんが取り組んだのが、開発言語をjavaに変更すること。さらに画面とロジックを分離し、ロジック層のAPI化を実施。既存ベンダーが業務ロジックをAPI化し、そのAPIを新規ベンダーが使用して画面を表示するという仕組みです。

その結果、サイトが安定稼働するようになり、全体的に負荷が減少。また、開発スピードが上がりコストも下げることができ、当初の目的だったエンジニアの確保も、言語を変えたことで確実に改善したそうです。

逆にマルチベンダー化したことで、開発が複雑化したり障害発生時の作業量が2倍になるというデメリットも。「この点は事前に想定済みであり、少なくとも当初の目的が達成できたことから、今回の取り組みは成功だった」と矢田さんは語ります。

矢田さん登壇資料はこちら

懇親会では社外のエンジニアと交流

4名のエンジニアによる講演終了後は懇親会へ。和気あいあいとした雰囲気のなかで、社内外のエンジニアの皆さんと交流、情報交換を楽しみました。

「事業会社が自社の取り組み内容を話す機会は珍しい」「マイナビならではの軌跡が知れておもしろかった」など、好意的な意見も多く寄せらせました。またマイナビ社員にとっても、社外のエンジニアと交流するいい機会となりました。

この記事に登場する部署

IT戦略事業部 学生の窓口事業担当チーム

学生の窓口事業の担当チームでは、おもにマイナビ学生の窓口のWebサイトやCMS(記事入稿システム)等のWebサービスを提供するための各種システムの開発・運用・保守を行っています。
Ruby on Railsを用いたWebアプリケーションの開発からSEO施策やUI改善などの、幅広い業務を行っております。

システム統括本部 情報システム課

システム統括本部はマイナビ全体のシステムを統括する部門です。
その中で情報システム課では、社内向けの情報系サービス領域およびIDマネジメントを担当しています。
主に社員向けの各種システムやサービスについて導入・運用を行うとともに、事業部門への展開・運用設計サポートなどを行っております。

システム統括本部 商用基盤チーム

システム統括本部はマイナビ全体のシステムを統括する部門です。
その中で商用基盤チームでは、社外向けWEBサービスのインフラ領域を担当しています。
プライベートクラウドの設計・構築・運用を行うとともに、そのノウハウを生かしてシステム構築や運用など事業部門への技術支援を行っています。

HR転職システム部

HRシステム事業部は主に、新卒向けサービス(マイナビ就職サイト)・キャリア採用向けサービス(マイナビ転職サイト)、高校生向けサービス(マイナビ進学サイト)などを中心に、人材系・教育系サービスサイトやその姉妹サイトを開発・運用しています。
その中で転職システム部はキャリア採用向けサービス(マイナビ転職サイト)を担当しています。日々、SEが社内・社外のユーザーの使いやすいシステムを目指して改善を検討・実現しています。