【週3日〜】React & React Nativeで最高のオンライン指導体験を作るエンジニアを募集 | ワークホップ
採用担当者
【週3日〜】React & React Nativeで最高のオンライン指導体験を作るエンジニアを募集のカバー画像
React & React Nativeエンジニア

【週3日〜】React & React Nativeで最高のオンライン指導体験を作るエンジニアを募集

株式会社NoSchoolのアイコン株式会社NoSchool
気になる!した後の流れ
7人が気になる!しています

やっていること

「プロを指名できるオンライン家庭教師」 オンライン家庭教師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を使って次々機能開発していきたい方にぜひチャレンジいただきたいです。

募集していること

【採用技術】 - 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レイヤの知見も深いためアプリ開発をリードしていただいています。 ネイティブアプリの開発経験に乏しい方でもサポートできます! ▼Hさん WebデザイナーだがVue.jsの実装経験もある。そのためマナリンクではデザインからコーディングまで一気通貫で担当。 マナリンクでオンライン指導に関する機能を実装するときは、先生が普段利用している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、多くのデータの関連を管理すること、最後にグラフで生徒の状況を可視化するといった細かい機能が多いです。積極的にアニメーションなど細かいインタラクションにこだわると良いプロダクトになりそうです。 【テスト/問題作成】 先生が授業の確認テストなどを作成して生徒に送り、回答してもらうことができる機能です。 内製する場合は、本文の中に穴埋め部分を表示したり、入力してもらうところ、数式の表示部分などの実装が少し大変そうです。 とはいえ何かしらの問題作成、回答機能を有する外部サービスがあれば、連携してしまうのが簡単かと思います。何もかも内製するというのはコストになるだけなので効率よく開発していきたいところです。 【オンライン自習室】 ▼目的 意外とニーズが有るのがこのオンライン自習室です。マナリンク上で実現するときは、1人の先生が複数人の生徒とビデオ通話または音声通話を繋ぎながら黙々と勉強し、わからないことがあれば挙手すると言った仕様になるかなと思います。 ▼実装 今のご時世、ビデオ通話や音声通話はagoraやTwilio、Skywayなどを使えば造作もなく実装できますが、オンライン自習室ならではの仕様として、課金したユーザーだけ部屋に入れるであったり、先生が部屋を立ち上げると指導中の生徒にだけ通知がいくなどの細かい部分をリアルタイムで実現するように実装するのが難しいはずです。 リアルタイム通話の実装をしてみたい方はぜひチャレンジしてみてほしいです。 ■待遇/勤務場所 採用形態:業務委託 給与:時給2,000円〜5,000円 勤務場所:東京都文京区本郷2丁目8番2号KTビル3階 (最寄り駅:御茶ノ水駅、徒歩5分) ※コミュニケーションを重視しているためオフィス勤務となります

こんな人におすすめ

外部から資金調達済みのスタートアップのためSOも検討します。 大変なことも多いですが自分の手でプロダクトをつくる、ユーザーに届けることが好きな人、初期フェーズのスタートアップにフルコミット出来るような人に是非来ていただきたいです!

特徴


働き方

副業フリーランス

職種


応募条件

■必須条件/スキル - 3日〜(1日8時間)/週コミットできる方 - 最低6ヶ月〜 勤務頂ける方 - Reactの基礎知識(関数コンポーネントの作成、標準Hooksの利用など) - TypeScriptの基礎知識([https://github.com/type-challenges/type-challenges](https://github.com/type-challenges/type-challenges) のeasyが解ける、mediumもある程度解ける) - Firebaseの基礎知識(AuthとFunctionsを軽く触ったことがある程度) - HTTPの基礎知識(Cache-Controlなどのヘッダを知っている、GETやPOST等の使い分けができる、ステータスコードの使い分けができる) - 何らかのテストコードを書いたことがある - 著名な脆弱性について簡単な説明と対策方針の説明ができる(XSS、CSRF、SQLインジェクションなど) - 技術の勉強が好き ■歓迎スキル - 個人で検証したりサービス開発をしている - React Nativeの基礎知識(Navigationの実装、認証機構などの実装) - React Nativeでのアプリリリース経験 - 簡単なUIデザインなら自分でそれっぽく完遂できる - セマンティックにHTMLを扱うことができる(ボタンをdivでマークアップしない、リストタグを使うなど) - CSSスキル(BEMを知っている、メディアクエリによるレスポンシブデザインを実現できるなど) - Firebase Firestoreにおけるデータ構造の設計経験 - GraphQLによるデータの取得、更新の実装経験 - Redux(redux-sagaなど含む)の利用経験 - Concurrent Mode、Suspenseなど最新のReactについてのキャッチアップ力

株式会社NoSchool

設立日のアイコン2018/05/01に設立
社員数のアイコン〜 10人
所在地のアイコン東京都千代田区
採用担当者はこちら利用規約プライバシーお問い合わせ運営会社
© n, inc