h..s

評価 (0件)
☆☆☆☆☆
お気に入り
0
自己紹介

スタートアップ専門の顧問エンジニア/30分無料相談可/20社以上プロジェクト立ち上げ実績有り
お客様の新規事業立ち上げのお手伝いをしています。
得意分野はスモールスタートする事業でのWebサービス開発、アプリ開発です。

今までいくつものプロジェクトに関わり事業立ち上げのサポートとシステム開発を
してきました。

事業がうまく行くためにまず何から始めるべきか、どうすれば早くユーザーテストが
開始できるかなどお客様のフェーズにあったご提案を是非私達からさせてください。

初回のご相談は無料で受け付けております。
オンラインミーティングを設定させていただきますのでメッセージにてお知らせください。

## 得意分野
- 新規事業でスモールスタートするシステム開発
- ビジネスの成長を目的とした各種実験
- 小さくペースの早い変更・リリースを1週間に複数回繰り返す柔軟な開発
- システム開発がうまく回っていない場合の軌道修正
- 各種開発ツールの導入
- 評価指標の健全化
- 設計、実装、体制等の技術的課題のアドバイス
- パフォーマンスチューニング
- 開発サイクルのボトルネック調査・改善
- 開発スピードが将来必ず遅くなる潜在的な負債の洗い出し・診断・改善
- 新規事業のシステム構成、データベース設計、アプリケーション設計の相談
- チームビルド
- コストを通常の30%から45%程度にまで落としつつハイスキルなメンバーで構成する体制構築
- リモートのみのチームで成果を出す体制構築
- 断続的に人が辞めていくチームの原因分析と改善
- 若手メンバーのみで構成されたチームの、システム拡張段階で行き詰まる問題の解消
- パフォーマンスが低いチームの原因分析と改善


## 不得意分野
- デザイン
- ゲーム開発
- 先に仕様がガッチリ固まっていて1ヶ月以内にリリースしないプロジェクト
- 実装とテストのみの仕事
- 資料作成に大量のコストを割くべきプロジェクト

2020 年3月
都市開発系スタートアップ開発支援

既に運用されているモバイルアプリに CI/CD 環境がなかったので構築をお手伝いする案件でした。
自動のデプロイから整備し、インテグレーションテストを整備しました。
既に運用されていて品質担保が急務だったこと、テスタブルなコードに変更の必要があったため単体テストをあとまわしました。
働く時間も場所もバラバラでタスクの話を slack で行っていたので情報が散らばり、作業の優先順位もつかず無駄なコミュニケーションで前に進めなくなっていましたのでタスク管理ツールで情報を整理する環境を整備し浸透・規律が維持できる体制を整えました。
当時 TypeScript 系で一番型安全な ORM が Prisma に見えたので Prisma を導入しました。
モノレポのメリットを得るためモノレボ構成に移行しました。CI にかかるコストがクリティカルになってきたため差分のある箇所のみ job を実行するよう変更しました。
会社が急拡大しパートタイムメンバのみでの実装がビジネス要求に追いつかずトラブルが噴出していたことと新しい技術を取り入れやすくするため、海外のエンジニアを採用し海外メンバーを中心としたチームビルドを行いました。
国籍や稼働している物理的な場所が多岐にわたるため、リアルタイムのミーティングの時間や timezone などのルールの整備を行い、1on1 やスクラムイベントの整備など開発をスムーズに進める環境の整備を行いました。
開発以外の作業も人手不足で大量にスタックしていたためオンラインアシスタントサービスを導入し社内の作業負荷を減らす体制を作るとともに開発業務にも関わっていただきマニュアルテストやオンボード、各種ツールや手続き、コミュニケーションのハブになってもらう体制を構築しました。
人数が増え全員の目線合わせやデリバリーにコミットする意識が薄れ始めていたので体制を変更しスクラムの経験豊富な PM を採用して少人数のチームを作っていく体制に変更しました。
仕様を決めきらずにデッドラインだけが迫る状態が続いていたこと、ビジネス課題の整理をできる人が居なかったこと、PM ロールで入ってくれた方がうまくワークしていたこと、私一人で全体の動きが見えないサイズになっていったので PM ロールの人数を増やしビジネスレイヤの曖昧さから排除し私が居なくても回る体制を構築しています。
各エンジニアの状況を私が把握できなくなってきていたので 1on1 は PM と私の 2 人とも全員と行うよう変更し、目下プロジェクトとエンジニア自身の課題は PM と話し、より長期的な事、興味の方向性やスキルを磨きたいところなどの把握は私で行ってこの会社で働く価値を高く保つよう努めました。
日本人の平均的なエンジニアよりも優れた人の採用に 1 ヶ月程度で成功するようになったこと、コストが日本人採用時に比べ 1/3 程度で運用できていること、システムをビジネスの理念に合わせた設計にできていることを評価していただきました。
Technologies
Ubuntu, TypeScript, Dart, Express, Flutter, firestore, Postgres, Google CloudSQL, Clean Architecture, Microservice Architecture, Monolithic Repository, Feature Flags, firebase, fireauth, firebase functions, firebase config, Prisma 2, OpenAPI, Docker, Docker Compose, CloudSQL, Google App Engine, CircleCI, GitHub, GitHub Issues, GitHub Projects, github-flow, Zapier, Slack,

役割
メンバー

担当
開発

プロジェクト規模
エンジニア初期 3 名、最大 35 名程度
2020 年2月 〜 2020 年12月
大手家電メーカーデータレイク基盤構築

既に運用されているデータレイクの改善案件でした。
デプロイやテストを手動で運用されていたので自動化を行いました。
AWS 環境かつ Atlassian に寄せたくなかったので AWS CodeBuild, CodePipeline, CodeCommit で自動化を行いました。
データレイクでのデプロイやテストは普段のアプリケーション開発と違う考慮事項が多くあり面白い案件でした。
インテグレーションテストでは使うデータが大量なので s3 にバージョンごとのデータを配置しテストコード内でデータのバージョンを指定するよう構築しました。
モブプログラミングをよくするチームで比較的会話が常にあるチームでしたのでトランクベースの開発を提案して実験させていただきました。
処理の一部として Shell が大量にあったのでテストフレームワークに ShellSpec を採用し Bazel でビルド・テスト実行するサンプルを作成しました。
OS
Ubuntu, SQL, AWS CloudFormation, AWS Redshift, AWS Batch, AWS CodePipeline, AWS CodeBuild, AWS CodeCommit, ShellSpec, Bazel, Docker, BitBucket, JIRA, Slack,

プロジェクト規模
エンジニア 5-7 名程度
2019 年9月 〜 2020 年1月
新規サービス開発・構築

技術選定から対応させていただきました(言語, FW, middleware, ライブラリ, ツール等)
バックエンドの設計・実装・テスト・コードレビュー・DevOps を行いました
I/F 設計は RESTful, アプリケーション内は CleanArchitecture, 開発フローは GitLab flow, DDD, TDD で進めました
チームビルド・改善を進めました(1on1, KPT, 勉強会開催など)
オフショアチームの対応を行いました(daily check-in mtg, 設計の共有, タスクのコントロールなど)
ビジネスレイヤの取りまとめの作業もありましたがこちらはうまく行きませんでした
Technologies
Linux, Ubuntu, Alpine, TypeScript, Node.js, koa, TypeORM, MySQL5.6 Redis GitHub, CircleCI, Slack, Docker, docker-compose, OpenAPI, AWS ECS Fargate, AWS ElastiCashe, AWS RDS, GitHub projects,

プロジェクト規模
エンジニア 4-6 名程度
2018 年11月 〜 2019 年7月
AI スタートアップ企業のアプリケーションインフラ環境構築

急成長のため、アプリケーションエンジニアが一人で組んでいたシステムのインフラ環境の整備を行っています。
データベース冗長化のため MongoDB の Atlas への移行を行いました。
キャッシュサーバーを ElasticCache にて新規に構築しました。
アプリケーションのサーバーをスケーラブルになるよう設計しました。
具体的には AWS の EC2 に構築されていたアプリケーションを Docker に置き換え、 AWS ECS (Fargate) に載せ替えています。
また、新しい環境はすべて Terraform にて構築を行い手作業を禁止し、いつでも消せる・いつでも作れることができる安全な環境になるよう構築しています。
今回は Serverless で開発できる環境ではありませんでしたので使用感のみ Serverless フレームワークと同じになることを目指しています。
今回はインフラ専用リポジトリを作成いただき、インフラのためのコード化が自由にできる状況を用意していただいたので、CirlceCI 上で各コンテナの自動チェックやインフラコードの自動テストを行い手間の削減と再現性、変更時の安全性を担保しています。
コーポレートサイドから要望のあった slack bot を探していたのですがマッチするものがなかなか見つからなかったので 新しく開発し、喜ばれました。
Technologies
Linux, Ubuntu, AMI, HCL, MongoDB, Redis, GitHub, CircleCI, Slack, Docker, Docker Compose, Ansible, Terraform,

プロジェクト規模
社員 20 名程度、アプリケーションエンジニア 3 名
2018 年9月 〜 2019 年
スタートアップ企業の AI 組み込み環境構築

機械学習を用いたエンジンを作れる企業に手伝っていただき、エンジンの組み込み部分とエンジン自体の精度を上げるため A/B テストの環境をつくりたいとのことでご依頼いただきました。
AWS SageMaker を使いたいとの要望があったのと今後の可用性面で適していそうでしたので SageMaker での構築を行っています。
インフラ環境の全体は terraform で構築し、まだ terraform が対応できていない SageMaker 部分は AWS client を用いて構築しました。
開発の環境を Ansible と docker 双方でできるよう、docker image を Ansible で構築するようにしました。
今回はアプリケーション構築ではなくインフラでしたが CI/CD を導入し AI エンジンのコードが git に push され次第学習が進むよう構築を進めています。
Technologies
Linux, Ubuntu, Python3, GitHub, CircleCI, Slack Docker Ansible Jupyter Notebook Terraform AWS SageMaker

プロジェクト規模
3 名
2018 年3月 〜 2019 年7月
IoT 企業のバックエンド開発

python で AWS Lambda を使用した API サーバーを管理しやすい形に再構築する案件でした。
FW を使わず Lambda, API Gateway のバックエンドが構築されており、API を使用した自動化をしている状態でしたがメンテナンスがしづらいので Serverless FW を導入したいとのことでした。
設計はシンプルではあったのですが外部サービスへの依存が大きくテストしにくい構成になってしまっていて、現に全くテストがない状態でしたので再設計と自動テスト、自動デプロイなどの CI/CD 導入を行いました。
新しい設計にクリーンアーキテクチャを採用したことで、ドメインレイヤでのユニットテストではカバレッジ 100 を達成しました。
ドキュメントがあまりない状態でしたので FW と Swagger を連携し CI にホストさせてドキュメントとしたのと、シーケンス図などのマークダウンで表現しづらい資料は保守性のため html と js でレンダリングできるよう作成し誰でも閲覧できかつ変更しやすい状態になるよう努めました。
python2 から python3 へ移行し、type hint を導入したのと mypy での解析で不具合を防ぐよう取り組みました。
Ansible で Ubuntu, Mac のローカルの開発環境構築自動化を行いました。
Technologies
Linux, Ubuntu, Python2, Python3, Flask, Flasgger, DynamoDB, GitHub CircleCI Slack Docker Serverless Ansible

役割
メンバー

担当
開発

プロジェクト規模
開発担当 6 名(うちサーバーサイド 1 名)
2018 年3月 〜 2018 年10月
広告配信サービスの新規開発

golang で広告の配信サービスと配信内容を管理する管理画面を構築する案件でした。
すでにベースが出来上がっている状態からの join でした。
後半は管理画面の API サービスを再設計するタイミングができたのでクリーンアーキテクチャを採用しテスタブルかつ仕様変更しやすい設計で構築し直しました。
swagger や docker での開発環境がなかったため構築して導入しました。
若いメンバーも多くチームの設計、開発ツールの使い方、開発フロー関連の知識の底上げが必要と感じていたためランチ帯や業務後でのスキルアップを図るイベントをいくつか行いました。
開発環境構築の資料やスクリプトなどが一切なかったため、Ansible で Ubuntu と Mac 用の playbook を作成し、メンバーに共有しました。
Technologies
Linux, Ubuntu, Golang, Echo, Goswagger, MySQL, Aerospike, Redis, GitHub, CircleCI, Slack, Docker, SchemaSpy, Ansible, DockrCompose,

役割
メンバー

担当
開発

プロジェクト規模
開発担当 25 名
2018 年2月 〜 2018 年2月
新規サービスのユーザー向け Web 画面開発

Kotlin で API サーバーを構築する案件でした。
途中まで開発したものがある状態でしたが CI や自動デプロイの仕組みがなく、API 設計や DB 設計が不確定な段階でしたので開発の続きも含め、CI の導入や環境の整備からお手伝いしました。
データベース設計書もなく別チームのコミュニケーションに問題が発生し始めていたのでリバースエンジニアリングで設計書を作成し、CI で継続的に最新のドキュメントがチーム内の誰でも参照できる環境を作りました。
フロントエンドのメンバーが足りていなかったため js 周りの調査やエラー解消を行いました。
内製ではリスクが高いとの判断から開発は外注することになり内製チームは解散になりました。
Technologies
Linux, Ubuntu, Alpine, Kotlin, spark, exporsed, MySQL, GitHub, Backlog, CircleCI, Slack, Swagger, API Blueprint, Gradle, Docker, AWS, SchemaSpy,

役割
メンバー

担当
開発

プロジェクト規模
開発担当 2 名
2017 年3月 〜 2017 年9月
広告クリエイティブ制作ベンチャー企業のシステム刷新

プロジェクト概要
既存のシステムからの刷新 既存システムの一部を機能を見なおして別システムとして構築 途中から既存システムの本体も新しく作りなおす事になり、片方のシステムは言語選定から行い、もう 1 つのシステムは開発要因としてお手伝いをしています。
担当フェーズ
要件定義、言語選定、設計、開発、テスト

Technologies
Linux, Ubuntu, CentOS, TypeScript, Elixir, nodejs express phoenix Postgres GitHub ZenHub CircleCI Slack Swagger ansible mix TravisCI Codebeat Codacy Docker AWS

役割
メンバー

担当
開発

プロジェクト規模
要員 6 名程度(API サーバー開発担当   2 名)
2016 年11月 〜 2017 年2月
広告クリエイティブ制作ベンチャー企業のシステム開発運用支援

プロジェクト概要
広告の制作支援システムの追加機能開発・運用支援
担当フェーズ
開発、テスト

Technologies
Linux (Ubuntu, CentOS)

Javascript css

Node.js loopback angularJS

MongoDB GitHub CircleCI Slack Swagger GitHubProject

役割
メンバー

担当
開発

プロジェクト規模
要員 4 名程度(開発担当 3 名)
2016 年8月 〜 2016 年10月
IoT スタートアップサーバーサイドアプリケーション開発
2016/08/01 頃-2016/10 末まで週 5、以降 2017 年 02 月末まで週 2

プロジェクト概要
4 月から手伝っているプロジェクトでハードウェアの量産経験がある方のジョインと、量産が見えてきたタイミングでサーバーサイドの開発が取り掛かれるようになりましたので、今までのデモ用システムとは別に新しくシステムの構築を開始しました。 今後の展開を考え、構成を大きく分離し最終的な目的に多くの手段を取れるよう機能的に分離し、粗結合のわかりやすいシステムになるよう構築しました。 意識してはいませんでしたがマイクロサービスアーキテクチャのような構成になりました。
担当フェーズ
要件定義、言語選定、設計、開発、テスト

Technologies
Linux (Ubuntu) Scala sbt play2

MySQL Ansible GitHub CircleCI Slack Asana Swagger

役割
メンバー

担当
開発

プロジェクト規模
要員 4 名程度、うちサーバーサイド開発 1 名
2016 年6月 〜 2017 年9月
IoT デバイス連携 Android アプリ運用
2016/06/01-2017/9 ※週 2 日、うち週 1 リモート勤務

プロジェクト概要
Bluetooth Classic, BLE を使用した通話デバイスと連携するアプリのデザイン更新、機能追加、 不具合修正を行いました。 Bluetooth, Scala, 音声を扱うプロジェクトで面白い課題が多いプロジェクトでした。 Scala での Android 開発は初めてですので多くのことを学ばせていただきました。 外国人メンバーが多く、自然に英語でのやり取りが発生していましたので、コメントや資料、slack での会話は認識の齟齬が発生しないよういつも以上に注意しました。

担当フェーズ
調査、開発、テスト

Technologies
Linux (Ubuntu),

Scala sbt Android

CircleCI GiHub DeployGate GitHubIssue Slack Beacon Bluetooth BLE

役割
メンバー

担当
開発

プロジェクト規模
要員 20 名程度(Android アプリ開発担当   3 名)
2016 年4月 〜 2016 年5月
IoT ビーコンデバイス連携 Android アプリ基盤変更対応

プロジェクト概要
ビーコンデバイスの基盤変更に伴い開発済みの既存の Android アプリの修正
BLE の Service, Characteristic などを新基板に合わせて変更しました。
担当フェーズ
調査、開発、テスト

Technologies
Linux (Ubuntu)

Java Gradle Fabric

Android CircleCI GiHub PivotalTracker Slack Beacon

役割
メンバー

担当
開発

プロジェクト規模
要員 3 名程度(Android アプリ開発担当 1 名)
2016 年4月 〜 2016 年7月
IoT スタートアップデモ用サーバーサイドアプリケーション開発、ハードウェア開発
2016/04/01-2016/07/31 ※2016/05/31 まで週 4、以降週 5 日

プロジェクト概要
IoT スタートアップの製品の Web サーバーアプリケーション開発、ハードウェア試作品開発
2015 年 12 月から隙間の時間で手伝っていたサービスが本格的に進むことになり、オファーをいただいたので社員になりました。
ハードウェア側は 3D プリンタや切削、金属加工でのプロトタイプ開発を担当させていただいています。
ソフトウェア側はデモ用システム設計、データベース&API サーバー、管理画面の開発を行っています。
サービス、仕様のまとめと量産に向けて技術的な調査、仕様の優先順位の検討、検証用ハードウェアの設計開発などを担当させていただいています。
プロジェクト管理や資料管理など、開発体制の構築も進めています。
担当フェーズ
調査、設計、開発、テスト

Technologies
Linux (Ubuntu)

javascript Arduino 3DCad

nodejs AngularJS TwitterBootstrap SQLite MySQL npm bower Grunt Sequelize Ansible GitHub Slack Asana Swagger

役割
メンバー

担当
開発

プロジェクト規模
要員 3 名程度
2016 年3月 〜 2016 年3月
センサーガジェットのログ収集・可視化サービス

プロジェクト概要
クライアントのガジェットを使用してセンサーデータを集めて保持し、可視化するサービスの開発
クライアントの新しいサービスとして、営業してみるために使用したいとのことだったので、通常の流れで開発するよりは認証などサービス特有でない部分を飛ばし、機能をデモできるようにするところを急ぎで作る必要がありました。
データベース設計 & API サーバーの実装と、 ガジェットの SDK が公開されているのでサーバーにデータを送るようカスタマイズするところを担当しました。
時間がなく、デザイナーやフロントエンドエンジニアもチームに居ましたのでクライアントとサーバーサイドは API のみの粗結合になるよう努めました。
集計データを表示するニーズもありましたのでサマリの方法やタイミングについて、運用負荷がかからないよう工夫しました。
API 仕様は最初の段階で Swagger で提供し、クライアントサイドの開発が早く進むよう努めました。
担当フェーズ
調査、設計、開発、テスト

Technologies
Linux (Ubuntu)

javascript html nodejs npm bower Grunt

mysql

Sequelize CircleCI GiHub Swagger Slack

役割
メンバー

担当
開発

プロジェクト規模
要員 5 名程度(サーバーサイド開発担当 1 名)
2016 年1月 〜 2016 年2月
データ可視化系スマートガジェットの認証サービス開発

プロジェクト概要
サービスのユーザー登録機能と画面、アプリのログイン機能用 API、ユーザー情報更新や有効性確認部分の構築

数社で 1 つのシステムを作る、大規模なクライアントの案件でした。
システム全体の一部の機能のみを複数社で作り、各社のやり取りは元請けを通して連絡をとっていたため担当範囲外の細かいところまでは把握しづらく、開発に使える期間が短かったので、手戻りがないよう慎重にすすめました。
先にこちらから API 仕様を提案したり動く環境を早めに用意して連携先に使っていただくなど、もし認識の違いがあった場合は早い段階で気付けるよう努めました。
API 仕様ドキュメントは、Swagger を使って実行できるドキュメントを提供し、API を試しやすく動かし方が厳密にわかるよう、開発時に詰まらないよう工夫しました。また、Swagger は開発中スピードや検証検証サイドでの実行も簡単になり、全体の工数削減に協力しました。
ストレージや環境、構成は指定されており、指定された BaaS が未経験だったため、調査や動きの確認、その BaaS を使用する場合には適する設計を考えるなどで工数がかかり、作る機能に対し普段よりも大きく時間がかかりました。
厳しいスケジュールだったのですが納期には間に合い、先方に喜んでいただけました。
担当フェーズ
調査、設計、開発、テスト

Technologies
Linux (Ubuntu)

javascript html

nodejs

Swagger npm bower Grunt pm2 SendGrid KiiCloud GoogleCloudPlatform sinon Jasmine Mocha CircleCI GiHub GitHub Issues Slack TwitterBootstrap

役割
メンバー

担当
開発

プロジェクト規模
要員 3 名程度(開発担当   1 名)
2015 年12月 〜 2016 年3月
IoT スタートアップサーバーサイドアプリケーション開発、ハードウェア開発

プロジェクト概要
IoT スタートアップの製品の Web サーバーアプリケーション開発、ハードウェア試作品開発
初期の頃はサービスのデモ用プロトタイプで使用する API、サイト(or アプリ) の相談や設計、開発を手伝いました。
担当フェーズ
調査、設計、開発、テスト

Technologies
Linux (Ubuntu) javascript nodejs AngularJS TwitterBootstrap SQLite

npm bower Grunt Sequelize Ansible GitHub Slack Swagger

役割
メンバー

担当
開発

プロジェクト規模
要員 3 名程度
2015 年11月 〜 2016 年1月
サービス連携サイトプロトタイプ開発

プロジェクト概要
ユーザ指定の条件で既存サービスを連携するプロトタイプ開発
クライアントの自社サービス予定で、本実装の前の、機能のみ試すプロトタイプ開発でした。
どんな機能があると良いかや、どんな画面が必要かなどを考えるところからかかわらせていただきました。
まずは機能を試したいとの事だったので、本番では採用しないが早く作れる方法を採用して構築しました。
担当フェーズ
調査、設計、開発、テスト

Technologies
Linux (Ubuntu)

javascript html

nodejs AngularJS

mysql npm bower Grunt CircleCI GiHub GitHub Issues Slack Sequelize

役割
メンバー

担当
開発

プロジェクト規模
要員 3 名程度(開発担当   1 名)
2015 年10月 〜 2016 年11月
データ収集 IoT ガジェット連携 Android アプリ開発

プロジェクト概要
遠隔でガジェット周辺のデータを取得し、表示する Android アプリの開発
途中までアルバイトのエンジニアの方が作ってくれていたのですが、出勤可能な時間的に先方が予定していたデモに間に合わない可能性がありましたので私が引き継ぐことになりました。
iOS アプリの開発はすでに進んでいて、仕様は「iOS アプリと同じ」と明確で分かりやすかったので仕様確認のための時間消費や認識違いなどのトラブルは起きませんでした。
10 日程度しかなくライブラリやフレームワークなどの開発を早くする環境が整っていませんでしたので、新しくプロジェクトを作成しすでにある機能を移植する形で引き継ぎました。

時間がない中での開発でしたが期限に間に合い、クライアント様に喜んで頂きました。
iOS アプリの方ではガジェットととの連携に問題が生じていたので Android 開発中に得られた情報を使って調査に協力しました。
担当フェーズ
調査、設計、開発、テスト

Technologies
Linux (Ubuntu)

Java Gradle

Android annotations, Android Spring REST client,

CircleCI Deploy Gate GitHub GitHub Issues Slack

役割
メンバー

担当
開発

プロジェクト規模
要員 3 名程度(Android アプリ担当   1 名)
2015 年9月 〜 2015 年10月
IoT 製品連携 Android アプリ BLE 技術検証開発
2015/09/14-2015/10/25 ※週 3 日リモート勤務

プロジェクト概要
Beacon デバイス Farmware 確定のための Android アプリ側技術検証
対応 OS が Android4.0 以上だったため 4 と 5 の両方検証し、プロトタイプのアプリを作成しました。
Beacon のアプリを作るのは初めてだったため、調査からさせて頂きました。信号の内容や読み取り、書き込み、通知についてとても勉強になりました。
ガジェット側の場所を特定するためのアプリだったため常に信号受信する必要があったので、 バックグラウンドでの動作確認や OS にプロセスを止められた時の再起などの検証も行いました。

時間がない中での開発でしたが期限に間に合い、クライアント様に喜んで頂きました。
iOS アプリの方ではガジェットととの連携に問題が生じていたので Android 開発中に得られた情報を使って調査に協力しました。
担当フェーズ
調査、設計、開発、テスト

Technologies
Linux (Ubuntu)

Java Gradle

Android annotations, Android Spring REST client, Beacon

CircleCI Git PivotalTracker, Slack

役割
メンバー

担当
開発

プロジェクト規模
要員 4 名程度(Android アプリ担当   1 名)
2015 年5月 〜 2015 年8月
IoT 製品プロトタイプ開発

プロジェクト概要
マイコン、タッチパネル、bluetooth を用いた製品のプロトタイプ開発

ハードウェア開発の技術が未熟な中で関わらせていただき、とてもありがたい環境でした。
技術的に未経験のことが多く、基本的なところから調べながら進めるプロジェクトでした。
直接は使いませんでしたが CAD, 3D プリンタ、切削等工作機械の勉強もさせていただき、製品開発時の技術の選択肢が広がりました。
担当フェーズ
マイコンのプログラム設計、開発 回路設計、開発

Technologies
Linux(Ubuntu12)

arduino C++

役割
メンバー

担当
開発

プロジェクト規模
1 名
2015 年1月 〜 2015 年10月
ハードウェアスタートアップ企業開発支援

プロジェクト概要
IoT の新製品開発

ハードウェア、電子回路未経験の中で関わらせていただき、とても勉強になりました。
開発プロジェクトの経験がある中で時間的に一番長く出勤していることもあり、基本の設計とエンジニアのタスク管理やスケジュール調整などの管理面も関わらせて頂きました。
各種センサー、音声認識、画像認識等の未経験の技術を使用していること、エンジニアほぼ全員がフルタイムではない働きだったこと、学生さんも多くチーム開発のノウハウやツールに慣れていないチームでしたので、スケジュールの調整やタスクの割り振り、情報共有、開発体制・フロー構築、運用自体に苦労しました。
変更が多く、フルコミットでないメンバーで回す必要があるため、わかりやすく分離しやすい設計と柔軟な開発体制を保つこと、メンバーのスキル向上を意識しました。
担当フェーズ
サーバーサイド設計、開発 プロトタイプのハードウェア回路設計、開発 筐体内ソフトウェア設計、開発

Technologies
Linux(Ubuntu12, Ubuntu14)

arduino Javascript

NodeJS, AngularJS TwitterBootstrap3, Mongoose,

MongoDB Jenkins, Git, Ansible, Yeoman, Apache2, Julius, OpenCV, Slack, Redmine, Swagger, elasticsearch, fluentd, kibana,

役割
メンバー

担当
開発

プロジェクト規模
要員 13 名程度(開発   7 名、うちサーバーサイド 1 名)
2014 年9月 〜 2015 年4月
業務システム開発
2014/09-2015/04

プロジェクト概要
Android とブラウザで使用する業務システムのプロトタイプをサーバーサイドからクライアント、Android アプリまで一貫して開発しました。
サーバーサイドで Scala、Android アプリで AndroidAnnotations、Javascript の FW に AngularJS と、私にとって初めての言語・FW ばかりを選ぶことができ、とてもありがたい環境でした。
ユーザー様との打ち合わせや仕様の検討に参加させていただき、仕様や機能、意図がくみとりやすかったので私の思いつく範囲で機能のご提案をしました。
コンパクトな体制でしたしまだ仕様が固まっていない状態での開発でしたので、早く利用イメージができるよう、できるだけスピード感を持って開発するよう心がけました。
テーブル数 27
担当フェーズ
設計、開発、テスト

Technologies
Windows, Linux

Scala Java Javascript Gradle

Skinny (Scala) Flyway, Jetty, Tomcat, Android annotations, Android Spring REST client, TwitterBootstrap3, AngularJS jQuery, Robolectric

Postgres 9.4

Jenkins Git Redmine

役割
メンバー

担当
開発

プロジェクト規模
要員 4 名程度(開発   1 名)
2014 年4月 〜 2014 年8月
SDK 運用チーム

プロジェクト概要
この時期から社内の Android アプリが認証や課金時に使用する SDK の担当になりました。 複数の SDK がありましたのでリリース作業自動化や品質向上のための各静的分析自動化など、jenkins を使って更に安全に運用できるよう努めました。
Gradle でビルドを行いたいと要望がありましたので SDK のビルド・リリース作業の Gradle 化を行いました。
また、実現したい機能が既存のプラグインだけでは実現できなかったり無理して組み込んでもパフォーマンスが悪く使い物にならなかったりしたので独自の jenkins プラグインを作成し組み込みました。
SDK の Cocos2dx プラグイン化作業(Android 側と共通部分)を行いました。
担当フェーズ
設計、開発、単体テスト

Technologies
Windows, Linux,

Java Gradle C++(少し)

Cocs2dx(少し)

SQLite

Jenkins Nexus Git SVN

役割
メンバー

担当
開発

プロジェクト規模
要員 5 名程度
2013 年9月 〜 2014 年4月
アプリ運用チーム

プロジェクト概要
客先のメイン事業のサービス名を冠したアプリで長く運用されており、クローズできないアプリでした。
歴史があり、ソースが読みにくいので数ヶ月のリファクタリング期間が設けられていました。
画像選択を行う画面をライブラリとして開発しました。
クライアントサイドをメインで開発したことがなかったため、リソースの節約やイベントの多さ、ケースの複雑さ、端末依存の現象や UI のためだけの制御など、サーバーサイドとの違いに戸惑いました。
品質を維持するための静的解析やビルド自動化の作業の時間ももらえたため、チームのサーバーに jenkins を構築しました。
担当フェーズ
設計、開発、単体テスト

Technologies
Windows Java Shell(少し) Groovy(少し)

SQLite

Git Jenkins

役割
メンバー

担当
開発

プロジェクト規模
要員 5 名程度
2012 年12月 〜 2013 年9月
ゲーム部門コアシス

プロジェクト概要
複数ゲームで使用されるシステムの開発、運用。
認証などは大元のプラットフォーム側で運用していたことと、各ゲーム側にもこちらから使う API を用意してもらって構築したため普通のシステムより多くの API を使用するシステムになりました。
パフォーマンスの問題や、大型ゲームのトラフィックがリリースしたての小さなゲームの API サーバーを圧迫するなど、使用 API が多いシステムならではのトラブルがありました。処理の頻度を緩めて各サーバーヘのアクセスを短時間に集中させないこと、キャッシュを許容するよう、数値の管理チームに相談に行くことで対応しました。
各ゲームとの連携がうまく行かないと動かず、立場上も反感を買いかねない場所ですのでできるだけ連絡を密にするよう気をつけ、調査などもこちらでできることは吸収するよう努めました。各ゲームでサーバーの構築方法や FW が違いましたので調査やソースの確認を通していろいろなケースの勉強になりました。
アプリケーションの作りもアクセスの多いサイトならではの方法が多く、とても勉強になりました。
AP サーバー 15 台程度(当時)
DB サーバー 3 台(master1&slave2・当時)
画面数 20 程度
テーブル数 50 程度
各ブラウザゲームの WebView アプリ化(Android)もさせて頂きました。対象ゲームは  6 個、今後さらに増える見通しでしたので計測などゲーム個々の処理以外は全て FW として実装し、各ゲームの処理は数個程度の薄いクラスで収まるよう作成しました。
担当フェーズ
設計、開発、テスト、運用

Technologies
Linux

Java FTL HTML CSS JavaScript shell Spring MySQL SVN Git Apache Tomcat Memcached Jenkins Android

役割
メンバー

担当
開発

プロジェクト規模
要員 14 名程度
2012 年8月 〜 2012 年12月
モバイルブラウザゲーム運用

プロジェクト概要
フィーチャーフォン、スマートフォン用ブラウザゲームの運用
アクセス数が多いのでサーバー 40 台程度で運用していました。
アプリケーションの作りもアクセスの多いサイトならではの方法が多く、とても勉強になりました。
担当フェーズ
追加機能開発(機能ごとの DB 設計〜単体テストまで) CS 調査

Technologies
Linux

Java FTL HTML CSS JavaScript shell

Seaser

MySQL

Apache Tomcat

役割
メンバー

担当
開発

プロジェクト規模
要員 20 名程度
2012 年5月 〜 2012 年8月
独自サービス構築

プロジェクト概要
サイト構築システム
画面数 83
テーブル数  39
担当フェーズ
全行程

Technologies
Linux

Java JSP HTML CSS JavaScript shell

Struts

MySQL Apache Tomcat

役割
メンバー

担当
開発

プロジェクト規模
要員 1 名
2011 年10月 〜 2012 年4月
大手家電メーカー事業部生産管理システム構築

プロジェクト概要
大手家電メーカー事業部生産管理システム
Ui の処理は Java, JSP で行い、DB への更新は PL/SQL で行う
画面数 73
テーブル数  122
担当フェーズ
Java 側の詳細設計、開発、テスト

業務内容
詳細設計から実装、テストまで
リリース前プログラム修正、調査、チューニング等
実績・取り組み等
Java 開発者は当初私を含め 4 人アサインされており、私自身は 11 月末までの短期案件の予定でした。開発フェーズが落ち着きメンバーが減る段階では、技術力を評価していただき、チームの Java 担当技術者としては唯一、3 月末のリリース前後の要員として残ることになりました。保守要員としての長期の依頼も頂く等、評価していただきました。
開発スタイルは WF ですが全体的に時間と要員が足りず、設計書がないまま口頭で仕様を聞いて開発するなど、イレギュラーな状態での開発になりました。
設計書がなく、特に他の技術者の担当プログラムはソースしか情報が無い為、変更や修正の際にはソースからプログラム設計を理解し変更を行いました。
Web アプリケーションについてはチームの中で私が一番詳しかった為、機能実現に向けた技術的な提案や Web 特有の制約事項の説明を行い、設計に協力しました。
リリースも近く、スケジュールもぎりぎりだったため、いつも以上に体調管理に気をつけました。お蔭様で 1 度も病欠せず、業務に専念することが出来ました。
Technologies
Windows

Java JSP PL/SQL

Struts ベース独自 FW Oracle

Apache

役割
メンバー

担当
開発
プロジェクト規模
要員 13 名
2008 年10月 〜 2011 年10月
大手飲食チェーン店ポイントシステム部品・バッチ作成、選挙の後援者管理システム、ツイッター割引まとめサイトの「ツイ割」、パリーグ野球チームの分析システム機能追加、パリーグポータルサイト管理サイト、携帯サイト CMS、美容院予約システム、等構築。

大手飲食チェーン店依頼ポータルサイト
2011/02/21-2011/10/07

プロジェクト概要
大手飲食チェーン店より依頼の、飲食店ポータルサイト構築。
画面数 26
テーブル数 85
担当フェーズ
基本設計、詳細設計、開発、テスト

業務内容
基本設計から実装、テストまで
デザインはデザイン担当会社から HTML でデザインを受け取り、JSP への変換を行う。
実績・取り組み等
JSP はデザイン会社の人が直接更新することもあるのでできるだけ HTML がわかれば理解できるソースにするよう心がけました。
すでに構築されているモバイルサイトの派生プロジェクトですのでソースや設計はモバイルサイトに準じた方法をとりました。
その他、別に製作してあるモバイルサイトの管理サイトに PC サイト用の機能追加を行いました。
Technologies
Linux(RH)

Java JSP

Struts2

MySQL

Apache

役割
メンバー

担当
開発
プロジェクト規模
要員 1 名 デザイン会社数名
2009 年4月 〜 2009 年5月
小売店向け EC サイト構築・受注発送請求管理システム構築

プロジェクト概要
当時エクセルで行っていたグループ会社向け通販の管理を Web システム化するプロジェクト。

顧客サイト画面数 25
管理サイト画面数 48
テーブル数 33
担当フェーズ
要件定義。基本設計、DB 設計、詳細設計、実装、デザインあて、テスト、納品、データ移行
業務内容
スケジュール管理
顧客向け EC サイトとクライアント向け管理サイト要件定義、各設計、実装、テスト、納品、データ移行
ヤマト運輸発送伝票出力システム B2 との連携、佐川急便発送伝票出力システム e 飛伝との連携
実績・取り組み等
要件定義から 2 ヶ月で納品し稼動させるスピード開発でしたが移行までスケジュールどおりに進めることができました。
管理サイト構築後の使用感の確認を行った際に担当者が IT リテラシーが低めだとわかり、業務マニュアルとヘルプを兼ねる「ガイド」を担当業務別に作成、ログイン後のトップページやメニューは担当者が使う機能数個のみに絞り、迷うことがないよう工夫したところ、大変喜んでもらうことができました。
個人情報を扱うため、厳密な権限管理ができるようにしました。
運用負担がかからないよう、クライアント側で各種設定ができるようにしておきましたので問い合わせは 2 年半たっても数件にとどまりました。
Technologies
Linux(RedHat)

Java JSP HTML JavaScript CSS

Struts2

MySQL

役割
メンバー

プロジェクト規模
要員 3 名
2009 年2月 〜 2009 年4月
受託飲食店グループ向けポイントシステム開発

プロジェクト概要
大手飲食店グループ向けポイント管理・CRM システム構築・運営。

業務内容
モバイルサイトへくじ機能追加
分析システムで使用する天気情報取得バッチ作成
ポイント失効処理、失効前メール送信バッチ作成
上記機能設計、実装、テスト
実績・取り組み等
モバイルサイトの作成や実行可能 Jar の作成、メール送信機能は初めてでしたがインターネットで情報を集め自力で作成することができました。
Technologies
Linux (RedHat)

Java JSP HTML JavaScript CSS

Struts

MySQL

Apache

役割
メンバー

プロジェクト規模
要員 5 名
2008 年10月 〜 2009 年1月
顧客・会合管理システム(受託)

プロジェクト概要
クライアント主催の会合やワークショップに参加している顧客情報を管理し、アテンド担当社員情報と会合の連絡管理や出欠管理を行うシステムの構築。

画面数 46
テーブル数 22
担当フェーズ
要件定義、各設計、開発、テスト、納品、データ移行、保守・サポート

業務内容
要件定義、基本設計、DB 設計、画面設計、実装、デザインあて、テスト、運用保守、データ移行サポート
スケジュール管理、進捗管理(デザイナー、HTML コーディング担当との調整)
実績・取り組み等
最初の 1 ヶ月はクライアント側の調整が終わっていなかったことと、私自身 Java での開発が初めてだったため練習用サンプルプログラムを作成する期間となり、実質 2 ヶ月間で要件定義から納品まで行うスピード開発でした。
初めてのプロジェクト全体スケジュール管理を行いましたが約束の納品日を守ることができました。
クライアントは社内の人事異動や部署名変更が頻繁で、顧客アテンド担当者の管理が大変だったとの事なのでアテンド担当者の所属部署やアテンド担当者をすべて別の担当者に引き継ぐなど、一括操作ができるよう利便性に考慮しました。
個人情報を扱うため、機能画面ごとの厳密な権限管理をし、権限は役割に合わせて一括で管理、ユーザー側で自由に変更できるよう設計を工夫しました。
Technologies
Linux

Java JSP HTML JavaScript CSS

Struts

MySQL

Apache

役割
メンバー

担当
進捗管理
開発
プロジェクト規模
要員 6 名
2008 年3月 〜 2008 年9月
お小遣い帳 Web アプリ、支出記録・割勘用のモバイルサイト (PHP 勉強用)
2008/03-2008/09

プロジェクト概要
SAP プロジェクトからの帰宅後や休日を使用して PHP で構築しました。

お小遣い帳 Web アプリ クレジットカード、電子マネー、現金を一括で管理するサイトが欲しかった為、構築しました。

支出記録・割勘用モバイルサイト 複数人の共通の支出を記録し、全員が平等の金額を負担する為、携帯サイトとして構築しました。 主にみんなで外出した際、代表者が支払う事が多かったので最終的に誰がどれだけ払っているのか分からなくなるため、使用しました。

担当フェーズ
全行程

Technologies
Windows

PHP

MySQL
2008 年6月 〜 2008 年9月
大手化学メーカー SAP アドオン開発

プロジェクト概要
SAP 導入・アドオン開発。

担当フェーズ
詳細設計、開発、単体テスト

業務内容
新規プログラム詳細設計、詳細設計書作成、DFD 作成、実装、テスト仕様書作成、テスト
仕様変更対応
パフォーマンスチューニング
調査
実績・取り組み等
通常の新規モジュール開発の他に新人 4 名での画面プログラム開発、複数回にわたり開発停止になった画面プログラムを外国籍のメンバー数名と開発するなど、大きなプログラムを開発することもできるようになりました。
移行対象モジュールが使用しているモジュールを正確に知ることができずに設計チームが困っていることを知り、空き時間で同時移行するべきモジュールを一覧にするプログラムを作り、提供しました。
二次受けの企業と共同で行う ABAP 講習の講師を 1 日のみ依頼され汎用モジュール開発の講習を行いました。
Technologies
SAP ABAP

Oracle

役割
メンバー

プロジェクト規模
要員数百名
2007 年8月 〜 2008 年2月
大手家電量販店 SAP アドオン開発

プロジェクト概要
SAP 導入・アドオン開発。

担当フェーズ
詳細設計、開発、単体テスト

業務内容
新規プログラム詳細設計、詳細設計書作成、実装、テスト仕様書作成、単体テスト
仕様変更対応
調査
実績・取り組み等
OJT で先輩に助けられて経験を積みました。
プログラムを始めて半年の頃に作った個人用の調査プログラムが好評で、設計チームでも使われることになり、割り当てられた仕事以外でも貢献することができました。また、このツールなしでは仕事ができないと今でもプロジェクトに残っている先輩に言っていただき、今でも使われていることを知りました。作ったものが便利だと思ってもらえることを非常に嬉しく思います。
チームにはプロジェクトの初期メンバーとしてアサインされましたが、当初 6 名程度だったチームは評判が良く、要員追加されて十数名程度にまでなりました。開発フェーズが終盤になると当時の 1 次受けコンサルティング会社の別プロジェクトへチームまるごと移動するよう依頼される等チームの評価向上に微力ながら貢献しました。
Technologies
SAP

ABAP

Oracle

役割
メンバー

プロジェクト規模
要員数百名

レッスン・講座
評価
口コミ