ID:65611さん

3年後の目標や野望


フロントエンド・バックエンドにおいて、テックリードを担えるような知識と技術を身に着けたい

他者をけん引できるほどの技術力は、かなり自在にソフトウェア開発を行える技術力だと考えられる。 その技術力を生かし、世の中の不便さを少しでも解消できるものを出来るだけ多く作っていきたい。

年収評価シート

2020年/2年以上

統合診療支援システムパッケージの機能開発・機能追加

# プロジェクト概要 統合診療支援システムパッケージに対する機能開発及び機能追加 # プロジェクト体制 - プロパー:7名(内リーダー1名) - 協力会社:6名 # 担当フェーズ - 外部設計 - 内部設計 - 実装 - テスト # 担当業務 - 要件定義に対する機能設計 - DB設計 - Web API(RESTful API)の設計・実装 - ユーザインターフェース設計 - コード設計 - Windowsアプリケーションの実装 - 単体テスト - 結合テスト - 社内導入運用SEからの問い合わせ対応 # 業務実績・取り組み ### 1. 3年弱で3つの機能追加、5つの機能拡張を行った。 ### DB設計 - PlantUMLを使用しER図を作成 - マスタテーブルに対し、変更履歴テーブルを定義することで、今まで弊社システムで困難であった設定変更による不具合の原因調査を簡易化 ### Web API(RESTful API)の設計・実装 ### ユーザインターフェース設計 - 主にメンテナンス機能(マスタメンテ、設定ファイル操作等)のUI設計を担当 - ユーザーがスムーズに設定できるように、「迷わない・間違わない・驚かない」を軸にUIを設計 ### 2. 簡易システム設定ツールの開発 #### 2.1. 概要 ウィザード形式で最低限システムを動作させるための設定を実施するツールを開発 #### 2.2. 開発背景 施設への統合診療支援システムパッケージの販売拡大に伴い、導入・セットアップ作業のコストを削減するメンテナンスツールの整備が必要となった。 これまで導入・セットアップ作業は、テキストファイルの編集、SQLの作成・実行、DB操作、bat処理の作成・実行など、必要であった。 そのため、システム導入は専門のシステム導入エンジニアチームが行っていた。 しかし、ハードウェア設置を行うサービスエンジニアチームがシステム導入作業を行うことになり、簡易システム設定ツールを開発する運びとなった。 #### 2.3. 工夫点 当システムは頻繁に機能や付随する設定項目が追加されるため、簡易設定システム設定ツールで設定できる項目も増えることが予想される。 そこで、設定項目オブジェクトのフレームワークを定義し、このフレームワークを実装したオブジェクトを注入することで容易に設定項目の追加ができる仕組みを実装した。 #### 2.4. 成果 導入・セットアップ作業者が、DB操作やテキスト編集などを意識せずともシステムの構築を完了できる簡易システム設定ツールを作成することができた。機能制限は発生するが、元々の作業コストを1/6程度に抑えることができ、全国で約60施設に導入されている。 ### 3. 画面上の検査情報レイアウト(ページ)のコピー機能の追加 #### 3.1. 開発背景 統合診療支援システムは、病院内に煩雑に散らばる診療情報を一元管理し、一画面で多数の情報を整理し、表示することで医療従事者の診療行為を補助する役割を担う。 画面のレイアウトを保存し、院内全体や診療科、医療従事者単位などで保持することができる。 しかし、院内全体で共有しているレイアウトを各個人がコピーし、独自に変更・修正などをすることができなかった。 よりレイアウト機能を汎用的に利用できるように、レイアウトのコピー機能を実装した。 #### 3.2. 工夫点 既存機能の改修であり、さらに当パッケージのコア部分の修正であるため、影響範囲を入念に調査しデグレが発生しないように努めた。 また、様々な医療情報を様々な表示形式で多態的に取り扱う部分であるため、改修・拡張を行うことでポリモーフィズムの考え方を深めることにつながった。 #### 3.3. 成果 検査情報のレイアウト保存機能は本製品のコア機能であるため、より使いやすい機能に発展させることができた。 ## 4. 条件付き診療オーダー発生通知機能の開発 ### 4.1. 開発背景 医療従事者は多くの患者の診察、検査、治療を行っていく中で、どうしても漏れや見逃しが発生してしまうことがある。その結果、患者に対し重大な結果を齎してしまうこともある。 そこで、その漏れや見逃しを補うために、診療オーダーや検査結果をトリガーに、患者に対するアクションを提示する通知機能を追加することになった。 例えば、検査値が閾値以上の場合に、医師に対し再検査や処置を通知および催促することで、漏れや見逃しを未然に防ぐことができる。 ### 4.2. 工夫点 ドメインに合わせたオブジェクトを定義していくことで、1クラスあたり200行程度の規模に収めることができた。 3週間という期間での開発であったが、積極的にモデリングを活用していくことで30クラス以上の実装をスムーズに終えることができた。 現状、3種類の通知パターンが存在し、それぞれメッセージフォーマットと埋め込む値の種類が異なる。また、今後も通知パターンが増えていくことが予想されるが、JSONの解釈とメッセージの生成を動的に行うことにより、コード上の修正を必要とせずに対応することができるようになった。 ### 4.3. 成果 ドメインに合わせたオブジェクトを定義していくことで、1クラスあたり200行程度の規模に収めることができた。 3週間という期間での開発であったが、積極的にモデリングを活用していくことで30クラス以上の実装をスムーズに終えることができた。 現状、3種類の通知パターンが存在し、それぞれメッセージフォーマットと埋め込む値の種類が異なる。また、今後も通知パターンが増えていくことが予想されるが、JSONの解釈とメッセージの生成を動的に行うことにより、コード上の修正を必要とせずに対応することができるようになった。 ### 5. 技術的負債の改善 #### 5.1. 背景 全国の病院に対し単一のパッケージとして展開しており、なおかつ10年ほどの歴史を持つシステムであるため、かなり技術的負債が蓄積している。 具体的には、 - Nullを許容するDBテーブル設計 - 適切な正規化がなされておらず、インデックスも有効活用されていないためパフォーマンスの低下が顕著なDB設計 - ミュータブルで、かつバリデーションブロックがないプロパティ - データクラスとメソッドクラスの分離によるオブジェクト間の依存性の増加とロジックの重複 - 使用しているフレームワークのサポート切れ - 設計・仕様を完全にドキュメント管理に依存しているため、実際の仕様とドキュメント間の乖離が発生 技術的負債由来の開発工程の遅延やバグもかなり散見されている。 これら技術的負債の原因として、下記が考えられる。 - 度重なる改修による設計のもつれやオブジェクトの肥大化 - 開発技術の継承・教育不全 #### 5.2. 現状の取り組み 技術的負債を改善するため、下記の取り組みを提案し実施している。 - コードレビューのプロセス化 - テストコードによるユニットテストの自動化と実施 コードレビューは直接的にコード設計の改善を見込める他、コード設計思想の説明(アウトプット)及び指摘による考え方の継承・共有も行える。 テストコードはコード品質の向上にも繋がるが、テストコード自体が一つの仕様書になるため、チーム内での設計・仕様の共有を補助する。 まずは、改善実績を作るために少人数のグループを作成し、そのグループ内で施策を実施している。 具体的には、3人のチームを結成し週一回のコードレビューと知識共有及び勉強会のためのミーティングを実施。また、この3人のチームで一つの機能を担当しているため、その機能に対するユニットテストの作成も実施

2021年/1年以内

MinecraftのMOD自主開発

# 概要 ゲーム「Minecraft」に対するMODの自主開発 # 背景 - Java言語の習得のため - 自身の創作物で遊びたい、誰かに楽しんでもらいたい # 開発内容 Java言語及びIntelliJIDEを用い、下記の要素の実装を行った。 - ゲーム内の論理回路要素の拡張 - 味方キャラの追加 - 樹木の追加 # 現状の成果 - Java言語の基本的な実装知識を得られた。 - Minecraft及びForgeMDKの実装は、かなり高度にオブジェクト化されているため、自身のクラス設計技術が大きく向上したと感じる。 # 苦労した点 ForgeMDKと呼ばれるMOD開発キットを利用し、既存のゲームシステムの変更や独自のアイテムやキャラクターの追加等を行う必要がある。実装方法やライブラリの解説が記述されているForgeMDKの開発者ドキュメント(英文)が存在するが、かなり簡素な内容なため、基本的にはデコンパイルされたMinecraftのソースコード、およびForgeMDKのソースコード自体も参照し、それらを参考に実装を行っていく。Javaをほぼ未経験の状態で、コメントもないソースコードを読み上げ理解していくのは非常に困難だった。 # 今後の展望 - 独自のキャラクターを3種類ほど追加したMODをリリース 一旦とりあえず動く程度のものを作り上げる予定 その後、独自の追加要素を試案・試作していく # 課題 - 応用的なJava言語実装技術の習得 - テクスチャに用いるドット絵の作成 - ForgeMDKへの理解

2022年/3ヶ月以内

Webアプリケーション開発を通してのRust+Reactの学習

# 概要 Webアプリケーション開発を通してのRust+Reactの学習 # 背景 自身の開発スキル向上及び、Webアプリケーションへの知見を深めるためにこの取り組みを実施した。 フロントエンド言語として人気の高いReactと、高速かつメモリ安全性の高さで評価が上昇しているRust言語をバックエンドに採用することで、両言語の学習を行うこととした。 # 開発内容 Todoアプリケーションを下記の構成で開発した。 - バックエンド(Web API)はRustで実装 - フロントエンドはReactを用いてマテリアルデザインを採用したユーザーインターフェースを実装 - Docker上にPostgreSQLのコンテナを生成し、Todo情報を格納 # 成果 Todoを作成、表示、管理する機能及び、Todoに対しラベルを貼付する機能を実装した。 Rustの基本的な考え方を知ることができた。 Reactの基本的なUI作成方法を知ることができた。 # 苦労した点 今までC#やJavaなどのオブジェクト指向言語に触れてきたため、関数型言語の趣向が強いRustの記述方法になれることに時間がかかった。 また、Rustの中心的な考え方である、オブジェクトの所有権及びその参照と借用も独特なものであり、理解に戸惑ってしまった。 # 今後の展望 作成したTodoアプリケーションを基に、機能拡張を行っていく。 現在検討している機能としては下記のとおりである。 - ユーザー毎にTodoを管理する機能 - Todoをフォルダ分けして管理できる機能 - 期間を設定し、指定した日付になった場合に通知する機能 - Todoの優先度を設定する機能 また、Rust言語の知見を深めるために、下記のライブラリ開発を検討している。 - 行列計算ライブラリ - SQLクエリビルダーライブラリ

マネージメント能力

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
未入力です
Zenn アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
未入力です
特にアピールしたいアウトプット
未入力です

今後、身につけなければいけないと思っている技術は何ですか?

- ReactなどのJavaScriptフレームワーク - DB設計 - ネットワーク関連 - セキュリティ関連

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

未入力です

キャラクター

直近で一番やりたいこと
技術を極めたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
分析力 / 問題解決力 / 巻き込み力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
好きなプロダクトがある
やりたくない分野
SI / 医療・介護
その他の特徴
レガシーな環境を改善できる / 新しい技術はとりあえず試す
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で30代前半
好きな Text Editor
VSCode
希望勤務地
東京都
希望年収
550万円
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
SIGN UPSIGN IN


転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?