Page is here
- 子供向けのかけ算練習アプリ repository
- Ruby初学者向けの学習教材 【Ruby】ニュース系サイトのスクレイピングコマンドを作ろう!
職務経歴書
Notionに蓄積された情報を元にAIで職務経歴書を作成しました。AIによる評価はこんな感じだそうです。なんかすごそうです。在籍期間: 2021年4月〜現在(業務委託:2021年4月〜2023年10月、正社員:2023年11月〜)
職務概要
企業間取引のデジタル化を推進するSaaSプロダクトのプロダクトマネージャーとして、Ruby on RailsベースのWebアプリケーション開発を統括。金融機関向けシステムの要件定義から実装、運用まで一貫して担当し、地域金融機関フィナンシャルグループをはじめとする大手金融機関との重要プロジェクトを成功に導く。
企業間取引のデジタル化を推進するSaaSプロダクトのプロダクトマネージャーとして、Ruby on RailsベースのWebアプリケーション開発を統括。金融機関向けシステムの要件定義から実装、運用まで一貫して担当し、地域金融機関フィナンシャルグループをはじめとする大手金融機関との重要プロジェクトを成功に導く。
- JIIMA認証取得・電子帳簿保存法・インボイス制度対応プロジェクト
- プロジェクト統括: 93稼働日の大規模法制度対応プロジェクトを責任者として完遂
- JIIMA認証取得: SaaSシステムで電子書類保存、電子取引保存、スキャナ保存の3分野認証を獲得
- 法的要件の完全対応: 電子帳簿保存法とインボイス制度の全要件に対応したシステム設計・実装を主導
- 複数システム横断対応: 電子取引ソフト、スキャナ保存、電子帳簿ソフトの要件を統合的に満たすアーキテクチャを構築
- 技術的成果
- タイムスタンプ検証システム: 個別・一括検証機能を含む包括的な改ざん防止システムを実装
- バージョン管理システム: 訂正・削除履歴の完全な記録・検索・出力機能を実現
- AI-OCR統合: スキャン文書の自動読み取りと電子帳簿保存法対応を両立
- 属性管理機能: 帳簿書類間の関連性確保システムを設計・実装
- 地域金融機関フィナンシャルグループ連携プロジェクト: ポータルシステムへの自社システムのホワイトラベル提供における技術統括
- SSO認証・API監査ログ機能: 金融機関向けセキュリティ機能の設計・実装を完了
- 結合テスト戦略: ポータルシステム-自社システム間の結合テスト計画・シナリオ作成を完遂
- BizSolプロジェクト: ID 751のタスクを責任者として完了
- 採用戦略の構築: 20名以上の候補者面談を実施し、「カルチャー、スキル共にマッチ度が高い」人材の見極めに貢献
- 新メンバーオンボーディング: 複数の新入社員との初回キャッチアップと成長支援を実施
- 1on1ミーティング: 定期的な個人面談によるメンバーの成長促進
- エンジニアカルチャー構築: Tech MTGを通じたエンジニア文化の醸成
- 高い活動量・貢献度: 2024年活動実績でページ閲覧数1,129回、ページ編集数1,260回(社内トップクラス)(Notion)
- 継続的な価値提供: 4年間にわたる安定した成果創出
- フロントエンド/バックエンド開発: React、Ruby on Rails、MySQL による企業間取引プラットフォーム開発
- オープンバンキングシステム開発: Node.js、MongoDB によるインターネットバンキングシステム開発
- システム設計: 決済システム設計、ビジネスロジック実装
- アーキテクチャ: システム全体設計、コードレビュー、技術的負債解消
- 法制度システム設計: 電子帳簿保存法、インボイス制度、JIIMA認証要件に準拠したシステム設計
- 大規模プロジェクト管理: 法制度対応など複雑な要件を持つ大規模プロジェクトの統括経験
- エンジニアリングマネジメント: EM経験、組織編成・人事評価・採用を担当
- プロダクトマネジメント: 要件定義からリリースまでの全工程管理
- ステークホルダー調整: 金融機関、業界団体、社内各部門との複雑な調整業務
- 金融システム: 銀行・信用金庫向けシステム開発の豊富な経験
- 企業間取引: B2Bデジタル化における業界特有要件への深い理解
- 決済・資金管理: 企業の資金管理システムに関する専門知識
- 法制度専門性: 電子帳簿保存法、インボイス制度、JIIMA認証要件への深い理解と実装経験
JIIMA認証取得を含む大規模法制度対応プロジェクトを93稼働日で完遂。電子帳簿保存法の3分野すべてでJIIMA認証を取得し、業界標準となるソリューションを構築しました。
「課題について解決方法の検討から実行、解決までのプロセスを自身で行う行動力」により、複雑な法的要件と技術要件を両立させたシステム設計を実現。顧客調査では64社中54社がファイル保存・電子帳簿保存法対応機能をトップニーズとして挙げる市場を創出しました。
電子帳簿保存法やインボイス制度の市場ニーズを早期に捉え、他社比較でコスト優位性を持つソリューションの開発を主導。法制度変更を事業機会として活用する戦略的思考力を発揮しています。
福岡フィナンシャルグループや信用金庫中央金庫との大型プロジェクトを成功に導いた実績により、金融業界特有の要件や規制への対応力を証明。特に信用金庫業界での電子帳簿保存法対応では業界初の取り組みを実現しました。
「開発に対して全体感をもちながら仕事できる」特性により、常に技術トレンドと法制度変更をキャッチアップし、プロダクトの継続的改善を実現。JIIMA説明会の実施など、社内の法制度理解向上にも貢献しています。
- 概要
- 法人向けオープンバンキングサービスの提供。
- 中小事業者、地域金融機関向けの資金管理Webサービス提供。
- シリーズA~B
- 期間
- 2021/4 〜
- 担当
- 設計〜開発〜テスト
- 成果など
- 外部認証機構(AnserBizSOL)を使ったID連携サービスの構築
- 信用保証協会電子受付システムへの対応
- SAML認証により協力会社とシステム連携し、保証協会電子受付システムの利用を提供。保証協会APIに合わせた情報の整理をおこない情報をSAML認証で連携する仕組みを構築。
- 電子帳簿保存法の法要件に対応したファイル保存システムの開発
- 概要
- 既存のファイル保存システムにたいして電子取引ソフト、電子スキャナソフト、電子書類ソフト、電子帳簿ソフト、インボイス制度へ法要件対応をおこない、JIIMA認証(電子書類保存、電子取引保存、スキャナ保存)を取得する。
- 主要対応領域
- 電子取引ソフト対応
- タイムスタンプ検証機能(個別・一括検証)の実装
- 訂正・削除履歴の記録・検索・閲覧・出力機能
- 複数項目でのAND検索機能とCSVダウンロード機能
- スキャナ保存対応
- スキャン文書の訂正機能(バージョン管理システム)
- 帳簿書類間の関連性確保のための属性管理機能
- 書類の解像度・階調・サイズ情報の保存機能
- インボイス制度対応
- 非課税・不課税インボイス発行機能
- 明細行ごとの取引日入力機能
- 修正・返還インボイス発行機能
- 電子取引ソフト対応
- 概要
- バッチ処理の仕組みを改善
- 問題
- 全体を把握している人が不在
- 一つの大きなバッチ処理として動いており、長時間実行されていた
- 途中でエラーが発生するとすべてが止まってしまう状態
- エラーの発生原因の特定が困難な状況
- 外部の動き(APIなど)の影響を受けすぎる構造
- やったこと
- リバースエンジニアリング
- バッチ処理全体の状況を解明
- ドキュメントを作成し、関係者と共有
- エラーへの対処
- エラー時に必要なことがわかるようにロギングを整理
- エラーハンドリングを整理
- 構造の変更
- 各種処理を意味のある単位でJob化
- 依存関係を整理し実行順を整理
- 必要に応じて排他制御を追加
- リバースエンジニアリング
- 問題
- プロジェクト
- 法務系クラウドサービス開発
- 概要
- 法人向けの法務処理クラウドサービス。契約書の管理や編集が可能で、AIによる英文契約書のレビュー機能などを提供。
- 期間
- 2020/04 - 2020/10
- 担当工程
- 設計(機能、詳細、DB)
- 実装
- テスト(単体、結合)
- 体制
- プロジェクトマネージャー:1名、セールス:2名、エンジニア:3名
- メンバーエンジニアとして参加
- プロジェクトマネージャー:1名、セールス:2名、エンジニア:3名
- 利用技術
- Vue.js
- Ruby (Ruby on Rails)
- PostgreSQL
- Docker
- Git
- エピソード
- ビジネスサイドの要件に合わせてアプリケーションの仕様を決める。 フロントエンド、サーバーサイド、のどちらも開発を行う。 テストの自動化やCI/CD環境を整え、より多くの時間を開発にあてられるような環境整備も行う。
- プロジェクト
- 旅行プランニングSNSサービス
- 概要
- 個人の旅行プランの作成や共有をするためのSNSサービス
- 期間
- 2018/02 - 2019/06
- 担当工程
- 設計(詳細、DB)
- 実装
- テスト(単体、結合)
- 体制
- プロダクトオーナー(マネージャー)1名、エンジニア3名、デザイナー1名
- チーム全員がフルリモートでの参加
- メンバーエンジニアとして参加 主にDB設計や観光地データ取得基盤を担当し、フロントエンド、バックエンドの開発も行う。
- プロダクトオーナー(マネージャー)1名、エンジニア3名、デザイナー1名
- 利用技術
- React
- Ruby (Ruby on Rails)
- Python
- PostgreSQL
- Docker
- Git
- エピソード
- 観光地のデータを取得するために複数サイトから情報をスクレイピングしデータ統合をして、独立したデータ基盤を作成する部分を主に担当する。 PL/pgSQLを使ってデータ処理をし、作成されたデータをWebサービス側に公開し利用する仕組みを構築した。 DB基盤の開発と並行して、RailsでのAPIやReactでのSPAの開発も行う。
- プロジェクト
- 不動産管理会社向けの業務システム
- 概要
- クローズドな基幹システムをベースにし、拡張されたWebシステムを構築するプロジェクト。不動産・入居者の管理や、入居者が各種手続きをオンラインで行えるようなシステムを開発する。期間システムとのデータの同期や、入居者向けのクライアントアプリの開発など多様な機能を揃える。
- 期間
- 2016/05 - 2020/04
- 担当工程
- 詳細設計
- 設計(機能、詳細、DB)
- 実装
- テスト(単体、結合)
- 体制
- マネージャー1名、エンジニア4名
- リードエンジニアとして参加
- APIのバックエンド、Webのフロントエンド、インフラを担当
- セルフマネジメント
- 利用技術
- Vue.js
- PHP (Code Igniter)
- Ruby
- MySQL
- Vagrant
- Ansible
- Docker
- Jenkins
- Git
- エピソード
- iOS, Android アプリには専任担当がいるので、先行してAPIの設計や開発用のサーバーの設置などを行いながらバックエンドの実装もう並行して行っていた。 また、Jenkinsを使ってのデプロイ環境を整備し、開発用のAPIサーバーを最新にできるように保ち、またStaging/Productionへのリリース作業からも属人性をなくす。 開発環境はVagrant+Ansibleで始めたが状況の変化に伴い、Dockerの利用へと切り替えていった。 期間システムとのデータ同期についても、MySQLのTriggerやProcedureを使うことでバッチ処理プログラムとの責務を分け、 Viewを使うことでデータ整合性を保ち、パフォーマンスチューニングも行った。
- プロジェクト
- スマートホン向けソーシャルゲームアプリ
- 概要
- 歴史漫画を元にしたシミュレーションRPG。2015/03リリース、2019/09クローズ ベースになるゲームシステムをForkして、新ゲームとして衣替えしリリースしたゲーム開発。150万DL超えの大規模ゲーム。Webベース。
- 期間
- 2014/11 - 2018/06
- 担当工程
- 設計(機能、詳細、DB)
- 実装
- テスト(単体、結合、負荷)
- 体制
- マネージャー1名、エンジニア3〜6名
- リードエンジニアとして参加
- Webベースのゲームのためフロントエンド、バックエンドの難易度の高い部分や高負荷(高アクセス)を考慮した機能を担当
- 利用技術
- Perl
- MySQL
- Vagrant
- Ansible
- Git
- Backlog
- エピソード
- 当初は開発体制の管理なども不十分で開発自体も思うように進んでいなかった。危機感を感じたため、スケジュールやタスク管理などの基本的なことの改善を積極的に行う。 また、日々の朝会や週1の改善・振り返りミーティングを実施し、チームのコミュニケーションを向上させる。 既存のコードが膨大であり、もとの作りを把握している人間がいないため、ソースコードを読んで仕様を知ることも多かった。 そういった知識を共有するためのドキュメント作りや勉強会など、ゲーム開発以外の部分での貢献も多く行ったプロジェクトだった。
- プロジェクト
- メール自動配信パッケージ
- 概要
- 登録した内容でメールの自動配信を行うパッケージシステム。ユーザーはバックヤードのシステムでメール配信における設定を行い、メールの配信を行う
- 期間
- 2015/10 - 2016/08
- 担当工程
- 要件定義
- 設計(機能、詳細、DB)
- 実装
- 運用・保守
- 体制
- 受託開発のため一人
- セルフマネジメント
- 利用技術
- React (ver0.13)
- Ruby (Sinatora)
- MySQL
- Chef
- Vagrant
- Git
- エピソード
- 受託開発でもあり自由に技術選定ができる状況だったため、当時の新しい技術を使って開発を行った。 パッケージ販売だったためサーバー構築を自動化するためのChefの導入や、UIの向上が期待できるReactを使用した。
- プロジェクト
- キッチンメーカー向け見積もりシステム開発
- 概要
- キッチンメーカーのショールームで使うカタログ見積もりシステムの開発。
- 期間
- 2013/09 - 2014/09
- 担当工程
- 詳細設計
- 実装
- テスト(単体、結合)
- 体制
- 20名程度
- フロントエンド
- 利用技術
- JavaScript (prototype.js)
- SVN
- Redmine
- エピソード
- SIer案件のためプロジェクト規模も多くプログラマとして従事。 既存の独自フレームワーク、ライブラリによる古いフロントエンドアプリケーションのリプレイスをリードプログラマとして行う。 既存コードを読み解きリバースエンジニアリングによる仕様の洗い出しを行いながら、新仕様での実装を行った。 新規コードについては、phantom.jsを使っての自動テストを一部導入し、品質の工場を図る。 また、独自にプロファイラを利用してのパフォーマンスチューニングを行った。
- プロジェクト
- 動画配信サービスパッケージの保守
- 概要
- リリース済の動画配信サービスの保守を担当する。途中からの担当なため、開発者不在で仕様も不明な部分が多い中での保守を行った。
- 期間
- 2013/01 - 2016/04
- 担当工程
- 要件定義
- 設計(機能、詳細、DB)
- 実装
- テスト(単体、結合)
- 運用
- 保守
- 体制
- 営業担当者と自分の2名
- セルフマネジメント
- 利用技術
- PHP
- Ruby
- MySQL
- Git
- エピソード
- 開発者不在および低スキルの状態で作られてシステムであり、レガシーなコードが多いシステムだった。 そんな中で保守と新規開発を行う必要があったため、既存の仕様を知るためにコードを読み込むことが大変であったが、 テストの追加やリファクタリングを少しずつ行い、保守しやすい状態へと改善していった。 また、毎週発生する1〜2時間かかる手作業のデータ登録・更新処理を、スクリプトを使った自動処理へ切り替えるなど、作業の効率化もすすめた。
- プロジェクト
- モバイル向け(ガラケー、スマホ)アドネットワーク
- 概要
- モバイルメディア向けの広告配信を行うアドネットワークシステムの開発。媒体及び広告を管理し、最適な広告を配信する。合わせて、成果、請求などの集計処理なども行う。
- 期間
- 2010/07 - 2013/04
- 担当工程
- 要件定義
- 設計(機能、詳細、DB)
- 実装
- テスト(単体、結合)
- 運用
- 体制
- リーダー兼営業1名、営業1名、エンジニア2名
- リードエンジニアとして参加
- フロントエンド、バックエンド、インフラ、など全般を担当
- セルフマネジメント
- 利用技術
- PHP
- Ruby
- MySQL
- AWS
- Git
- エピソード
- エンジニアリーダーとして、ビジネスサイドの要件をシステムに落とし込み設計から開発、運用までを一気通貫で行う。 AWSを使い自動のスケーリングなどを自前のスクリプトで行ったり、最大で200req/secのトラフィックを100ms/resで処理できるようにシステムのチューニングや処理の最適化を行うのが大変だった。 MySQL-Spiderというストレージエンジンを利用するなどチャレンジングなことを行ったり、複数台サーバーの運用や監視など技術を身につける。