フルスタックに活躍してたくさんの方から頼られる存在になりたい。
私はWEBシステムを通して何かの課題を解決することが大好きで、
ITを通して世の中を便利にしていきたいと心から願っています。
お客様から”ありがとう”の言葉を聞くために日々ヒアリングをしたり、関わる人みんなが幸せになれるような動きを積極的にしていきたいと考えていますしこの信念を持ち続けたいと思っています。
手作業でやっていた補助金申請絡みの社内業務をWEB化するプロジェクトを受注
主な機能はPDF生成、メール送付、TODO管理など
プロジェクトマネージャー、およびバックエンド、フロントエンジニアの1メンバーとしてプロジェクトに入り、以下を担当してきた。
バックエンドはログイン認証、2FA、ユーザー作成のAPI実装
フロントエンドは一般ユーザー権限の画面(10画面)を実装
その他turborepo(モノレポ構成)でとディレクトリ構成、DB設計、基本設計
バックエンドNest.js(TypeScript)REST API
フロントエンドNextjs(React)S3に設置
その他 Docker ECS AWS Fargate RDS
スプレッドシートをから見積書や請求書を出力して
手動業務を自動化するシステムを受注
実装担当としてバックエンドを担当(私のみ)。
TypeScriptをコンパイルしたものをGoogle製CLIツールclaspでGoogle Apps Script(GAS)にデプロイ。
Gmailを使ってのメール送信、PDF生成、スプレッドシートのセル参照など
TypeScript、Gmail、GAS、Clasp
やってみてわかったがGoogle Apps Script(GAS)とTypescriptの相性が悪く
ビルドするたびに型エラーになってしまった。
Google Apps Script(GAS)のイベントトリガーの種類には限りがあり、例えばボタンを押したらパラメータを渡して◯◯の処理を実行のような複雑な処理をすることが難しいことがわかった。
エラーはts-ignoreで回避して一部のファイルはTypeScriptの良さを活かせない状態になったが、
コメントでうまくいかない理由を残すようにし、他の人が見ても理解できるように努めた。
実装コストを大きくかけることが難しいクライアントだったため状況を説明し予算内で出来ることと
できないことを明確に伝えて理解していただいた。
当然のことながらクライアントからは要件整理の段階で言って欲しかったと言われたが実装前から全てを把握することは難しい旨を丁寧に説明した。
マンション入居者向けのインターネット接続サービスを行っているクライアントから
Salesforceのデータを使ってBtoC向けの請求書を発行するシステムを受注
Nestjsを使ったバックエンド開発
SalesforceAPIで契約情報を抽出し、消費税の計算、基本料金とオプションの合算、従量制料金の計算を行い請求代行会社にcsv連携までを行った。
Nestjs(TypeScript)、Heroku
コロナ禍でリアルなイベントが開催できなくなったため、オンライン上で展示会を開催するためシステムを受注
・three.js3Dオブジェクト生成 1名
・Nuxt 私 1名
・Firebase関連 1名
Nuxtを使ったフロントエンド開発
ログインの実装(Firebase Authentication)
LP作成(Nuxtjs)
3D空間上にメニューやモーダル表示を実装(Nuxtjs)
GoogleAnalytics設定
人のマネージメントを5年程度していました。
人のマネージメントは数人規模(2人〜5人程度)の工数管理をしていました。
全体から月、週でやるべきことを明確にしてバックログなどで作業の割り振り、作業が終わるまでが責務でした。
ウォーターフォール開発においては要件定義や設計の時に実装まで考えられていることが重要だと考えています。
使用する技術や実装コストがわかっていれば、タスクを細分化することができ実装期間も明確に見えるからです。
トラブルは数え切れないほど経験したことがありますが、ウォーターフォール開発では①思ったことと出来上がったものが違う、②開発期間を大幅に超過しリリースが遅れた、③実装者のスキル不足で開発が止まってしまうなどのトラブルを経験しております。
当然上記記載のようにならないように調整しますがトラブルが起きた時は素直な気持ちで相手に接し
人として間違った対応をしないように心がけています。
トラブルに対して次から同じようなことが起きないように下記のように対応しました。
①仕様書の段階でドキュメントはロックしお互いの認識がずれないようにする。
②スケジュール作成や人のアサインが間違っているため、実装者が作業取り掛かり前に各機能でどのくらい日数がかかりそうか事前にヒアリングしておく。
③1週間単位または日単位での進捗管理をすることで実装遅れを迅速に把握し場合によっては別の実装者を割り当てる。
社員同士が気軽に相談できる環境が一番パフォーマンスを出せると考えています。