経歴
1社目:2012/4〜2014/3
研修は3ヶ月Java、JSP、Servlet、SQL Server
内部設計・テストメイン
コードを書く仕事はほぼありませんでした。
SQLはちょっと書きました。
職業訓練校:2014/9〜2015/3
内容はJava、JSP、Servlet、MySQL
新卒研修レベル(入門書レベル)で下記のようなものを作りました
- オセロゲーム
- MySQL連携したCRUDシステム
- チームで簡易的な音楽ダウンロードのECサイト
2社目:2015/4〜2016/6
オリジナルCMSの自社製品開発の会社で顧客折衝、要件定義、外部設計、マネージメントの工程を行いました。
製造はニアショアへ依頼し、リリースまでスケジュール管理を行いました。
3社目 前半の案件:2016/7〜2017/6
外部設計、内部設計、製造メイン
主に客先出向でJavaのコードを書いていました。
3社目 特筆案件1:2017/7〜2018/6
保険業界のDB2からOracleDBへのデータ移行案件
高速開発ツールを用いたデータ移行システムの開発
SQL、単体テスト仕様書を大量に書きました。
SQL、テスト仕様書作成の観点出しが得意になりました。
生産性と高品質な成果物でお客様やリーダーから高評価をいただきました。
3社目 特筆案件2:2018/7〜2018/9
自動運転タクシーの予約アプリ開発
直請け、自社でアジャイル開発
Ionic – Angularのコードを書く作業がメインでした。
私含めチームメンバー全員AngularもIonicも未経験でしたが、苦なく即座に書けました。
チーム1の生産性を上げました。
3社目 特筆案件3:2018/10〜2020/5
アパレル業界の受発注管理システム開発
直請け、自社でアジャイル開発
Angular、SpringBootのコードを書く作業がメインでした。
SQLもガッツリ書きました。
チーム1の生産性を上げました。
Angularの作法、クリーンで拡張性の高い記述法を常日頃から学習して案件に取り入れました。
Angular未経験者のみ、若手多数のメンバー編成の中、率先して学習してチームへ展開、講師としてチーム内で勉強会を開催しました。
独学で単体テストコードの書き方を学び、案件に導入しました。
リーダーへの仕様提案、改善案を数多く提言しました。
開発メンバーのフォロー、後輩の進捗管理、リーダーとの連絡、相談など行いました。
フリーランス 案件1:2020/7〜2021/6
マッチングアプリ開発案件
スクラム開発
Angular、Ionic、Jest、NestJS、MySQL、AWS SDKで連携コードをガリガリ書きました。
ゼロからの作成でほぼ全画面、全機能に携わりチーム1の生産性を上げました。
フリーランス 案件2:2021/7〜2023/2
ニュース配信サイトのリプレース案件
スクラム開発
Preact + ExpressでSSR、ReactでSPAの構成でコードをガリガリ書きました。
Jestもガリガリ書きました。
Goもたまに書いてました(ほぼコピペ)。
React未経験でしたが、苦なく即座に書けました。
Jest、結合試験仕様書においてテスト観点作成の経験を重宝してもらいました。
フリーランス 案件3:2021/7
スケジュール調整システム開発案件
案件2と平行して副業として1ヶ月だけ参画しました。
しかし本業の案件2が未経験言語でキャッチアップがキツかったため、1ヶ月で終了しました。
AngularとNestJSのコードを書いてました。
アーキテクチャの理解も十分で即戦力で生産性も高いということで評価いただき、延長を強くお願いしてもらえました。
フリーランス 案件4:2023/2〜2023/12
コンシューマ向けSafari機能拡張、iOSアプリ開発案件
スクラム開発
React、Ionic、Next.js、NestJS、MySQL、AWS
Jestにおいて高い生産性、観点の網羅性を高く評価していただきました。
初めてCDKやCloudFormationを業務で扱いましたが、勉強して1人でインフラ構築を行えるようになりました。
AWS本番アカウントにある検証環境、開発環境のリソースを、それぞれアカウント分割する作業を1人で行いました。
フリーランス 案件5:2024/1〜現在
求人・求職者サイトWebシステム開発
スクラム開発
React、Typescript、Fastify、Jest、PostgreSQL、TypeORM
AWS(Terraform、ECS、Lambda、Step Functions)
参画後即戦力でタスクを消化していき、リーダーやメンバーから高い評価をいただきました。
既存の仕様やコードの問題点などの報連相、改善策の提示を行い、リーダーから高い評価をいただきました。
Reactの描画のパフォーマンス改善を行いました。
フロントエンド・バックエンド共にアーキテクチャの改善策を提示してチームメンバーにレクチャーを行い導入しました。
途中でIaCをCloudFormationからTerraformへ移行されましたが、チームで扱えるメンバーが少なかった為、積極的に学習して業務で難なく扱えるようになりました。
エンジニアメンバー内でダントツの生産性を上げ、その他チームへの貢献性の高さから、参画後半年で会社から表彰されました(タスク消化ポイントが他のメンバーの約2倍)。
人物特徴
コードを書く作業が4年目からという遠回りなキャリアを形成してきました。
しかし早めに上流工程に携わっていた為、マネージャー、設計者、製造者間でお互いどういうことをしてもらえば助かるのか、認識の齟齬や各立場でどういうことがあると困るのかは体感してきました。
現在は設計・製造メインですが、リーダーからは仕様についてよく相談を求められ、ガンガン意見します。
過不足ないホウレンソウ、問題提起と解決策の提案で助かっていると現場から評価をいただいています。
製造時にしっかり動作確認を行い、高品質なものを素早く仕上げることが得意と自負しております。
得意
Typescriptを使ったフロントエンド開発
フレームワークはReact、Angularを経験してきました。
ゼロから画面を多数作っています。
Jestでテストコードガリガリ書いています。
非同期処理余裕で書けます。
状態管理はuseContext、useReducer、Redux、(Angularでは)NgRxを扱っていました。
React Hook Formを使ったフォーム画面も経験しました。
アーキテクチャの書籍や英語の技術記事などを読んで学習し、実務に取り入れています。
Webの業務システムや、Ionicを使ったコンシューマ向けスマホアプリ開発を経験しました。
未経験から独学でNgRxを学び、案件に導入しました。
未経験から独学でJasmine / Karmaを学び、案件に導入しました。
英語の技術記事読んだりUdemyで英語講座を視聴して学習し、案件に取り入れチームに展開しました。
RxJSで複雑な非同期処理をスラスラ書けます。
Qiitaでも記事投稿しています。
Angular日本ユーザー会所属のエンジニアの方と仕事をして、CQRS(コマンドクエリ分離原則)を教えてもらい、設計・実装できます(Reactによる実装方法も学習してチームに展開しました)。
Typescriptを使ったバックエンド開発
フレームワークはNestJSを経験してきました。
初めて携わった際、以前にSpringBoot約2年経験していたので、アーキテクチャは一瞬で理解しました。
TypeORM楽勝で書けます。
Jestでテストコードガリガリ書けます。
非同期処理余裕で書けます。
AWS SDKを使ってAWSとの連携コード大量に書いています。
SQL
MySQL、PostgreSQL、Oracle、SQL Server、Symfoware、Oracle、DB2)
テーブル設計できます。
CASE文や集約書けます。
複雑な副問合せ書けます。
複数テーブル結合書けます。
実行計画を見て、適切なindex貼れます。
Java
SpringBoot、Struts2、Jersey、Swing
得意ですがTypescriptの方が断然書きやすいのでもうやりたくない・・
読んだ技術書
★★★★★役に立った度
読了
- キタミ式イラストIT塾 基本情報技術者★★★★☆
- スッキリわかるSQL入門★★★☆☆
- SQL ゼロからはじめるデータベース操作★☆☆☆☆☆
- 達人に学ぶSQL徹底指南書★★★★★
- 達人に学ぶDB設計 徹底指南書★★★★★
- スッキリわかるJava入門★★★★★
- スッキリわかるJava入門 実践編★★★☆☆
- スッキリわかるサーブレット&JSP入門★★★★★
- なぜ,あなたはJavaでオブジェクト指向開発ができないのか~Javaの壁を克服する実践トレーニング★★★☆☆
- 作りながら学ぶ HTML/CSSデザインの教科書★★★★★
- 関数型リアクティブプログラミング★★★★☆
- Javascript関数型プログラミング★★★☆☆
- Clean Architecture for React★☆☆☆☆
- HTTPの教科書★★☆☆☆
- 3分間ネットワーク基礎講座★★★★☆
- 3分間ルーティング基礎講座★★★☆☆
- 3分間HTTP&メールプロトコル基礎講座★★★☆☆
- 3分間DNS基礎講座★★★☆☆
- 安全なwebアプリケーションの作り方★★★★★
- SSLをはじめよう★★★☆☆
- DNSをはじめよう★★★☆☆
- AWSをはじめよう★★★☆☆
- この1冊で合格! AWS認定ソリューションアーキテクトテキスト&問題集★★★☆☆
- 仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん★★★★★
途中
- リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック
- 良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方
- 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法
- ドメイン駆動設計入門
- 「実践ドメイン駆動設計」から学ぶDDDの実装入門
- レガシーコード改善ガイド
- レガシーソフトウェア改善ガイド
- Clean Architecture 達人に学ぶソフトウェアの構造と設計
- Java言語で学ぶデザインパターン入門
- React Hooks入門
- りあクト! TypeScriptで始めるつらくないReact開発【① 言語・環境編】
- りあクト! TypeScriptで始めるつらくないReact開発【② React基礎編】
- りあクト! TypeScriptで始めるつらくないReact開発【③ React応用編】
- 新しいLinuxの教科書
- 図解入門TCP/IP 仕組み・動作が見てわかる
- Amazon Web Services 基礎からのネットワーク&サーバー構築
- わかばちゃんと学ぶGit使い方入門
積読
- JavaScript Ninjaの極意 ライブラリ開発のための知識とコーディング
- 達人プログラマー
- 基礎からのMySQL
- マスタリングTCP/IP 入門編
- Webエンジニアが知っておきたいインフラの基本
- サーバインフラエンジニアの基本がこれ1冊でしっかり身につく本
- AWSではじめつインフラ構築入門
- マンガでわかるDocker ① 〜概念・基本コマンド編〜
- マンガでわかるDocker ② 〜開発環境を作ろう編〜
- エッセンシャルスクラム
- Game Programming Patterns ソフトウェア開発の問題解決メニュー
- 実践ドメイン駆動設計
- ドメイン駆動設計 モデリング/実装ガイド
- UMLモデリング入門
- UMLモデリングレッスン
- 自走プログラマー
目指す人材
- 素早く、品質の高い成果物を出せる
- 最新技術のキャッチアップができる
- 最適な技術選定ができる
- 可読性、拡張性の高いアーキテクチャを構築できる
- アプリケーション、インフラともに要件定義、設計、構築ができる
- 扱う技術をチームに展開・構築できる知識、ノウハウがある