【退職エントリ】③社団法人の一事務局員がCTOとして勤め上げるまでの14年間_3_2014-2016年編

前置き

本記事について

2023/03/31 付けで 14 年間勤めた 一般社団法人全日本ピアノ指導者協会 ( ピティナ ) を退職しました。
後半は CTO としてだけでなく、事務局内の組織改革などにも手を着けていました。

本記事は、そんな人間による退職エントリです。在籍期間が長いので、思いで語りとして記録をつけておきます。

以下 5 分割の一編となります。

  1. 【退職エントリ】社団法人の一事務局員がCTOとして勤め上げるまでの14年間_1_2009-2010年編

  2. 【退職エントリ】社団法人の一事務局員がCTOとして勤め上げるまでの14年間_2_2011-2013年編

  3. 【退職エントリ】社団法人の一事務局員がCTOとして勤め上げるまでの14年間_3_2014-2016年編 ← 本記事

  4. 【退職エントリ】社団法人の一事務局員がCTOとして勤め上げるまでの14年間_4_2017-2019年編

  5. 【退職エントリ】社団法人の一事務局員がCTOとして勤め上げるまでの14年間_5_2020-2022年編。そして退職に至る経緯

三行要約

  • 2014 年 : 事務所のインフラ大整備を敢行。FileMaker カスタム WEB を使わずに MySQL 環境を本格導入しようと固く誓った年

  • 2015 年 : PHP から Ruby への本格移行開始

  • 2016 年 : いわゆる、いちエンジニアリーダーレベルから CTO として動き始めるように

対象読者

  • 退職エントリを読むのが好きな人

  • 非 IT 人材が CTO になるまでの過程を知りたい人

  • ピアノ教育業界における社団法人での仕事の中身を知りたい人

わたしについて

  • 野口 啓之 / Hiroyuki Noguchi / Hi-Noguchi

  • 現在は 株式会社きみより 代表取締役

  • その他、入局の経緯や想いなどは以前の記事参照

ピティナ ( 一般社団法人全日本ピアノ指導者協会 ) とは

  • ピアノを中心とした音楽教育の推進をしている団体

  • 2023/04 現在 18,000 名弱の会員が所属されている一般社団法人

  • ピアノ教育に関わることならほぼ全てに関して幅広く事業をおこなっている

    • コンクール

    • セミナー/eラーニング

    • 教室紹介

    • 曲事典./音楽研究所

    • などなど……

2014 年

主な担当について

  • 引き続き IT + 紹介事業責任者として

  • IT チームはわたし以外全員抜けて、新たに中途採用でメンバー総入れ替えに

    • このあたりからかなり採用に力を入れていくように

    • 当時、サービス始まったばかりの Paiza を全力活用

事務所インフラ大整備

  • 徹底的に事務所内のインフラ整備を敢行しました。具体的には以下の通り

    • インターネットプロバイダの変更。共用 100Mbps → 専用 1Gbps へ

    • 事務所内 LAN ケーブルの全変更。cat5 → cat6a へ

      • ふつう、配線の変更をおこなうのは外部業者さんに依頼するものなのですよね。今ならそういう「常識」を持っているのですが、当時は何もわからん若造でしたので、自分で床をひっぺがして LAN ケーブル交換をしましたよ。複合機動かして、机動かして……一部屋に何時間かかったことか……

      • あわせて L2SW の変更なども

    • ルータの変更

      • 現在も使い続けている機種なので公開しませんが、自前で管理できるようになって大満足!

    • 電話のアナログ回線 → デジタル回線へ

    • IP 電話として BeePo サービスの導入

      • これにより、在宅でも喫茶店でも、外線着信を取れるし、外線発信できるし、内線を回すことができるように

FileMaker Server カスタム WEB での大事故

  • ちょっともうあまり仔細にはここで語れない規模の大事故が FileMaker カスタム WEB 環境でありまして……

    • 仔細を聴きたい方がいらしたら、何か別の機会に、お話ししましょう😂

  • ピティナの中でもメイン中のメイン事業であるコンクールの WEB 申込に、カスタム WEB を使っていたのですが、事故って復旧もできなくなって二週間近く止めることになってしまいました

  • これを機にカスタム WEB の利用をやめて、WEB 申込は MySQL 環境をメインとしていこうという方針に

    • PHP + MySQL がよいのか? Ruby + MySQL がよいのか? と、悩み始めることに……

チケット座席指定席システム開発

  • むかしむかしは、座席の指定席は電話で受けて、紙を塗りつぶすといった管理をしていたものじゃよ

  • WEB でリアルタイムに受け付けられるように内製。CakePHP 2.x + MySQL

    • 裏側の管理システムは FileMaker で

  • 開発体制 2 人で、実質開発期間 28 人日くらいでやりきった。ムチャシヤガッテ……

  • 2014 ~ 2020 年くらいまで使うことになりましたので、コスパはとても良かったはず。元は取れた。しかし CakePHP 2.x からの移行コストを今後払うかというところで、継続は断念

    • 今はよい外部サービスも増えましたからねー

FileMaker Go + iPod Touch でコンサートチケットの QR コード化

  • 前 2013 年にコンサート主担当になったことで、「チケット売って発券して発送して」という業務を経験し、これはもうやってられん! と思うに至る

  • しかも、紙のチケットだと、「誰が来てくれたか」を後で確認するのもとても大変……!

    • 発券番号から照らし直せばできなくはないけれど……

  • ということで、メールで QR コードを送信し、FileMaker Go を iPod Touch に入れて当日受付ではそれで対応できるようにしました

    • 当時の iPod Touch だとカメラの認識精度が低くて、受付でちょっと手間取ったりしたということはありましたが、このあと年々改善していけました

新規事業としてeラーニングのサブスクリプション化構想

  • 当時既に「eラーニング」サービスはあったのですが、有効期限つきのレンタルストリーミング動画視聴、という形式であったため、売上が伸び悩んでいました

  • そこにテコ入れすべく、サブスクリプション型に切り替えて新しい事業として伸ばしていこうと言うことを構想し始めたところです。色々と収益シミュレーションしたりユーザのペルソナ考えたり……といったことをしていました

  • また、サブスクリプション型に切り替えやすいように、ストリーミングサーバのベンダーを切り替えたりとかも。ミルビィにしました

身につけた技術スタック

  • WEB サーバー

    • nginx

      • 今でも大好き

  • CSS フレームワーク

    • Bootstrap

      • 今さら……ではあったけれど、手に馴染むまでは触った。しかしどうにも Class 名の定義が肌に合わなかった

    • Webplate

      • Bootstrap よりこちらの方が好みだった。マイナー。知ってる人いる……?

  • ネットワーク

    • 外注保守委託していたルータの管理を自分でおこなえるようにするための基礎知識全般

  • 身につけた……というと烏滸がましいレベルだけれど通り一遍触ったものについては以下

    • プログラミング言語

      • C, C++

        • 2013 年に Java, C# を触ったので、C も触ってみなくてはなるまいと思い

      • Haskell

        • これまでオブジェクト指向メインだったため、関数型に触れてみたく

    • JavaScript フレームワーク

      • React

        • 仮想 DOM がバズり始める少し前くらいに触っていた。jQuery に段々と厭気がさしてきた頃だったような記憶

      • Mithril.js

        • React が肌に馴染まず触ってみた。けれど、これも馴染まず。以後、しばらく JS フレームワーク難民に

  • その他

    • Google Apps Script ( GAS )

      • GAS はどの区分に入れればよいのだろう……?

      • この手前から触ってはいた気がするけれど本格的に導入していったのはこの年から

    • Slack

      • Slack 使い始めの年。Slack bot などにも手を出し始めていた

    • Trello

      • ToDo 管理について、この前後からしばらく難民に

      • 何だかんだ Trello は 2014 ~ 2018 頃まで使ってはいた

余談:プライベート

  • 結婚・入籍した年でした。物件探したりお引っ越し準備したり……

2015 年

主な担当について

  • 開発能力高く社会人経験も長いメンバーだけで IT チームが構成できるようになったので、これまでで一番「プロフェッショナル」感が高いチームで仕事ができました

  • このあたりから本格的に CTO 的な動きをし始めることに。まだ名乗りだしはしていなかった

  • IT 以外にいっぱい新規事業を企画~実務までやっていました……今振り返ると、どうやって仕事回していたんだろう……?

  • マイページを運用させてみて、色々問題点が見つかっていたので、載せ替えのための設計をじっくり検討し始めていた

  • またこれらとは別に、「ピティナ指導者賞」という、栄えある賞の受賞者を算出する担当者にもなりました。これがまた、毎年レギュレーション変わるし、基準から算出する作業にデータクレンジングがあったり、大変で大変で……

PHP → Ruby への移行

  • それまで PHP / CakePHP を主に WEB 開発では採用していたものの、当時は猫も杓子も Rails な波があったので、そこに乗るべきかどうかだいぶ悩んだ挙げ句に、乗ることに

  • Laravel をかなり真剣に検討したものの、実績で Rails を導入することに

  • Rails で開発すべきプロダクトをたくさん列挙して、どこまでモノリシックに開発するか、どこから切り分けていくか……ということを、結構議論していましたが、当時は大部分をモノリシックでいくことに

    • フロントも erb を採用して、フルスタック Rails ! って感じでやっていこうということになりましたが、まだ Rails に API モードありませんでしたし、JS フレームワークも未成熟だったので、この時点でこの判断は間違いではなかったと思っている

    • Sass の採用については悩みながらも導入せず。これについては最近の CSS の進化を見ても、まあ妥当だったかなと

      • 今でこそ Sass が強く生き残ってますが、当時はまだ LESS もけっこう強かったですし

    • Coffee は明確な判断で入れませんでした。AltJS 系は流行廃りが大きいということで、スルーしていく方針に

      • 2019 年以後くらいで TypeScript ならまあいいかなってなっていった

モバイルアプリへの対応検討

  • 世は「モバイルアプリ全盛時代」に突入していた感じで、モバイルアプリを持っていない企業は企業にあらず、みたいな風潮がありました。……よね?

  • なのでピティナでも、モバイルアプリ開発熱というか開発圧みたいなものがあったのですが、開発人材層と体制の関係で、どう考えても無理で、代替としてノーコード的なもので凌いでみてはどうだろうかということであれこれ検討することに……

    • この話はまた仔細をここで語れないため、別の機会があれば、お話ししましょう🍻

  • 結果的にはモバイルアプリは今日 2023/04 に至るまで出していませんが、正解だったと思っています

新規事業あれこれ

  • POST ( PTNA Online Second Teacher )

    • ひとくちにいえば WEB 上での動画演奏評価サービス

    • 生徒が演奏動画を提出。その際、評価をして欲しい先生を選ぶことができる

    • 先生は、指名され提出された動画を視聴。いわゆるニコニコ動画的なインターフェイスで、指定の秒数タイミングで演奏に対するコメントを残すことができる

    • という、今にすればこの業界にとっては「早すぎた」と思えるサービス

    • 初めて Rails を採用するのに相応しいかと考えてお試しでやってみることに。以後、Rails の本格導入が始まることに

    • また、決済に WebPay を採用しました。しかし、後にあんなことになるとは……

      • WebPay についてつらい想いをした人とは良いお酒が飲めそうです

  • ピアノルームシェア

    • 夏休みの期間中は日常レッスンがお休みになることが多い。そのあいだ、「先生のレッスン室のピアノ」には空きが出る

    • 一方で、ピティナのコンクールの決勝大会に参加予定の人は、全国各地から東京へやってくる。東京で直前に練習したい

    • という両者をマッチングさせるためのサービス

    • マッチングを仲介するスタッフのコスト(=つまり私の人的コスト)が負担として大きかった上に、なかなかスケールしづらいというのが難点であった

    • 確か申込はフレームワークなしの PHP で、フロントも素の JS で、自分で作った記憶

  • カラオケ館との業務提携

    • 当時、カラオケ館の上野店にはグランドピアノが設置されている部屋があり、そこを、ピティナ経由で借りることができるというサービス

    • 東京オリンピック需要に合わせ、上野店が立て壊しになるタイミングで提携終了

    • 最小限のコストで運用させたかったので Google フォーム+スプレッドシートだけだったかな

    • ビーアンドブイの部長さんと、焼きとん屋さんでお話ししたのがとても良い思い出

身につけた技術スタック

  • JavaScript フレームワーク

    • Riot.js

      • React, Mithril.js と比べた時に一番肌に馴染んだ

      • 1.x / 2.x はかなり触っていて、個人開発の方で採用したりもしていたが、3.x 以後は全く触れることがなくなった

      • とはいえ、今でも親しみ感は強くある

  • CSS フレームワーク

    • 何か色々触りまくっていた。結構難民めいた感じがあった

      • Bulma

      • Foundation

      • Material UI

      • などなど……

    • Materialize

      • 最終的に導入したのは Materialize だったし、まだ Materialize で動いているサイトが現役ではあるけれど、やっぱりカスタマイズがつらくなっていったので CSS フレームワークを脱けようというきっかけになっていった

      • ひさしぶりに覗いたけれどもう何年も更新されていないなあ……

  • インフラ全般

    • Ubuntu

      • ずっと CentOS 使っていたけれどこのあたりで Ubuntu へ移行。今でも愛用中

    • Vagrant + Virtual Box

      • Docker も触ってみていたけれど、当時はこの組み合わせの方が馴染んだ

    • ConoHa

      • サーバのインスタンスについては数年使っていた GMO クラウドの次、どうしようかと悩んで、コスパの良い VPS へ移していくことに

  • 身につけた……というと烏滸がましいレベルだけれど通り一遍触ったものについては以下

    • プログラミング言語/フレームワーク

      • Ruby

        • これまで採用していた PHP に代わって Ruby を導入していこう! ということに決めたため、学び始め

      • PHP / Laravel

        • CakePHP 3.x に移るかどうか、Rails を採用するかどうか、ということを検討していた時に、導入一歩手前くらいまで触っていた

        • 最終的に Laravel がこのあとどこまで発展するか読めずということで導入しなかったけれど、まさかこんなに広まるとは。これには本当に感嘆

      • Crystal

        • Ruby 拡張ということで面白そうと思って少し触り始め

      • Rust

        • 当時のメンバーと「新しく面白そうなのが Mozilla から出てきた!」と盛り上がっていた

      • Go

        • なぜか Rust との比較対象で挙がりがちで、それならと興味本位で触ってみた

      • Lisp

        • C, Java など触ったので古典的なところをもう少し……ということで。エイリアン本。

        • Lisp はやっぱりいまだに惹かれるので、学び直したい

      • Python 2 / 3

        • PHP, Ruby と来たら……という感じで Python にも少し慣れ親しんでおこうかなと。一応 Python 2 と 3 を比較しながら違いを見て取って、へー、って頷いてました

        • 当初、インデントでブロック作っていくのがサッパリ慣れなかったのですが、Lisp のインデントの仕方も並行して眺めていたので、このあたりで各言語の特徴と面白みが掴めてきた気がする

    • クロスプラットフォーム開発

      • Monaca

      • Apache Cordova

        • 上記二点については、ネイティヴ言語でのアプリ開発経験がないメンバーで、どうやってモバイルアプリ全盛期への対応をしていこうか……と悩んで試行錯誤していた

  • その他

    • Slaask

      • Slack を問い合わせ窓口の回答に使えないかーみたいなことを試したりしていました

2016 年

主な担当について

  • 2014 - 2015 年に在席していた Rails つよつよエンジニアが脱けてしまって、代わりに新卒エンジニアをつよつよエンジニアへ育てていこうの旅が始まる。ここから、多くの新卒エンジニア育成の終わりなき始まり……

  • 明確に CTO という名前・概念、ポジションを意識して名乗り始めたのがこのあたり

  • マイページのリニューアルを果たすべく、着々と設計を練っていた一年間

eラーニングのサブスクリプション型リリース

  • 2014 年に検討開始したeラーニングのサブスクリプション型を Rails でリリースすることができました

    • 裏側の管理システムは例によって FileMaker です。そこも含めて開発体制 2 名(うち 1 名わたし)新卒エンジニアに Rails に慣れてもらうためにアサイン

  • まだ JS については jQuery でがんばってましたね。というかいまだにこの当時の設計のまま現役で動いてくれています

    • OGP 対応できていませんね、すみません……

https://elearning.piano.or.jp

開発者ブログをはてブロから徐々に Qiita へと

  • 組織としての開発者ブログをはてブロに作って運用していたのですが、Qiita Organization を知ってそちらへも登録

  • まだ完全移行ではないですが、徐々に Qiita へ移行していこうということに

ドキュメント管理難民に

  • この年、ドキュメント管理サービスどうしようかーって、難民と化していました。この難民状態は 2017 年まで持ち越すことになる

  • 色々触ったりオンプレに入れて見たりしてみては、「違うなあ……」となる

  • 試したものは以下……

    • Kibela

    • DocBase

    • esa

    • GROWI

    • Knowledge

    • Scrapbox

    • DocuWiki / PukiWiki

    • 自作 Markdown エディタ + Google ドライブ保存

身につけた技術スタック

  • 何だかんだ結構色々触っていたはずなのだけれど忘れているなあ……

  • プログラミング言語/フレームワーク

    • Ruby / Ruby on Rails

      • この時点では一通り読み書きできるところまでは

      • 関数型 Ruby とかいう邪道を試してみたりもしていたのは良い思い出

      • "Effective Ruby", "Ruby Under a Microscope" など興味深く読めた

  • クラウドサービス

    • GCP

      • 部分部分で GCP を使い始め

  • その他

    • CData Plugins

      • CData の Plugin を使って Google スプレッドシートから FileMaker へデータインポートさせることなどやってみていたのがこの年

      • Claris Connect に移行するまで、活躍してくれました

    • Firebase

      • リアルタイム DB でブログ記事「今何人閲覧中」みたいなのを実装してみたり

後書き

雑感

前回記事から少し間が空いてしまいました。書くのに結構なカロリーを使う……!

何か、直線的に一歩ずつ進んでいる感じが自分でもあまりしていなくて、けっこうな跳躍をしていないか……? と思えます。他の方の目から見て、どうでしょう……?🤔
このあたりの年で学んでいる内容を見ていると、もう立派な IT エンジニア! って感じがしますし、今でも現役の技術スタックが名前を見せてきていますね。

ひとくちに言うと、好奇心の塊みたいな感じで、新しいものへ突撃していくのが好きだったんだろうか……? と思うのですが、我ながらもはやこの頃の自分のことがよくわからない。

さて、続きは次回の記事にて……

次の記事

前の記事

宣伝

こんなわたしが代表をしているのが 株式会社きみより です。

何事も顧客自身(「君」)の手に「より」実行していただくために、顧客(「君」)に「寄り」添っていきたい

というヴィジョンのもとで、

CTO / IT 顧問として、DX 推進に必要となる全ての事項に関する相談に応じる

という、「お悩みなんでも打ち返します!」なお仕事をしています。
ちょっと難いお題目は抜きにしても、

  • 社内組織の円滑な運用に悩んでいる!

  • プロジェクトマネジメントがうまくいかない!

  • チームマネジメントがうまくいかない!

  • 「ひとり情シス」状態で困っている!

  • 「ひとり情シス」が辞めてしまった!

など、何かお困りゴトがあればお気軽にご相談ください! 🙌

この記事が参加している募集

退職エントリ

この記事が気に入ったらサポートをしてみませんか?