JMDC TECH BLOG

JMDCのエンジニアブログです

JMDCに入社して1年経ったので振り返ってみた

みなさん、こんにちは!プロダクト開発部の西原です。

現在、JMDCが保有している医療ビッグデータを活用して生活者や医療に新しい価値を提供する新規プロダクト開発チームのバックエンドを担当しております。

私ごとですが、未経験からエンジニア業界に転職して約3年になります。そして、先日JMDCに入社してちょうど1年経ちました。まだまだエンジニアとしての経験は浅いですが、私なりにJMDCでの1年間を振り返りたいと思います。

 

入社当初

新規プロダクト開発のバックエンドではGo言語を採用しています。私はGo言語は未経験だったため、プロダクトチームへアサインされる前に、Goのオンボーディングからスタートしました。オンボーディングでは、まず「A Tour of Go」というツールを用いてGo言語の基礎を身につけました。

A Tour of Go はGo言語の公式サイトに存在し、ブラウザ上でコードを実行しながら学ぶことができるツールです。またA Tour of Go は、大きく分けて「基礎構文、データ構造」「インターフェース」「並列処理」の3つのセクションに分かれています。

一通り A Tour of Go で学んだあとは、部内で用意されている課題に着手しました。この課題は 上記に記載したA Tour of Go の各セクションに紐づいています。そのため課題を解く中でつまづいた場合は、 A Tour of Go に戻って復習するなど効率よく学べました。

オンボーディングは約2週間ほどで完了しました。

 

プロダクトチームアサイン後

オンボーディングが終わった後は、プロダクトチームにアサインされてバックエンド開発に着手しました。オンボーディングでGo言語を学んだとはいえ、プロダクトコードの実装ができるようになるには時間がかかりました。特にサーバーサイドで採用しているGoのライブラリを柔軟に活用していくことが個人的には難しかったです。例えば、バックエンドではDBとのやり取りにsqlcを採用しています。私はこれまでORMしか使用した経験がなかったため、使い方に慣れるまで時間を要しました。

その中で、使い方に慣れるためには手を動かすことが何より重要だということも学びました。リファレンスを読むと理解した気になりがちですが、実際に使ってみて自分の意図した挙動になっているかを随時確認しながら試行錯誤することでライブラリにも徐々に慣れていった感覚があります。

 

クリーンアーキテクチャの習得

アーキテクチャの理解にも苦戦しました。サーバーサイドのアーキテクチャは、クリーンアーキテクチャを採用しています。私はこれまでMVCアーキテクチャの経験しかなかったため、クリーンアーキテクチャを理解し、プロダクトコードに落とし込むことは難しかったです。クリーンアーキテクチャを理解するためにいきなり本を読んだりしても理解が追いつかないと考え、前段階としてソフトウェア設計の仕組みを理解することから始めました。具体的には「現場で役立つシステム設計の原則」や「良いコード/悪いコードで学ぶ設計入門」という本を読み、各章毎に発表する勉強会を主催しました。発表後にフィードバックをもらい、プロダクト開発で活かせる部分やコードの書き方の見直しなどを行いました。これによってコーディングの品質をブラッシュアップしていきました。

その後、部内では「ドメイン駆動設計 モデリング/実装ガイド」という本でDDDの輪読会が実施されており、私も参加して少しずつ知識を身に付けていきました。実際にクリーンアーキテクチャに則ってコーディングしていくと、仕様の変更が入った際の修正範囲が狭く抑えられることも実感しました。

まだまだ未熟ではありますが、勉強会や輪読会を通して、開発当初と比較すると実装に落とし込んでいくことはできるようになってきました。



スキルアップできる環境

前述で勉強会や輪読会について記述しましたが、JMDCのプロダクト開発部では様々な勉強会などが開催されています。私もこの1年間で、以下の社内勉強会に参加させていただきました。下記はその一例になります。こういったスキルアップできる環境がたくさんあることもJMDCの魅力の一つと感じています。

Book Club

輪読会形式ではなく、誰かが読んだ本を紹介する読書会

スクラム勉強会

部のメンバー全員がスクラムの基本を理解していることを目的とした勉強会

社内エンジニア勉強会

グループ会社のエンジニアも含めた勉強会。代表者がスライドで発表

 

その他経験したこと

スクラム

プロダクト開発部では、スクラムを使った開発をおこなっています。私にとっては初めての経験でした。短い期間で開発を行い、頻繁にフィードバックを行うことで柔軟な仕様変更が可能にできる点は魅力的でした。

OKR

目標の設定・管理方法のひとつで、Objectives and Key Results(目標と主要な結果)の略称になります。OKRのゴールはすべての従業員が同じ方向を向き、明確な優先順位を持ち、一定のペースで計画を進行することとされています。OKRによって定期的な進捗確認が可能になるため、どのくらい目標に近づいているかや、作業に遅れが出ていないかといった内容の把握が行いやすいと感じました。

Win Session

Win Sessionとは部内間のプロダクトの進捗共有会です。各チームがOKRに沿った進捗を発表し、報告に対してメンバーみんなで拍手をし、進捗を称え合う会です。チーム間や部でのプロダクト共有会はこれまでの経験でもありましたが、こういった手法はなかったですし、チーム意識が高まる良い機会になっています。

 

まとめ

JMDCに入社してからの1年間はあっという間でしたが、ブログを書いてみると数多くの経験をさせていただいたことに改めて気がつきました。また、私のような経験が浅いエンジニアでもスムーズにプロダクト開発に入っていけるような環境を整えていただいていることに感謝しかありません。今後もより業務に励み、経験を重ねていきたいと思います。

そして、私のようなエンジニア歴でこれから新しいプロジェクトへアサインされる方がいらっしゃれば、微力ではございますが少しでも本ブログが参考になると嬉しいです。

 

終わりに

JMDCでは新規プロダクト開発のバックエンドエンジニアを募集しております! ヘルスケア領域の課題解決に一緒に取り組んでいただける方、ぜひこちらをご覧ください。
加えて、私の所属している新規プロダクト開発チームのバックエンド以外にも、フロントエンド /バックエンド/ データベースエンジニア等、様々なポジションで募集をしています。詳細は下記の募集一覧からご確認ください。
hrmos.co

 

まずはカジュアルにJMDCメンバーと話してみたい/経験が活かせそうなポジションの話を聞いてみたい等ございましたら、下記よりエントリーいただけますと幸いです。
hrmos.co

 

★最新記事のお知らせはぜひ X(Twitter)をご覧ください!
twitter.com