概要
エンジニア歴約13年。 大手SIerで2009~2015年頃まで物流や会計分野のシステム開発に従事。 それ以降はフリーランスとしてWeb系企業中心にWebサービスのシステム開発を行う。 業務内容は、要件定義、設計、製造、テスト、移行(リプレイスの場合)といったシステム開発全般に携わる。スキルセットは下記に記載。 バックエンドを専門としていたが、ここ数年はフロントエンドも合わせて両刀で開発している。 現在は、バックエンドもフロントエンドも主に TypeScriptだけ で開発できることを目指しており、「React, Next.js, NestJS」が現在需要が増えつつあり、また将来的にも明るい技術だと信じている。 契約するクライアントさんの仕事も、これらのキーワードが絡んでることが多い。 現在はデータ分析を身につけるべく、数学・統計学から始まりPythonのライブラリについて勉強する日々を送っている。
好きなもの
- 読書
- 野鳥観察
- 自分が今できない技術を勉強すること
嫌いなもの
- 人と同じ
- 無駄な会議
- 飲み会
- 各種ハラスメント(駆逐したい)
- マウントとるエンジニア
- 会社に依存してる人
- 文句は言うけど行動しない人
スキルセット
マークアップ・UIデザイン
HTML
CSS
Figma
フロントエンド
React
ReactNative
Vue.js
その他JavaScript
バックエンド
Java
Ruby
Go言語
Node.js
DB
Oracle DB
MySQL
PostgreSQL
Cassandra
Firebase Firestore
MongoDB
インフラ
AWS
Firebase
Docker
kubernetes
その他
シェル
Excel VBA
VSCode
職務経歴
1: 大手商社向け貿易関連システム開発
参画期間
2009年04月 ~ 2010年03月
案件の説明
大手商社向け業務管理システム構築。自社の輸出入商品について、事前に専用の画面で関税など輸出入に関わるチェックを事前に行うシステム。 新入社員で未経験で入っていきなりJavaでガッツリ開発。 設計書に沿って実装を進めていたが、今思えば何の機能を作っていたか全くわかりません(笑)
使用した技術
担当フェーズ
チームメンバー数
20人
契約形態
正社員
2: 大手金融計企業様向けの基幹システム再構築
参画期間
2010年04月 ~ 2011年04月
案件の説明
大手金融企業の基幹システム再構築のための移行プログラム開発案件。 ネットから隔離されたガラス張りのセキュリティ室で、永遠移行用SQLを1000本実装。 これを機にSQLが誰よりも書けるようになる。
使用した技術
担当フェーズ
チームメンバー数
100人
契約形態
正社員
3: コンビニ企業向け商品会計システム再構築(マスタ管理)
参画期間
2011年05月 ~ 2013年01月
案件の説明
大手コンビニの会計処理に使う大規模マスタ管理システム開発案件。ここで初めて設計から本番導入まで行う。 これを機にモノとカネの流れがわかるようになり、一連のシステム開発ができるようになる。 とくに顧客から高く評価をいただいた案件でもあり、なぜか一緒にバンド活動もやったりする仲に。 ちなみに、バンド名は「rm *(アールエムアスター)」。
使用した技術
担当フェーズ
チームメンバー数
60人
契約形態
正社員
4: ゲームプラットフォーマー企業のサーバサイド保守開発
参画期間
2013年02月 ~ 2014年06月
案件の説明
誰でも知っている巨大ゲームプラットフォームを持つ大手企業様のサーバーサイド(API)開発案件。 ひたすらJavaでAPIを実装する案件で、同時に残業のない初めての案件。 この案件で、ただのプログラマーでは一生これ以上稼ぐことはできないと認識。 資格の取得やプログラミング以外の勉強を始める。
使用した技術
担当フェーズ
チームメンバー数
50人
契約形態
正社員
5: アパレル企業向け基幹システム再構築(販購買,在庫管理,会計)
参画期間
2014年07月 ~ 2015年01月
案件の説明
ERPパッケージを用いた初めての案件。 そして初めての炎上ブラック案件。 一応小さなチームを任せてもらえるようになったのもここが初めて。 チームをまとめながら求められるものは作っていったが、毎日遅くまで仕事し土日も出勤する生活でキャパシティオーバー。 退職を考える。
使用した技術
担当フェーズ
チームメンバー数
30人
契約形態
正社員
6: 大手電子部品メーカ向け部品表管理システム保守開発
参画期間
2015年02月 ~ 2015年03月
案件の説明
疲弊していた僕を休養させるため会社が用意した案件。定時帰りに戻る。 システム間インターフェースのプログラム実装。 ここで日々の仕事を午前中で終わらし、午後は転職のための勉強やスキルアップに充てるようになる。 その時のリーダーさん談「そういうの、、家帰ってやってくれよぉ」。ごめんなさい、無視しました。
使用した技術
担当フェーズ
チームメンバー数
5人
契約形態
正社員
7: 食品素材メーカー様向け基幹システム再構築 (販購買,在庫管理,会計)
参画期間
2015年04月 ~ 2015年06月
案件の説明
2度目のERP案件。そして2度目の炎上ブラック案件。 そして基幹システムの機能ごとに受注した企業が違うという特殊な案件。 社内だけでなく他社のSIerとコミュニケーションをとるというストレスフルな環境で、さらにExcelしかいじれない上司とExcelも触ったことがない後輩しかいないところに投入される。 一応開発のチームリーダーだったが、当初自分しか手を動かせるメンバーがおらず、途中からそれなりの力量をもったメンバーが投入されるも産休あけで昼過ぎには帰ってしまう状況。 ついに心身を病んで退職。
使用した技術
担当フェーズ
チームメンバー数
20人
契約形態
正社員
8: 配送システム新規構築
参画期間
2015年09月 ~ 2015年10月
案件の説明
初めて転職して2か月で退職した案件。 人生初のパワハラ上司に遭遇。(!) もともと心身が弱っていた上で転職だったので、うまく立ち回りできず終了。 面接のときに「パワハラします」って先に言っておいてほしいですよね。 ここで正社員で契約することが、いかに面倒であるということを思い知り、フリーランス転向へのきっかけになる。
使用した技術
担当フェーズ
チームメンバー数
4人
契約形態
正社員
9: 生命保険企業様向け保険料計算システム開発
参画期間
2015年12月 ~ 2016年05月
案件の説明
フリーランスになって初めての案件。 といってもSIer企業経由の二次請け。 とりあえず休息が必要だった僕は、エージェントに「とりあえず稼働が少ない・安定している案件くれ!」と頼んだ結果ここになった。 中国人の方がリーダーでメンバーが日本人という特殊仕様。
使用した技術
担当フェーズ
チームメンバー数
10人
契約形態
フリーランス(業務委託)
10: 自社部品管理パッケージ開発,機能拡張開発
参画期間
2016年06月 ~ 2017年03月
案件の説明
フルタイムって働きすぎでは?と考えた僕がエージェントを変更し、週4日案件を探してもらったのがこの案件。 都会の喧騒を離れたマンションの一室で小鳥のさえずりを聴きながらの開発案件。 ここで少しづつ心身のエネルギーが戻ってくる。 開発の仕事自体はそれほど大変ではなかったが、自分にはJava一本しか武器がないことを懸念し、仕事とは別にRubyを独学で勉強し始める。
使用した技術
担当フェーズ
チームメンバー数
3人
契約形態
フリーランス(業務委託)
11: 自社BtoB在庫管理システムの再構築
参画期間
2017年04月 ~ 2018年03月
案件の説明
Rubyを勉強し終わったあとに獲得した案件。 元はと言えば週3日稼働の案件を探していたが、そういった企業は「Rubyの業務経験1年以上」という条件の案件がほとんどだったため、この案件で業務経験を積むことにしてちょうど1年で契約終了。 ここは、いわゆるスタートアップ系のイケイケ企業で、社長が僕と同い年だったことに焦りを感じる。(笑) なぜかここの新入社員のOJT(教育係)みたいなこともやることになる。 チームリーダーが昼まで遅刻してくる上、彼の仕事までやる羽目になり(ぜったいゆるさん)、結構な仕事量をやることになったが、Rubyはここである程度できるようになった。
使用した技術
担当フェーズ
チームメンバー数
8人
契約形態
フリーランス(業務委託)
12: 自社BtoCバス料金比較サイト保守開発
参画期間
2018年04月 ~ 2021年06月
案件の説明
初のBtoC案件で、週3日案件を獲得。 1年半ほどはRubyの開発をやっていたが、途中からフロントエンドの開発を結構やることになる。(これは希望して) フロントエンドにほとんど触れてこなかったことへの焦りから率先して担当するようになり、Vue.jsとReactは一通り実装できるようになった。 この案件は、機能単位ではなくある程度大きなサービス単位で仕事を任せてもらえることが多く結構好き勝手やらせてもらっていた。 コロナの影響もありフルリモートでの業務が続いていたが、3年以上同じ現場で業務自体に飽きてきたこともあり、新しいスキルを身につけるべく契約終了を宣言。
使用した技術
担当フェーズ
チームメンバー数
15人
契約形態
フリーランス(業務委託)
13: 自社CtoCアプリ新規開発
参画期間
2019年01月 ~ 2019年07月
案件の説明
初の人脈による案件獲得。 しかも初のスマホアプリ開発。 サービスの立ち上げ時から参加したので、開発以外にも仕様検討などもする。 知り合いのツテで開発メンバーを増やして、チームリーダーっぽいこともやった。 クライアントの資金切れで、半年ほどで空中分解した。
使用した技術
担当フェーズ
チームメンバー数
3人
契約形態
フリーランス(業務委託)
14: C2C音声メディア系スマホアプリ開発
参画期間
2020年11月 ~ 2021年07月
案件の説明
エージェント経由ではなくマッチングサイトで契約したSES系企業の開発案件。 SESといっても全員がリモートワークでメンバーとは一度も会ったことはない。 Rubyが落ち目なのを危惧し、Go言語のキャリアを積むために参画した案件。 Go言語の実務経験を得ることに成功し、その後のキャリア形成に寄与。
使用した技術
担当フェーズ
チームメンバー数
2人
契約形態
フリーランス(業務委託)
15: SES企業の相談役
参画期間
2020年11月 ~ 2021年01月
案件の説明
前回スマホアプリ開発をやった企業(前述)の別案件。 自分が実装するわけではなく、開発の相談役として参加。 見積作成や機能管理、進捗管理などをアドバイスしいたが、バングラデシュのエンジニアとのコミュニケーションに苦戦。 僕が参画した時点で、Excelの設計書にあったワイヤーを「UIデザイン」と勘違いしたエンジニアが、Excelと全く同じデザインの画面を作成してしまっていた。 エンジニア未経験者たちが仕様をまとめたのが原因で炎上化して、PJ自体終了。
使用した技術
担当フェーズ
チームメンバー数
5人
契約形態
フリーランス(業務委託)
16: シェフ向けレシピ公開サイト新規作成
参画期間
2021年02月 ~ 2021年10月
案件の説明
マッチングサイトで契約したSES系企業の開発案件の第2段。 第1段で信頼を得て、バックエンドだけでなくフロントエンドも合わせて実装を進め、なぜかメンバーのマネジメントもやるようになり、最終的に要件定義にまで口を出していた案件。 メンバーは世界中に住んでいる日本人で、カナダ・ドイツ・フィンランド・フィリピンにいる開発メンバーたちに開発指示を送るも、時差による返信のタイムラグに難しさを覚える。 技術的にはモダン中のモダンでその後の案件受注にかなり貢献した。
使用した技術
担当フェーズ
チームメンバー数
6人
契約形態
フリーランス(業務委託)
17: ビルの空きスペースレンタル業者向けアプリ開発
参画期間
2021年07月 ~ 2021年09月
案件の説明
Go言語の実務経験を活かして受注した最初の案件。 よし!ここでさらに腕を磨こう!と息巻いていたが、3ヶ月限定のスポット案件だったことを参画してから知る。 Go言語でMicrosoftのAzure APIを使って、Outlookのカレンダーやメールに連携するという結構マイナーな実装を任される。 ここでわかったのは、Go言語でよくありがちな「クリーンアーキテクチャ」という思想は、サービスの規模によっては生産性を損なうということ。 Go言語自体に疑問を持ち始める。
使用した技術
担当フェーズ
チームメンバー数
3人
契約形態
フリーランス(業務委託)
18: 治験向け質問・回答管理システム
参画期間
2021年10月 ~ 2022年01月
案件の説明
前回はバックエンドだけのスキルしか求められなかったので、フロントエンドも合わせてフルスタックに開発できることを期待して参画した案件。 自社サービスということもあり、当初1年くらい参画する想定だったが、リーダーのマネジメント経験が浅く、結局社員だけでリソース足りるのでは・・・?という結論に至り3ヶ月でおさらばした。 ここはとにかくマネジメントがずさんで、1週間かけて開発したものが仕様整理した結果突然不要になったりすることが多発し、合計で約1ヶ月半の仕事が無駄になった。 マネジメントの大切さを学ぶとともに、やはりGo言語でのクリーンアーキテクチャを採用しており、生産性の低さを実感する。 「Goは書いてて楽しくない」 その思いから、TypeScriptによるバックエンド領域に興味を持ち始め、業務外でNode.jsのフレームワークであるNestJSの勉強を始める。 フロントではすでにTypeScriptを使ってReactを実装していることもあり、TypeScriptだけでフルスタック開発している案件を探すことになる。
使用した技術
担当フェーズ
チームメンバー数
3人
契約形態
フリーランス(業務委託)
19: 仕事マッチングサイト保守開発
参画期間
2022年02月 ~ 現在参画中
案件の説明
クラウドワークスのような個人・法人問わず、業務委託の仕事をインターネット上で発注・受注することができる仕事マッチングサイトの保守開発案件。 自社サービスで資金も潤沢であるという背景もあり、優秀なエンジニアをたくさん抱えている企業。 フロントエンドもバックエンドもTypeScriptで実装しており、開発チームも「フロントチーム」「バックエンドチーム」という分け方をしていない。 すべてのエンジニアがフロントもバックエンドも実装するフルスタック標準。 現在この案件でフルスタックでTypeScriptのスキルを磨きながら、業務外ではデータ分析や機械学習などの学習を始める。 今後はそちらの方面でも活躍していく予定。
使用した技術
担当フェーズ
チームメンバー数
3人
契約形態
フリーランス(業務委託)