在籍期間:2023/11 〜 現在も在籍中
---今後更新予定---
在籍期間:2021/4 〜 2023/10
設備の「保全」と「 IoT による稼働監視」のための Web アプリケーション の開発に携わっていました。
バックエンド | Java / Spring Boot |
フロントエンド | TypeScript / Angular, ESLint |
データベース | MySQL |
開発時の PC の OS | Windows |
プロジェクト管理 | Jira |
ドキュメント管理 | Confluence , Asciidoc |
コミュニケーション | Slack |
主な役割 | 人数 |
---|---|
プロダクト開発マネージャ | 1 |
設計者 | 1 |
設計・開発者 | 3* |
開発者 | 3 |
*私のチーム内での役割
計:8 名
期間:約 3 ヶ月間
【概要】
アプリケーション内のファイルの一覧・詳細表示機能の、画面と API の設計・開発・単体テストを実施しました。
【特に難しかったこと】
カラム数や検索条件が多く、複雑なテーブル結合が必要でした。 参考となる実装が少なく、Spring Boot による実装経験がほぼない私には困難でした。 しかしながら、自分で調べたりチームメンバーに相談したりして、最終的には適切にデータを抽出できるように実装できました。 この実践経験から、要件に基づいてデータを取得する方法を考える力が身につきました。
一覧表示で表示するファイルのデータを一度に取得すると、バックエンドのメモリ負荷が高まる問題がありました。 理論上は問題なくても実際に本番環境で動作させると問題が発生するため、実装中に気付きづらい点が難しかったです。 Google の画像検索画面を参考にして、ファイルデータを個別に取得し、追加画像はスクロールでデータを読み込む実装に変更することで対応しました。 この時学んだパフォーマンス問題についての知識から、実装段階からパフォーマンスを意識した実装方法が少しずつ考えられるようになりました。
お客様の要件から、業務で必要な機能であると判断して実装した機能です。 複数ファイルのデータ圧縮や、メモリ溢れ防止のためのダウンロード容量制限など新しい実装に挑戦しました。 特にダウンロード容量制限の実装においては、容量計算のためにファイルサイズを加算して必要に応じてエラーにする必要があり難しかったです。 この経験から、新しい課題に対して自分で調べて実装する力が身につきました。
期間:2023/1 〜 現在まで継続中
【概要】
私の提案した「もやもやボード」という仕組みの運用を担当しています。 もやもやボードとは、チームの「もやもや」を集める仕組みです(細かい運用方法は書ききれないので省略します)。
【もやもやボードを運用し始めた背景】
業務を遂行する中で、製品の仕様やコードの実装方法・開発フローなどについて「もやもや」することがいくつかありました。 そこで、立候補した人が社内の DX 活動を発表・提案できる会 (Lightning Talks) で「もやもやボード」を提案しました。 結果としてその発表を本部内で表彰していただき、実際に運用を開始しました。
【具体的に私が行なっていること】
【もやもやボードで改善・アイデア発展したこと】
もやもやボードを導入したことで、2023/1 〜 2021/3 の期間だけでも、40 以上のもやもやが解消しました。 いくつかのもやもやの実例をご紹介します。
もやもや | 解消法 |
---|---|
顧客の製品要望の優先度が管理できていない | 顧客ごとの要望一覧を作成して優先度管理できるようにした。 |
グリッド 機能の 操作ボタン UI が分かりづらい | その UI になった経緯などを共有した上で、分かりづらさの本質を会議で議論し、改善をタスク化した。 |
プルリクエストでのコメントに気づかない | プルリクへのコメント時に自動でメンション通知する Slack チャンネルを作った。 |
RFID を研究開発用に購入したい | 製品連携の開発のために RFID を購入することが決定した。 |
Confluence がうまく活用しきれていない | 不要なデータを削除したりデータの構成を見直したりして整理した。また、随時更新が必要な資料を洗い出した。 |
ノウハウの蓄積がうまくできていない | ドキュメントを整理して、ドキュメント化のやり方を明確にした。 |
新メンバー参加時にローカルの開発環境がすぐに構築できない | 開発環境整備を進める計画を立ててタスク化した。環境設定ファイルをすぐにローカル開発環境が構築できるように修正した。 |
特殊な運用の Git リポジトリで操作ミスが多発する | アイデアを募った結果、 Git Hooks を活用して、プッシュ時にミスを検知できるようにした。 |
コロナでできていなかった打ち上げ?交流会?をやりたい | 希望者で開催する予定になった。 |
【もやもやボード運用を通して】
もともと、チームに自分のもやもやを共有したいという思いから始めたもやもやボードですが、実際に運用してみると、チームメンバーからさまざまな悩みが寄せられました。 チームの問題が一つずつ解決されていく過程を実感でき、この取り組みを提案して実践してみて本当に良かったと思います。 チームメンバーからも、非常に良い取り組みだと好評をいただいています。
今後は、もやもやボードの運用方法を分析し、一般化することを目指しています。 将来的には、このノウハウを含めたアプリケーション開発ができればと目論んでいます。
期間:約 2 週間
【概要】
2022/12 の初旬にアメリカのシカゴに出張しました。 この出張では、現地の社員と協力してユーザーからのフィードバックを収集し、製品の改善や利用状況の調査、新たな課題の発見に取り組みました。 また、現地の新入社員に製品の導入方法や他のサービスとの連携方法を教示しました。
【難しかったこと】
英語で現地社員に指導しながら、英語のマニュアルを作成することが難しかったです。 日本語のマニュアルも整備されていない状態で、自分の知識を英語で伝えながらマニュアルを作成することは特に困難でした。 しかし、出張前に毎日英会話のトレーニングを受けたり、英語のスピーキングテストを受けたりしていたおかげで、何とか対応することができました。 この出張で、英語での業務の難しさと楽しさを実感しました。
期間:約 3 ヶ月間
【概要】
元々のインストール手順書は技術者向けでしたが、上述のアメリカ/シカゴでの出張を経て、非技術者でもインストールできる内容にする必要性が明らかになりました。 そこで、インストール手順や方法を含めて、再検討・再構築しました。
【特に難しかったこと】
MySQL やバッチについての知識が少なかったため、難しい作業でした。 しかしながら、参考になりそうな記事を探したり詳しいメンバーに疑問点を質問したりしていくことで、少しずつ作業を進めることができました。 そして最終的には、ワンクリックで必要な DB サーバーやユーザーをインストール・設定できるバッチファイルを実装することができました。 この経験を通じて、知識が少ない技術分野でも学びながら情報を集めて目標達成に向けて進める力が身につきました。
元のインストール手順では、選択肢や専門用語が多く、非技術者にとって理解が難しい点が多かったです。 それらの選択肢を削減し、専門用語をわかりやすく書き換えながら手順を再検討する作業は大変でした。 さらに、文章をわかりやすくするための文章構成の工夫も必要で、その検討には苦労しました。 ですが、アウトプットを早くすることを意識し、周囲の意見を取り入れながら進め、最終的には新しいインストール手順を完成させました。 この業務を通じて、ユーザーの利用シーンを想像しながら製品を作る大切さや、読みやすい文章の書き方を実践で学ぶことができました。