「夏のTechrachoフェア2020」ということで、開発チームの紹介シリーズ記事、複数掲載されていますが、今回は アプリチーム の紹介をさせていただければと思います。
どんな仕事している?
アプリチームでは、自社製品である電子書籍ビューア、デジタル教科書ビューア、およびそれに関連するアプリ、システムの開発を主な業務としています。
Windows/Mac/Android/iOS/Webブラウザ が主な対象環境になっており、特にWebブラウザ向けでは、画面遷移を伴わない、いわゆる「シングルページWebアプリケーション」として開発しています。
これらのビューア製品の自社開発の他に、ビューア製品をコアとしたアプリの受託開発、たまにビューア製品とは関係ない受託開発も実施しているという感じです。
チームの特徴・体制
チームメンバーはそれぞれ異なった得意分野をメインのスキルとして持っています。
- Windows/Macアプリを C++ でガリガリ開発するのが得意な人
- iOSアプリ(Objective-C、Swift)が得意な人
- Androidアプリ(Java、Kotlin)が得意な人
- HTML + CSS + TypeScript & JavaScriptが得意な人
などなど。
さらには、UIを作り込んでゆくレイヤが得意な人、SDKとしてコアな処理を固めていくのが得意な人などなどの違いもあり、全く同じタイプの人はいないと言ってもいいくらいです。
これら、実装寄りの開発スキルを持つメンバに加えて、開発の進行、取りまとめ側をメインスキルとする人たちもいます。
- 開発管理全般が得意な人
- 開発要件、仕様の整理が得意な人
- 品質管理、テストが得意な人
などなど。
アプリチームでは、開発対象の製品、案件毎に、メンバーそれぞれの得意分野を持ち寄る形でプロジェクトを担当します。一緒に担当するメンバから他領域のフィードバックを得られたりと良い刺激があります。
開発においてよくあること
開発においては、完全に0からコードを書くことは稀です。OSSのライブラリを利用することはもちろんですし、大きいものになるとChromium (GoogleのWebブラウザChromeのOSS版) を読み解きつつ、必要な改造を加えるというものもあります。
そうなると、当然ながら微妙に必要性とズレた機能となっていることや、バグを発見してしまうこともあります。
そのようなときには
- 自分たちで直す、改造する。
- 当該OSSプロジェクトのバグ管理システムにバグ報告をして、修正要望の調整をする。
ということも行います。Chromeや、Safariについて不可解な挙動に悩まされることも度々あり、必要に応じでバグ報告を行ったりもしています。
OSSを使うにあたって、ただあるものをあるがままに使うというのではなく、このような対応を行っていくことに「なれている」「物怖じしない」人は活躍できている状況があります。
その一歩前の段階である、普通に利用する場合においても、ドキュメントされていない部分の挙動などを実験的に試したり、ソースコードを読んで確認したりということをよく行っています。
ここ最近の傾向
コロナウィルスに伴う、IT化、リモート化推進ということで、特にデジタル教科書ビューア関連でのビューア機能強化、クラウドシステムの検討、開発というのがかなり大きな割合を占めています。
特に最近は、「GIGAスクール構想(文部科学省)」の進展にかなりの力が入れられていることもあり、超教科書ビューアのサービスプラットフォームとしての進化を目指した開発がてんこ盛りという状況です。
こんなニュース『小中学生1人1台PC端末、99.6%の自治体が年度内に配布予定(yahooニュース)』もあり、社会情勢を見つつ開発頑張ってます!
大規模で安定したシステムの設計、構築にチャレンジしてみたい! という方、興味湧いてきませんか?
これからの見通し
教育のデジタル化、クラウド化に関連する形で、「ビューアをSDKとして製品提供し、開発者の方に使ってもらう」という仕事から、段々とサービスプラットフォーム を運用していくという仕事にシフトしていく部分が大きくなってくるのかなとも思っています。
そうなると、超教科書ビューアコアについての機能強化を進めていくのはもちろん大切なのですが、それ以上に様々な人からのフィードバックを受けて、細かい改善を積み重ねていく仕事、ドキュメント、Webサイトを通じて利用者の方々により丁寧に情報をお伝えしていくことも大事になるのかなと考えています。
そういった各種のタスクを整理、予定立てして進行管理をするという面でも体制、人員強化が必要なところであると考えています。
おわりに
ごく簡単ではありますが、アプリチームの仕事、開発についてまとめさせていただきました。
超絶スキルを持つ開発者は、もちろんチームの開発戦力としてすごく大きな位置を占めるのですが、それだけでは仕事が回っていかないという状況も見え始めています。
最初はドキュメンテーション、テストを担当しながら、徐々に開発を学んでいくことを目指す方、開発への1ステップとしてではなく、コアスキルとして品質管理、テストを極めたい方、実装スキルには自信はないが、情報の整理、方式の検討、ステークホルダー向けの説明・プレゼンテーションに自信のある方にも、活躍していただける場所があると考えています。
本記事でもし興味を持っていただけましたら、採用へのご応募いただければと思います!