~2018 学生時代からフリーランスとしていくつか案件に関わる
2018~2021 株式会社KOSKAを共同創業。 CPOとしてラズパイなどを使用したIoTシステム基盤・データ集計/計算基盤・ビジネスインサイトWebアプリケーションの開発全般と、開発計画のロードマップ作成、エンジニアリング組織マネジメント/教育などを担当。
2021~2022 株式会社FOLIOにてシニアバックエンドエンジニアとして勤務。 アプリケーションの基盤づくりや、技術的に難易度の高い部分の調査・実装に携わる。
2022~ フリーランスのエンジニアとして複数の案件に携わる。
- IoTシステムの開発
- 技術選定/実装/運用など
- Webアプリケーションの開発
- Scala, TypeScript/JavaScript, Ruby、Goなど
- 金融業務システムの開発
- Scalaでの開発がメイン
- 自社・他社(AWS,ユーザベースなど)で働くことができるようなエンジニア教育実績あり
- エンジニアリング広範な知識も得意だが、特にScalaの教育は得意
- 0から組織を立ち上げるにあたってのエンジニアマネジメント
- スクラム・アジャイルでの開発体制の構築
- 自社だけじゃなく、業務委託としてもチーム立ち上げ・マネジメントの経験複数あり
業務上での使用あり
- Scala
- TypeScript/JavaScript
- Go
- Python
- Ruby
- PHP
業務外での使用経験
- Rust
- Java
- Kotlin
Lambda、ESC/Fargate、DynamoDB、Glue、Amplify、AppSync、ES2、S3、API Gateway...etc
Scala、Go、Python、TypeScriptなどで1から実装経験あり
circleci、GitHub Actions、gitlab ci、Jenkins、ArgoCD
Terraform、Datadog、Docker/docker-compose、k8s、RaspberryPi3/4
- 社内的に知見がなくても技術的に難しい部分の調査、POCから実装に落とし込む部分までを一人で実行することが可能
- またそれらを他のエンジニアでも実装することができるように知見の共有、共通基盤の作成など行うことも多数経験あり
- チーム立ち上げから運用まで開発組織を運用しチームとしてバリューを発揮した経験複数あり
- ビジネス側の話がエンジニアの中では比較的わかる方
- 仕様策定、ビジネス的に必要な業務などビジネス側と同じ目線で議論することが可能
- 今まで使用したことのない技術、ビジネスドメインであっても素早くキャッチアップし即座にバリューを発揮することが可能
- 2,3年ほどに渡るオフショア開発の結果負債が巨大になっていたプロダクトのリプレイスのために土台とロードマップを作成した
- テスト、CI/CDなどが全く無い状況からそれらを導入し、テストカバレッジを80%台まで上昇させた
- また技術的・戦略的に難しい部分だけを自分が担当し、テストなどの後はひたすら手を動かす部分については外部の比較的安いエンジニアでチームを組成しクオリティコントロールとマネージだけを自分が担当することでコスト的にも安く抑えることを達成した
- 以下の正社員時代の開発業務を引き続き行う
- 既存システムの開発・改修とともにシニアエンジニアとして技術的に難易度の高い部分の調査・実装をメインで行う
- SBIラッププロジェクトで技術的に不確実な部分を落とし込み、それらを他の人でも実装できる形に基盤部分を作成・展開
- SBIラップのプロジェクトが完了したタイミングで退社、引き続き業務委託として関わる
- JDSCでのプロダクト( https://wodom.jp/ )立ち上げに参画
- 社内的にプロダクト開発の経験がそこまでなかったため、開発チームの運用補助から仕様策定、技術選定、実装などに広く関わる
- バックエンド・フロントエンドともにTypeScriptで初期実装自分が担当した後にそれらをほかメンバーが開発できる形に展開
- 収集したIoTデータを顧客ごとの要望に応じたデータ形式に変換、統計量を計算して出力するサービス
- ユーザのリクエストを待ち受けて計算処理を走らせるGateway的な部分と実際の計算処理を担う部分に分かれる
- アプリケーション部分をScala、計算処理部分をPythonで実装
- RFIDセンサーを用いて工程内の稼働状況を取得し、データ送信するシステムをラズパイ上に構築
- 作業者にセンサーが読み取っていることを通知するため、付属ディスプレイでのフロント表示も必要
- Raspberry上でGoを使ってセンシング・アプリケーション部分、フロント表示をReactで行い総合格闘技感があった
- 工場に設置するラズパイのアルゴリズム・出荷工場などを管理する社内アプリケーション
- このアプリケーションがないと業務が回らないほど重要なシステム
- 社内的に初の経験だったScalaを無事実運用に乗せることを達成
- また自社チームで開発組織を組成しそのマネージも行った
- IoTシステムのラズパイが起動してはじめに実行されるプログラム
- サーバー上の設定値の取得・ネットワーク/ハードウェアマネージ・センシングを担当する別プログラムの取得/実行がメインの役割
- ハードウェア・ネットワークの不安定さが影響し、非常に難易度の高い開発だった
- またどのようにプログラムを構成し、他サービスとの連携をさせるかなど一般解がない中の開発だったが価値を生むことができたのは大きかった