1
/
5
Mid-career
Webエンジニア
on 2020-12-20 607 views

オンライン家庭教師を広めたい!Webエンジニア募集

株式会社NoSchool

株式会社NoSchool members View more

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

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

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

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

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

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

    2017年12月に新規事業コンテスト「SWITCH」で入賞してからは、1年以上に渡って「オ...

What we do

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

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

■iOSアプリマナリンク
https://apps.apple.com/jp/app/%E3%83%9E%E3%83%8A%E3%83%AA%E3%83%B3%E3%82%AF/id1526782581

■Androidアプリマナリンク
https://play.google.com/store/apps/details?id=jp.manalink.app

■マナリンクTeachers | オンライン家庭教師の働き方・採用を応援!
https://for-teachers.manalink.jp

Why we do

オンライン家庭教師のみならず、家庭教師業界では利用者と提供者の情報が事前に見えない点が多いです。(例えば、本指導になるまでどの先生が担当するかわからないなど)

それ以外にも、日々のやり取り(日程調整、スケジュール管理、宿題管理、保護者への報告...etc)と、裏側にはまだまだアナログなやり取りで不効率に行われているオペレーションがあります。

オンライン家庭教師のマッチングと聞くと、単に「先生と生徒・保護者」をマッチングさせるだけでは?」とみえるかもしれないですが、

マッチングしてからがスタートです。我々マナリンクで目指す世界は「ただマッチングさせるだけではなく」

- 指導に集中していただくためのその他の煩雑な業務の最適化
- 保護者様/先生の従来のアナログなやり取りの改善
- 指導の見える化

など、「マッチング」で終わるのではなく、先生もマナリンクで指導をすると指導力が向上する・改善できるような、マンツーマンのオンライン指導でご家庭・先生がマナリンク無くして他では指導できない・受けれないと言われるような世界を目指しています。

How we do

  • 自動テストを書くのは必須です
  • TypeScriptを積極的に導入しています

■開発メンバー
フルタイムの開発メンバーはCTO1名で開発しています。
また、業務委託でReact NativeとFirebaseをゴリゴリ書いているエンジニアさんが1名居ます。

Profile: https://meijin.dev
GitHub: https://github.com/TeXmeijin
Twitter: https://twitter.com/meijin_garden
Qiita: https://qiita.com/mejileben (3300Contribution以上、Laravelタグ別Organizationランキング9位※2020年12月時点)
Zenn: https://zenn.dev/meijin

・CTOのスキルセット
Webを中心に薄く広くカバーしています。フロントからバックエンド、インフラまで一通りできますが、フロントエンドが特に好きな分野です。ここ1年ほどはTypeScriptが気に入っています。
前職はエンジニア100名程度の組織で、3年ほどSymfony/Sinatra/jQuery/AWS Hadoopなどを触っていました。

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

■開発に対する考え方
①テストコード
テストコードを書くことを大切にしています。
実装が綺麗かどうかも大事ですが、どのみちあらゆるシステムはリファクタやバージョンアップの必要があるため、テストコードを書くことを最優先で考えています。
テストコードに救われたことは枚挙に暇がありません
最後は手動でもテストします。Notionでテスト仕様書を書きながら要件を満たしているかチェックします。

②ユーザー起点
実際にユーザーがどのように使っているか、をベースにして開発します。
たとえば、画像をチャットに送信するテストでは、実際に本番環境でよくあるシチュエーションである、「教科書の写真を送信する」を再現するために、オフィスに置いてある青チャートの参考書の写真を撮影して送ってテストしたりします。

■利用技術

アプリケーション
- Nuxt.js
- TypeScript 4.0
- Scss
- composition-api
- jest
- microCMS
- Laravel
- PHP 7.4
- PHPUnit
- 単一責任の原則をある程度守って開発しています(例:(https://qiita.com/mejileben/items/48473a572ec07cbaf65f)
- Next.js
- linaria
- NestJS
- Firebase
- Auth, Functions, Storage, Firestore
- QA/CI/CD
- GitHub Actions
- Sentry
- AWS CodeDeploy
- 外部サービス
- Pay.jp

インフラ
- AWS
- ECS(Fargate)
- CloudFront
- S3
- RDS
- ElastiCache
- Local開発
- Docker, docker-compose
- Firebase Emulator

---

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

代表の考え方、サービスを今後どうしていきたいかなどの想いはこちらをご覧いただけますと幸いです。
https://note.com/akiq

As a new team member

■業務内容
- 初期スタートアップのため、Web技術を中心にフルスタックでサービス開発していただきます。
- 要件定義から、データベース設計、そして実装・テストまで通して関わっていただきます。
- 要件定義は、主にGitHub issue上で議論しながら進めていきます。
- 難しい要件であればデータベース設計やクラス設計の時間を取ります。
- デザインについてはデザイナーさんに作っていただくこともありますが、簡単なものであればエンジニアがFigmaで叩きを作成して進めます。
- SPAを採用しているのでフロントエンドとバックエンドを分けて実装します。
- 実装が終わればソースレビューを出します。当面は、最終的にCTOがソースコードに目を通してマージします。
- バックエンドを実装するときは必ずテストコードも一緒に出します。

■必須スキル

- HTTPに関する基礎知識を有している(著名なヘッダを知っている、GETやPOST等の使い分けができる、ステータスコードの使い分けができる)

- 言語問わず、テストコードを書いたことがある

- AWSやGCP等でサーバーを立ち上げたことがあり、SSHでの公開鍵暗号方式を用いた接続を難なく行うことができる

- 著名なLinuxコマンド(cd/grep/top/find/digなど)ならば即座に実行できる。簡単な正規表現を書くことができる

- SQLに関する基礎知識を有している(JOINを用いた複数テーブルからのデータ取得ができる、正規化されたテーブルとそうでないテーブルの見分けがつく)

- 著名な脆弱性について簡単な説明と対策方針の説明ができる(XSS、CSRF、SQLインジェクションなど。MFAの利用経験がある。ハッシュ化と暗号化の違いを説明できる)

■歓迎スキル

- ある程度セマンティックにHTMLを扱うことができる(ボタンをdivでマークアップしない、リストタグを使う)

- CSSのコーディングスキル(BEMを知っている、メディアクエリによるレスポンシブデザインを実現できる)

- JavaScriptの実装スキル(クロージャの理解、exportおよびimportのモジュールシステムの理解、簡単なbabelやwebpackの設定)

- TypeScriptの実装スキル(交差型等の理解、Mapped Types等の応用的な型の理解、tsconfigの設定)

- ソフトウェア設計スキル(抽象クラスとInterfaceの使いどころの違いを説明できる、DDDやクリーンアーキテクチャの概念を理解している、Dependency Injectionを活用してテスタブルなコードを実装できる)

- ネットワーク設計スキル(CDN→ロードバランサ→Appサーバーといったネットワーク設計をゼロから実施でき、読み取りもできる。疎通確認のためのLinuxコマンドをある程度把握している)

- データベース設計スキル(多対多等の複雑な関係性のデータの表現、履歴型のデータの表現ができる。安全にマイグレーションを本番環境で実行できる。論理削除と物理削除を使い分けられる)

- 品質管理スキル(テストコードをFixture等を用いて整備できる。DoS攻撃等も含めた様々な脆弱性について検査、指摘、改善ができる。各種メトリクスを確認し適切なサーバースペックを指定できる)

---

必須スキルに加えて、歓迎スキルを何個か有していると有り難いです。足りないところはCTOがサポートしますが、逆に、CTOがカバーしきれていないスキル領域があると、お互いに補完し合えるので望ましいと思います。

NuxtやLaravel特有の知識はあとからキャッチアップできるので、基礎知識の方を重視したいです。

特に、これからシステムがスケールするフェーズのため、インフラや脆弱性、データベースに関する知見に明るい方を特に歓迎します。

■その他
・採用形態:正社員(試用期間3ヶ月)
※正社員前提であればお試しで副業期間(数ヶ月)なども相談可能です

・勤務場所:東京都千代田区(最寄り駅は水道橋駅)
※コミュニケーションを重視しているためオフィス勤務となります

Highlighted stories

2021年4月度 マナリンクリリース7選【Web】
LaravelリポジトリのREADME.mdを改善しました!
PHPUnitでテストするときのちょっとしたTips5選
Other users cannot see whether or not you're interested.
1 recommendation
Company info
株式会社NoSchool
  • Founded on 2018/05
  • 7 members
  • Average age of employees in 20s /
    Funded more than $300,000 /
  • 東京都文京区本郷2丁目8番2号 KTビル3階
  • オンライン家庭教師を広めたい!Webエンジニア募集
    株式会社NoSchool