- 名前: 栗田 学(Manabu Kurita)
- 生年月日: 1992年9月26日
- 連絡先: kuritaアットsnootech.net
- 在住: 東京都(23区内)
- 出身: 神奈川県横浜市
- 職種: Web Developer Engineer
- 所属: 株式会社SNOOTECH 代表取締役
- 好きなもの: スヌーピー、文鳥、サシ及び少人数の飲み会(飲みの席)
- 略歴:
- 中央大学商学部卒
- 大手人材会社で求人広告営業
- 1年半後、未経験からエンジニア転職
- 1年半後、25歳で独立
- 9ヶ月後、Java→Rubyへのスキルチェンジ
- 現在までに約Ruby系約6案件、React系3案件コミット実績有り
- Flutterでの個人開発業務も積極的に行っている
- Ruby(6年)
- Ruby on Rails
- Rspec
- Java(2年)
- Spring
- rust(半年)
- golang(半年)
- python(半年)
- Typescript(5年)
- React
- Javascript(1年半)
- Jquery
- node.js
- HTML(3年)
- CSS(3年)
- SCSS
- Swift(5ヶ月)
- Kotlin(5ヶ月)
- GoogleAppScript(3ヶ月)
- Dart
- Flutter
- Firebase
- Authentication
- FireStore
- Functions
- Storage
- リリース済みアプリ
得意分野
- スピード感を持った実装及び、プロトタイプの作成
- 密なコミュニケーションによる設計相談、及び実装対応
意識していること
「まずは早い段階で形にしてみる」という精神で、プログラミングをしています。
理由 開発サイドビジネスサイドとの認識ズレも少なく要件整理と定義・実装をする上で、プロトタイプがある方が実装の 認識ズレを少なくできると考えているためです。
また、2年半以上、完全在宅での作業をしているため、Slack等のテキストによるコミュニケーションも一定レベルはこなせると自負しております。
対面でのMTG等も抵抗はまったくないので、(むしろ対面で話せるほうがありがたいくらい)出社での打ち合わせも問題有りません。 「エンジニア」という立ち位置以上に、プロダクトの一員としての一層のバリューを出せるように仕事をしています。
苦手分野
- 一発で100%近い成果の実装物を出すこと
- スピード感を重視されない環境での開発
2023/12 ~ 2023/5 オフィス用不動産募集検索システム
元々担当者レベルが紙等で保有しているオフィス物件の募集情報を、当システムにて一元管理できるシステム こちらのRails→Rustのバックエンドリプレイスを3ヶ月のプロジェクトとして担当
住居用不動産賃料推定システム
住居用不動産の業者が、物件購入の際に対象物件の周辺物件の特徴や賃料、坪単価を検索、分析し仕入れるかの判断材料を集めるための分析システム
スキルセット
- Ruby3.0
- TypeScript
- Rust
- Ruby
- Ruby on Rails7.0
- Rspec
- Rust
- SeaORM
- sqlx
- Tokio
- MySQL 8
- React(Next.js)
- AWS
- ECS
- GithubActions
- Docker
- Github
開発で意識したこと
Rust未経験というところから、キャッチアップ及びレビューを出す速度を意識 早く戦力になれるようにコードの読み込みや実装 RustやReactにおいて、誰もやったことないツール(Excel出力, PDF出力等)の選定や、実装方法の調査を積極的に、知見を持ってる人に確認しつつ自分も担うようにしました。 Next.jsで新しく知った実装や知見を、意識的に社内Slack等で記載するようにしたり、レビューで共有することを意識しました。 自分の知らない知識に関しては、まずは既存のコードや実装指針を「真似」して、感覚を掴むことから始めるようにしました。 テストの書き方やバリデーションの設け方等、自分が過去に経験したことを積極的に共有して、チームの指針を決めるための手伝いができるようにすることも意識しました。
2020/11 ~ 2023/9
-
案件概要
- 「SaaS管理」と「ID管理(IDaaS)」の2つの機能を備えた日本初のSaaS一元管理ツール
- アカウント管理、コスト削減、業務の自動化などSaaS管理で行うべき事を一元管理するクラウドサービス
- シングルサインオンやシャドーIT対策も網羅したセキュリティー対策も同時に行う日本初のSaaS一元管理可能なサービス
- 「SaaS管理」と「ID管理(IDaaS)」の2つの機能を備えた日本初のSaaS一元管理ツール
-
スキルセット
- Ruby3.1
- Python
- TypeScript
- golung
- Ruby on Rails7.0
- Rspec
- MySQL 8.0
- HTML, SCSS, Jquery
- React
- OpenApiによるスキーマ定義
- AWS
- CircleCi
- Github Actions
- Docker
- Github
-
開発手法
- アジャイル
- Biz,Dev,Designを横断した会話が多め
-
コミュニケーションツール
- Slack
- Google Meets
- Figma
-
タスク管理
- Clickup
-
担当した開発内容
- サービス利用企業の組織管理機能
- 企業内の組織のCRUD機能
- 組織構造をn階層(可変的)に作成できるように対応
- 組織に所属するユーザーのCRUD操作機能
- 組織内で利用するSaaSデータの管理等
- SaaSを利用しているユーザーの閲覧及びCRUDの実装
- レビュアー対応
- 端末・ブラウザ制御機能
- 利用端末・ブラウザごとに利用可否を判定する機能
- 管理者が設定した端末台数以内は自動承認し、以上はアクセスを制限
- 利用端末申請機能
- 管理者が設定した端末台数以上のアクセスの場合は申請画面に遷移
- 利用端末の申請・承認・否認フローの作成
- 申請中のログイン制御機能
- SaaSを管理するためのグループ管理機能
- ユーザー単位での連携SaaS登録・解除機能
- SaaS単位での、利用ユーザー登録・解除機能
- 組織単位での、連携SaaS登録・解除機能
- SaaSごとの利用コスト取得
- SaaSごとの自動ログイン機能
- RailsErb→ReactへのSPAリプレイス(5機能)
- golangによるSaaSとのApi連携、それによる、対象SaaSの利用ユーザー取得及び登録・削除機能
- python(beautifulSoap)によるSaaSスクレイピング、それによるアカウントの請求費用取得基盤作成
- サービス利用企業の組織管理機能
-
意識したこと
- キャッシュを用いたり、ネストをさせない等、パフォーマンスを意識した実装
- 組織管理で利用した、階層構造に関するスケーラビリティを意識した設計
- リクエストはシンプルな形を担保するために可能な限りRestfulな実装を意識して実装
- gem選定や実装方針等、設計面に関しての相談は密に行う
- フルリモートのテキストコミュニケーションは結論を完結に、理由は詳細に記載すること
- PRに関して、スコープは細かく、共有点はこまめに、レビュー者が把握しやすいPRを意識して作成する
- テキストベースのコミュニケーションに関しては、顔文字や感嘆符、スタンプ等を多用し、相手に冷たかったり意図していない印象を与えないようにコミュニケーションを取るよう意識しました。
2023/2 ~ 2023/4
- 案件概要
- 学校の職員が以下の管理を行うために利用する社内システム(機能としてはもっと多岐にわたるが、一旦自分が関わった機能は以下の通り)
- 在籍中の生徒や、クラスの管理
- 生徒の保護者の管理
- 生徒の成績表管理
- 保護者が参加する
- サポート業務(行事の手伝いや登下校の旗振り当番等)
- 保護者総会等のイベント管理
- 学校の職員が以下の管理を行うために利用する社内システム(機能としてはもっと多岐にわたるが、一旦自分が関わった機能は以下の通り)
- スキルセット
- Ruby2.7
- Python
- TypeScript
- Ruby on Rails6
- Rspec
- MySQL 5.7
- HTML, SCSS, Jquery
- AWS(k8s)
- CircleCi
- Docker
- Github
- 開発手法
- issueベースでタスク作成し、2週間のスプリントでのアジャイル
- コミュニケーションツール
- Slack
- zoom
- タスク管理
- GitHub issue
- 担当した開発内容
- 生徒の通知表管理
- 生徒の通知表をデータだけでなく、s3にPDFでアップロードし、管理するよう対応
- 保護者が参加するサポート業務の管理
- slack APIを用いた指定チャンネルへの一括投稿機能
- 年度切りかえ、クラス発表日付の動的管理機能
- 印刷物(保護者や職員の学校への入退館証や、生徒の個人情報フォーム等)の一括PDF出力管理
- 意識したこと
- 生徒の通知表管理は、学年ごとに通知表のレイアウトが異なる点や登録項目が違ったり、保護者のサポート業務管理は、保護者の応募制かつ「サポート参加した業務に応じてポイント付与し、もし応募が足りない場合はそのポイントの大小で抽選処理を行う」といった、複雑な仕様の多いシステムですが、Rubyの専任が私だけというのもあり、基本的には全て使用把握から設計実装まで自走しておりました。
- また、海外とのコミュニケーション(やり取りするのは日本人ですが)で、時差等もあったのですが、不具合や要望等あったら、レスポンスは遅くても出来るだけ半日以内に返すことを心がけていました。
- 教育委員会の方針によって、毎年仕様が変わったり、保護者や職員の要望で仕様変更する事が多いため、なるべくそこを改善しやすい形で設計するにはどうしたらいいのか?という事を意識していました。
- 基本的にRubyの担当は私1人、つまり自分の思想のコード=プロジェクトの実装方針という形になるため、どうしたら負債にならないよう適切なコーディングができるか考えていました。
2023/2 ~ 2023/4
-
案件概要
- 脱炭素系の会社にて、社員研修に用いる教育サービスの開発
-
スキルセット
- Ruby3.1
- Ruby on Rails7.0
- Rspec
- MySQL 8.0
- React
- Next.js
- graphQL
- AWS
- Github Actions
- Docker
- Github
-
開発手法
- アジャイル
-
コミュニケーションツール
- Slack
- Notion
- Figma
-
タスク管理
- notionによるチケットベースでのタスクアサイン
-
担当した開発内容
- 管理者サイド
- 脱炭素系の教育カリキュラムのCRUD
- カリキュラムに紐づく単元、及びセクション、確認テストのCRUD
- 利用者サイド
- 利用者ダッシュボードの作成(勉強の進捗度や勉強するカリキュラムの一覧等を管理)
- カリキュラム、及び紐づく単元やセクション、確認テストのCRUD
- 確認テストの結果やカリキュラムに関するレビュー登録の機能
- 管理者サイド
-
意識したこと
- 納期が2ヶ月とタイトだったので、とにかく開発スピードを重視
- 納期時点でのスコープを明確にし、余計な考慮を減らして最短で実装することを意識
- 主要開発メンバーが、私含めて3人(内一人はロースキル)という状況のため、コードや仕様書、Figmaをみてとにかく主体的にキャッチアップして実装に取り掛かりました。
- 常に実装中から仕様が動いていくような状況だったので、PMやデザイナーとのこまめな連携を怠らずにしていました。
2019/11 ~ 2020/11(1年1ヶ月)
- 案件概要
- ベビーシッター・家事代行×親御さんのマッチングアプリシステム
- Uberのベビーシッター版、家事代行版のようなサービス
- ベビーシッター・家事代行×親御さんのマッチングアプリシステム
- スキルセット
- Ruby2.6
- Ruby on Rails5.2
- Rspec
- MySQL 5.7
- HTML, SCSS, Jquery
- Swift
- Android Kotlin
- AWS
- CircleCi
- Docker
- Github
- Redash
- 開発手法
- フルリモート
- アジャイル
- Biz,Dev,Designを横断した会話が多め
- コミュニケーションツール
- Slack
- Zoom
- タスク管理
- Backlog
- 担当した開発内容
- Elastic Search周り
- ベビーシッター検索画面、ロジックの改修
- SEO改善のための開発
- 新規登録画面、チュートリアル画面の画面リニューアル改修
- SigninWithAppleの対応に伴う改修等
- 管理画面(ActiveAdmin)による画面、ロジックの改修
- メルマガ配信、プッシュ通知の送信する際の共通化ロジック作成
- Swift、AndroidKotlinによる開発支援例(2020/05~)
- Web, Ios, Androidシッター予約画面における3媒体共通の文言、ロジック修正等
- レビュアー対応
- Elastic Search周り
- 意識したこと
- 開発サイドに詳しくないビジネスサイドとの仕様相談時はわかりやすく噛み砕いた説明をして、認識齟齬が生まれないように会話
- 画面側の開発も多かったので、なるべくスタイルを再利用しやすいようにコンポーネント的にデザインを実装
- ユーザーが利用しやすいデザインとは?と再利用しやすいデザインとは?という視点で密にデザイナーと設計の相談
- 利用言語の幅を広げられるよう3媒体(ios,android,web)すべてのタスクに着手するように対応
2018/12 ~ 2019/10(11ヶ月)
-
案件概要
- 不動産仲介の接客業務をweb上、チャットアプリ上で完結できるサービス
- 人工知能やクラウドソーシングを活用した賃貸住宅の接客型コミュニケーションプラットフォーム
- 不動産管理会社向け、不動産査定システム開発支援業務
- 既存アプリで収集した物件データをもとに、AIが該当不動産の市場価格査定を算出、査定を行うシステム
- 不動産仲介の接客業務をweb上、チャットアプリ上で完結できるサービス
-
スキルセット
- Ruby2.4
- node.js
- Ruby on Rails5.1
- Rspec
- MySQL 5.7
- HTML, SCSS, Jquery
- React, Typescript
- Swift
- Android Kotlin
- AWS
- CircleCi
- Docker
- aws serveless
- lambda
- dynamoDB
- Cognito
- Github
- Redash
- GoogleAppScript
-
開発手法
- アジャイル(週一のスプリント)
- Dev,Design内での会話が多い
-
コミュニケーションツール
- Slack
- Snake
-
タスク管理
- esa
- Redmine
-
担当した開発内容
-
チャットサービス
- 登録ユーザーへの物件提案ロジックの改修
- 非同期実行処理のツール移行(Delayedjob → Sidekiq)
- チャットオペレーターが、アプリユーザーに物件の内見情報(日付/場所等)を伝達するためのメモ画面の開発
- 及び付随する操作画面の改修やチャットボットの改修を担当
- レビュアー対応
-
不動産査定システム
- APIGateWay lambdaを使用したバックエンドの開発業務
- Redashによる既存DBから物件/AI(Python)による査定情報データの取得処理開発
- サインイン後、DBに保管したユーザー情報の取得処理開発
- ログイン/ヘッダー画面の画面開発(React)
-
-
意識したこと
- 初のRubyの現場だったので、とにかく実務に際した書き方をコードリーディングをたくさんした
- ABテストをよくやっていたので、ABテストの手法を学んだ
- 数万件のデータを扱う非同期処理において、処理が詰まらないようにfind_batchesやbulk_insert等のパフォーマンスを考慮した実装
- reactを触るのも初めてだったので、フロントエンドの実装のお作法を書きながら学んだ
- サーバレス開発も始めてだったので、Cognitoやlambda,NoSQLの設計等を密に会話
2018/07 ~ 2018/11(5ヶ月)
-
案件概要
- 某医療機器メーカー向け営業ツール開発PJ
-
スキルセット
- Java8
- Spring
- Ecripse
- Selenium
- Oracle
- Windows
- Jsp
-
開発手法
- ウォーターフォール
-
担当した開発内容
- 顧客である医療機関、または患者の製品使用データ等を管理することができる基幹システムの新規改修案件
- 帳票検索、出力を行う1画面及び13帳票の詳細設計から結合まで担当
- 画面連携のテスト自動化ツールの製造を担当
2018/04 ~ 2018/06(3ヶ月)
-
案件概要
- 某クレジット事業会社向け 新サービス立ち上げPJ (PCIDSS)
- 某クレジットカード会社が外部向けに提供する決済の支代行システムの開発支援
- 某クレジット事業会社向け 新サービス立ち上げPJ (PCIDSS)
-
スキルセット
- Java8
- 独自FW(自作)
- Ecripse
- SVN
- Selenium
- Oracle
- Windows
- Jsp
-
開発手法
- ウォーターフォール
-
担当した開発内容
- チーム担当の8画面の基本設計
- ログイン画面、ログアウト画面のフレームワーク機能と詳細設計〜テストを担当
- チーム担当の8画面の基本設計
2017/09 ~ 2018/03(7ヶ月)
-
案件概要
- 契約情報検索システム開発PJ
- 某ガス企業様の契約状況検索サービス開発支援
- 契約情報検索システム開発PJ
-
スキルセット
- Java8
- 独自FW(自作)
- Ecripse
- SVN
- Selenium
- Oracle
- Windows
- Jsp
-
開発手法
- ウォーターフォール
-
担当した開発内容
- DB正規化対応 機能改善を担当
- 詳細設計より参画 3機能の詳細設計~テスト
- 及び仕様変更における詳細設計~結合テストまで
- 新卒エンジニアの教育も並行して対応
2016/02 ~ 2017/08(7ヶ月)
-
案件概要
- 接客支援改革PJ
- 某通信キャリア様で使用するオペレータ支援システム改修等を担当
- 接客支援改革PJ
-
スキルセット
- Java8
- 独自FW(自作)
- Ecripse
- SVN
- Selenium
- Oracle
- Windows
- Jsp
-
開発手法
- ウォーターフォール
-
担当した開発内容
- 現行改修及び結合テストフェーズより参画
- テストケース作成 クロスレビュー等対応
- 後に要件定義書、基本・詳細設計書修正も担当
- Javascriptでの画面機能開発も担当
A. 社員メンタル管理Webアプリケーション
- スキルセット
- Ruby2.4
- Ruby on Rails5.1
- MySQL 5.7
- HTML, SCSS, Jquery
- VPS
- Chatwork
- sendgrid
- 概要
- 200人規模の組織で用いるwebアプリケーション
- 企画提案・受注〜開発・サーバー構築・運用まで一貫して担当
- 管理する社員のメンタルコンディションを天気で表現出来る
- マネージャーは担当部下のメンタル状態を可視化出来ることでフォローアップを容易にすることを実現するアプリ
- また、マネージャーレベルの決裁が必要な場面で、誰が今対応(電話等)が可能か?という予定を可視化する機能も搭載
- 一週間の入力結果をChatworkに通知するようにAPI連携
B. 独自仮想通貨送金Webアプリケーション
- スキルセット
- Ruby2.6
- solidity(ブロックチェーン言語)
- Ruby on Rails5.1
- MySQL 5.7
- HTML, SCSS, Jquery
- VPS
- Chatwork
- 概要
- 200人規模の組織で用いるwebアプリケーション
- 企画提案・受注〜開発・サーバー構築・運用まで一貫して担当
- オリジナル仮想通貨をプライベートなブロックチェーンを介して送金できるアプリ
- Aのアプリと連動し、Aのサービス登録したら、こちらでも
- 運営オーナーが各社員の実績や貢献度に応じたコインを配布できる機能や、使用申請(領収書画像アップロード)、承認機能を実装
- チャットワークと連動した申請・送金通知も可能
C. 街案内、街歩き動画のプラットフォームアプリ(ios, android)
-
スキルセット
- Dart
- Flutter
- FireStore
- Authentication
- Hosting
- Storage
-
URL
-
概要
- youtube上の街歩き系の動画を動画検索、再生アプリ
- 実装した機能
- 認証機能
- プロフィール作成、編集機能
- 選択項目による動画検索機能
- おすすめ動画ピックアップ機能
- お気に入り動画登録機能
- 評価機能
- 動画リクエスト機能
- 動画アップロード機能
- 問い合わせ機能
- その他画面
D. 他己分析収集・共有アプリ「タコチャート」
- スキルセット
- Dart2.18
- Ruby3.1
- Flutter
- Ruby on Rails
- MySQL
- Docker
- Authentication
- Hosting
- Storage
- 2021/06 ~ 現在
- 合同会社SNOOTECH設立 代表に就任
- 2018/04 ~ 2021/05
- 個人事業主として活動
- 2016/11 ~ 2018/03
- 株式会社AEVICにてシステムエンジニアとして従事
- 2015/04 ~ 2016/11
- エン・ジャパン株式会社にて営業職として従事