#### 概要
介護事業所の作業予定管理、シフト管理、勤怠管理、サービス記録、請求計算、帳票出力など、バックオフィス業務全般を支援するWebシステムの設計・開発を担当。
#### プロジェクト規模
- **プロダクトマネージャー**:1名
- **プロジェクトマネージャー**:4名
- **機能設計**:11名
- **フロントエンド・バックエンド開発**:17名
- **テスト担当**:4名
#### 所属チーム構成
- **プロジェクトマネージャー**:1名
- **機能設計・開発(フロントエンド、バックエンド)**:4名
#### 自身の役割
- **要件定義・設計**、および**フロントエンド・バックエンドの実装**を担当
- **自社ライブラリ**の設計と実装
#### 使用技術
- **バックエンド** : Java,SpringBoot,Aspose, MyBatis
- **フロントエンド** : TypeScript, React,
- **DB** : PostgreSQL
- **管理** : Git, Subversion
- **その他** : PowerShell, Slack, Google Meet
#### 実務内容
SpringBoot の DI、AOP を活用し簡潔、迅速、クラスの責務の分割を意識したコードの実装
Aspose による Excel の生成
React を使い再利用できるコンポーネントを作成。表、グラフ、入力フォームを素早く表示できるように実装。
Redux で状態変数を管理し入力された内容によって表示するグラフやフォームの形式を変更できるように実装。
SQL はサブクエリを活用し処理時間が短くなるよう意識して実装。
Git でソースコード管理、Subversion で仕様書などの資料を管理。
コマンド入力の忘れ、実行順番のミスを防止するためにPowerShell のシェルスクリプトで自動化。
juni による単体テストの自動化。
#### 課題と対応
1. **自動テストの導入**
自社ライブラリに対して自動テストが無かったのでJunitでの自動テストの導入を提案。当初は却下されましたが、デグレードが増えたタイミングで再提案し、採用されました。その後、既存メンバーにJunitの使い方を指導しました。
2.フロントエンド、バックエンド開発
Typescript, react でフロントエンドの実装と java によるバックエンドの実装をしました。フロントエンドとバックエンドの両方を実装ができることでフレキシブルに開発を進めました。
3. **途中参加のため、同じプロジェクトの自チームと他チームのメンバーとの信頼関係を構築**
社内の他のメンバーは10歳以上年上のメンバーが多かったため、基本は教えてもらう姿勢で積極的なコミュニケーションを通じて信頼関係を築きました。現在では、プロダクトマネージャーとランチ仲間になるほど良好な関係を維持しています。
4. **未経験業界の業務知識習得**
先輩社員に質問したり、開発中のシステムの仕様書や動き見ること、行政資料を調べたりして介護業界の業務知識を早急にキャッチアップしました。
5. **新機能のライブラリ選定・実装**
線グラフや円グラフの描画要件に対応するため、Rechartsを選定。Node.jsやTypeScriptに適したライブラリを用いて新機能を実装し、開発者向けのサンプルコードと説明資料も作成しました。
6. **協力会社との連携**
協力会社に対し、要件定義を基に詳細設計・コーディング・テスト仕様書作成を依頼。成果物のレビューも担当しました。SlackやMeetでコミュニケーションをとり進捗管理を行いました。
7. **モニターテストサポート**
モニターテストのテストシナリオの作成、モニターユーザーへのテストの説明、案内連絡、問い合わせ対応、感想のヒアリングを担当しました。