Ken Fukuyama

Experiences

サーバーレスアプリケーションの開発支援

Role: テクニカルアドバイザー
2022/09/01 - Now
学生向けハッカソンのAWSやフロントエンド開発におけるアドバイザリーを行った。
Skills:
AWS Lambda
AWS DynamoDB
AWS Step Functions
Vue.js
React

Stripe決済機能導入

Role: リードエンジニア
2022/01/01 - 2022/02/31
Stripe Checkoutによる決済機能をシステムに実装(Serverless Framework + Lambda + Vanilla JS)。
Skills:
JavaScript
Stripe
Serverless Framework

ハッカソンテクニカルアドバイザー

Role: テクニカルアドバイザー
2021/08/24 - 2021/08/27
学生向けハッカソンのAWSやフロントエンド開発におけるアドバイザリーを行った。
Skills:
AWS
Vue.js
React
Go

大規模SaaSの新規機能開発

Role: メンバー
Members: 4
2020/05/01 - 2021/06/30
大規模なSaaSにおいて新機能の設計・開発・リリースまでのプロセスを担当。
Skills:
Requirements definition
Architecture design
Develop/Review/Test
SQL performance tuning
AWS
C#
Dapper
PostgreSQL

新規事業立ち上げ

Role: リードエンジニア
Members: 15
2018/09/01 - 2020/04/01
マルチテナントソフトウェアアーキテクチャの基盤をLaravelで作成し、フロントエンドのSPAをVue.js+Vuexを使って基盤作成。ユニット・インテグレーションテストの基盤は、バックエンドのPHPはPHPUnit、GoはGinkgo、TypeScriptはJestを使い、フロントエンドはTypeScriptでJestを用いたテスト基盤と、Cypressによるe2eテストのテスト基盤を作成。CodecovとCIを連携させ、カバレッジをPRに可視化させて、テストの実装を日常的に促進。さらにCI/CDのパイプラインをCircleCIとCloudFormationを組み合わせ、PR毎にレビュー環境が構築されるように自動化。AWS IAMの簡易版権限管理サービスを、Echo+Open Policy Agent(言語はGo)で作成。権限のモデルとしてはABACを採用。
Skills:
Echo(Go)
Ginkgo
Laravel(PHP)
PHPUnit
Open Policy Agent
AWS Lambda
AWS ECS
AWS API Gateway
TypeScript
Jest
Node.js
Docker
CircleCI
Codecov

自動車イベント用のモックWebアプリケーション作成

Role: リードフロントエンドエンジニア
Members: 4
2018/07/01 - 2018/09/01
大手自動車メーカーの車載器システムのコンセプトを伝えるWebアプリケーションの作成。独自デザインのグラフを構築するため、AngularとD3.jsを組み合わせて作成。
Skills:
Angular
D3.js

某プリントサービスのAWSへの移行

Role: インフラ兼オートメーションエンジニア
Members: 6
2018/01/01 - 2018/06/01
シングルノードで運用していたNASをDRBDに移行し、冗長構成化。AWSリソースのデプロイ・プロビジョニングの自動化。移行前はインスタンスなどリソースのデプロイは手動で、モジュールのインストールなどプロビジョニングは独自のスクリプトを使用していたものをTerraformとAnsibleにリプレース。属人化していたシステム構築を基本的に誰でも実施できるようにしたことと、Ansibleによる冪等性を意識したプロビジョニングにより、システムのあるべき姿を保証できるようにした。
Skills:
AWS
Terraform
Ansible

子供向け電子工作学習管理システム

Role: リードWebアプリケーションフロント兼バックエンドエンジニア
Members: 4
2017/03/01 - 2017/12/01
AngularとNgRxを組み合わせて画面表示とビジネスロジックの切り分けを意識したアーキテクチャで開発。お客様の要望の変化にも強いアプリケーションを作成。学習管理システムとしてはCanvasLMSを採用し、独自仕様部分に関してはNode.jsとArangoDBを採用。公開用のAPIとNode.js→CanvasLMSのAPI連携部分の設計を行った。社内仮想環境にRancher(オーケストレーターはCattle)でコンテナのクラスタを作成し, GitLab + GitLab CIを使って社内テスト環境にCI / CDできるパイプラインを構築。また、Selenium Grid + robotframeworkでe2eも回すことで、一定の品質を常に保てるようにした。本番環境もRancherを使用し、リリース時にはMattermostとボットを組み合わせることで人為的ミスの可能性を減らし、容易にリリース作業が行うことができるようにした。
Skills:
Angular
Node.js
ArangoDB
GitLab CI
Selenium Grid
robotframework
Rancher
AWS CloudWatch
AWS Lambda

経路所要時間予測システム

Role: 分散処理システムバックエンドエンジニア
Members: 10
2016/06/01 - 2017/02/01
Rで実験的に作られたプログラムのSparkへの移行
Skills:
Spark
Scala
Kafka
HBase

複数案件を担当

Role: リードWebアプリケーションフロントエンジニア
Members: 6
2015/06/01 - 2016/06/01
複数の案件をMarionette.jsやAngularJSを使ってリード。iOSとAndroidのアプリケーションもIonicを使用して作成。
Skills:
Marionette.js
AngularJS
Ionic

経路確認システム

Role: バックエンドエンジニア
Members: 15
2009/07/01 - 2015/05/01
経路確認システムのサブシステム作成。ユニットテストを書く文化の無いチームにユニットテストを導入。Dependency InjectionとNSubstituteによるモックを利用して、実際のデータベースや外部サービスを利用せずにユニットテストを実行する方法を布教。
Skills:
C#
PostgreSQL
PostGIS
Dapper
© 2024, Ken Fukuyama