1
/
5

Wantedlyは、300万人が利用する国内最大のビジネスSNSです

This page is intended for users in Japan. Go to the page for users in United States.
副業・契約・委託
フロントエンジニア
on 2021/04/12 33 views

React & React Nativeで最高の授業をつくるエンジニア

株式会社NoSchool

株式会社NoSchoolのメンバー もっと見る

  • 株式会社NoSchoolでCTO(最高技術責任者)をやってます。
    2018年創業の教育ベンチャーです。

    ■性格
    好奇心旺盛、アイデア出しが好き。
    ストレングスファインダーの1位が着想です
    根っからの関西人なので、話にオチを付けないと気が済まないときがあります笑

    ■何をやってきたのか
    2016年に高専を卒業後、株式会社LIFULLで3年間エンジニアと新規事業責任者を務めました。
    不動産情報サイトLIFULL HOME’Sの開発・運用でJavaScript、PHP、Rubyあたりを触ってました。

    2019年初頭にCTOとしてフルタイムで入らないかとのオファーを受け、HOME’Sのエンジ...

  • 株式会社NoSchool Founder/代表取締役CEO

    陸上自衛隊少年工科学校卒。18歳でITスタートアップに入社し法人営業を担当。20歳で海外事業部に異動しその後マレーシアにて約4年駐在。
    マレーシアでの新会社立ち上げ、現地責任者として勤務。2018年に帰国しNoSchoolを立ち上げる。

    好きな言葉は「千里の道も一歩から

なにをやっているのか

「プロを指名できるオンライン家庭教師」
オンライン家庭教師CtoCマッチングプラットフォームのマナリンクを運営しています。

■オンライン家庭教師マナリンク
https://manalink.jp

多彩なプロフィールからオンライン家庭教師を検索し、お問合せから決済までできます。

現在はNuxt.jsとLaravel、AWSを中心に開発しています。

■iOS、Androidアプリ
https://apps.apple.com/jp/app/%E3%83%9E%E3%83%8A%E3%83%AA%E3%83%B3%E3%82%AF/id1526782581
https://play.google.com/store/apps/details?id=jp.manalink.app

指導が始まった後のご家庭と先生が連絡したり、スケジュールの管理を行うアプリです。
React Native(Expo)、Firebaseで開発しています。

■マナリンクTeachers
https://for-teachers.manalink.jp

新しい仕事であるオンライン家庭教師の働き方やキャリアについて発信するメディアです。

Next.js(ISR)、microCMSを使って開発しています。

なぜやるのか

オンライン家庭教師業界には大きく2つの課題があると考えています。

- 利用者と提供者が、お互いに事前に情報を見えにくい。例えば体験指導と本指導の先生が異なっているなど、不明瞭な部分が多くある

- 指導以外のオペレーションがまだまだ非効率。先生とご家庭の間で行われる日程調整や宿題管理、計画立案といった事務作業が多く、指導そのものの改善に注力しにくい

1つ目の課題については、マナリンクのサイト上で先生一人ひとりの自己紹介動画をYouTubeで公開したり、分かりやすい価格体系で「指導コース」を作成できるようにすることに取り組んでいます。

2つ目の課題については、ご家庭に対してオンライン指導専用のアプリを提供するとともに先生向けにはWeb上に管理画面を提供し、オンライン指導に関する調整や事務作業を効率化していきます。

「指導以外のオペレーションがまだまだ非効率」という課題に対して、Web上で先生が利用する管理画面を実装し、ネイティブアプリでご家庭が利用する機能を実装していきます。

これらは共通の機能がほとんどになるため、React & React Nativeで開発していきます。
Reactが好きで、Reactを使って次々機能開発していきたい方にぜひチャレンジいただきたいです。

どうやっているのか

現在、副業・業務委託メンバーあわせ7名のチームで日々サービス開発を行っています。

シード期のため、これからどのような機能を実装するか?どういったサービスがあれば、よりユーザーに使っていただけるか?といったフェーズのため、サービスの一部分の開発を担うなどではなく、まさに全員が全員サービス設計を考え、より良いものをつくる!といったマインドです。

そういった環境が好きな方は是非ご応募下さい!

---

【採用技術】
- TypeScript
- React, React Native
- Firebase(Auth, Firestore, Storage, Functions), Expo
- Sentry, GitHub Actions, Prettier, ESLint, Stylelint

これまでマナリンクのWeb実装はVue(Nuxt)をメインで行ってきました。

加えて、前段にFastifyを置いているため、Encapsulation機能を使って一部の機能のみをReactで開発できます(https://www.fastify.io/docs/latest/Encapsulation/)。

先生のプロフィールページなどは引き続きVueで実装しつつ、アプリとの共通機能はReactに統一して開発していきます。

バックエンドはFirebase、Firestoreをメインで構築しています。Firestoreはクエリの癖が強いですが、リアルタイム通信が容易に実装できるシステムを管理不要で利用できるメリットもかなり大きいです。データは基本はFirestoreに保管し、場合によってはRDB + GraphQLなどを使い分けることも検討していきます。

【開発プロセス】

▼業務で利用しているツール
以下のようなツールを普段使っています
- GitHub, Slack, Figma, Google Drive, Zoom, Notion

【開発チーム】
▼CTO
2016年新卒LIFULL入社→2019年より現職。特にフロントエンド技術が好き。

Profile: https://meijin.dev
GitHub: https://github.com/TeXmeijin
Twitter: https://twitter.com/meijin_garden
Qiita: https://qiita.com/mejileben
Zenn: https://zenn.dev/meijin

CTO個人の考えとしてはReactもVueもそれぞれ良いところがあると考えています。開発体制に応じて選択していきたいです。
https://zenn.dev/meijin/scraps/fc5bcd737dc397

▼Yさん
iOSアプリエンジニアを経験後、React Native製アプリを少人数体制で複数リリース経験あり。ライブラリの利用経験が多く、OSレイヤの知見も深いためアプリ開発をリードしていただいています。

ネイティブアプリの開発経験に乏しい方でもサポートできます!

こんなことやります

マナリンクでオンライン指導に関する機能を実装するときは、先生が普段利用しているWeb、そしてご家庭が利用するアプリの両方に実装していく必要があります。

WebのフロントエンドをReactで、アプリをReact Nativeで実装することで、同様のライブラリを使ったり設計手法を互いに応用しつつ実装していくことができます。

オンライン家庭教師サービスは、指導力のある先生方に指導していただけることが最も重要です。オンライン指導を便利にする機能は、先生方から見たマナリンクの魅力を高め、事業の競争優位に大きく貢献できる開発です。

【オンライン指導カレンダー】

▼目的

オンライン家庭教師の先生が使っているGoogle Calendarと連携して、マナリンク上からご家庭が指導予約を行うことができたり、試験日程など重要なイベントの登録ができる機能の開発です。

マナリンクにはオンライン家庭教師を専業で行っている社会人の先生に特化して登録していただいているため、同時に10人以上の指導を行っている先生も多くいます。

そのため、普段利用しているカレンダーアプリでの予定登録と連携して、横断的に指導に関する予定調整ができることが、日程調整の事務作業を減らす上で重要になります。

▼実装

実装する上で難易度が高い、乗り越えないといけないポイントは以下のとおりです。

- データ構造の設計
- Google Calendarとの連携・セキュリティ
- Webとアプリ双方へのカレンダーUIの構築
- 外部サービスとの連携に伴うテスト体制の整備

カレンダーは出来合いのライブラリでUIを作るか悩みどころです。Google Calendarとの連携はある程度疎結合にやっておきたいですから、設計手法も工夫ができそうです。

【映像授業】

▼目的

先生が事前に予習用の動画をアップロードして生徒に見てもらうことで、指導効果を高めます。

オンライン指導は週に1度、1時間といった頻度が多いため、貴重な指導時間の効率アップが必要です。また、先生にとっては指導動画のストックを作成していくことで、日中のスキマ時間を自分の指導力アップに有効活用ができます。

▼実装

- 動画のアップロードをどう作るか
- 特にReact Nativeアプリ内での動画再生UI。再生や一時停止など自前で組むか?

動画を自前で所有したり、再生のUIをある程度自前で組むとなると工夫のしがいがありそうです。

【生徒の学習計画立案と分析機能】

▼目的

先生が毎日○ページ問題集を進めると言った勉強計画を作成して、そのとおりに生徒さんが学習を進めているかどうかをチェックしてほしいといったニーズがあります。

計画の立案と実行のみならず、日々の勉強時間や使っている問題集などを先生が画面上で確認ができて、必要に応じてグラフにするなどの可視化を行います。

▼実装

- データ構造の設計
- 日々の利用頻度が多いため、入力が自然に行える画面遷移やUI構築
- グラフをWeb、React Nativeに描画

使う技術としては難しくないですが、基本的な入力UI、多くのデータの関連を管理すること、最後にグラフで生徒の状況を可視化するといった細かい機能が多いです。積極的にアニメーションなど細かいインタラクションにこだわると良いプロダクトになりそうです。

【テスト/問題作成】

先生が授業の確認テストなどを作成して生徒に送り、回答してもらうことができる機能です。

内製する場合は、本文の中に穴埋め部分を表示したり、入力してもらうところ、数式の表示部分などの実装が少し大変そうです。

とはいえ何かしらの問題作成、回答機能を有する外部サービスがあれば、連携してしまうのが簡単かと思います。何もかも内製するというのはコストになるだけなので効率よく開発していきたいところです。

今回は業務委託の方と募集となります。
必須事項としては、
・最低6ヶ月契約
・週3日(1日8時間)
・コミュニケーションを重視するためオフィス勤務となります

会社の注目のストーリー

2021年4月度 マナリンクリリース7選【Web】
LaravelリポジトリのREADME.mdを改善しました!
PHPUnitでテストするときのちょっとしたTips5選
エントリー状況は公開されません
0人が応援しています
会社情報
株式会社NoSchool
  • 2018/05 に設立
  • 7人のメンバー
  • 社長が20代 /
    3000万円以上の資金を調達済み /
  • 東京都文京区本郷2丁目8番2号 KTビル3階
  • React & React Nativeで最高の授業をつくるエンジニア
    株式会社NoSchool