こんにちは、エムスリーエンジニアリングGの三角(みすみ)です。 今年の4月に新卒で入社し、コンシューマグループで主にAskDoctorsの開発をしています。
今回は、先日(10/12〜10/14)で開催した第二回開発合宿の様子を報告したいと思います。 開発合宿を行なった経緯や、前回の開発合宿の様子など気になる方は、エムスリーエンジニアリンググループ 第1回開発合宿を開催しました - エムスリーテックブログも是非見てみてください。
施設の紹介
今回も前回同様千葉県富津市金谷にあるvoidoさんにお邪魔しました。 今回が初参加の私は、どんな場所に行くのか内心ドキドキでしたが、 「テーブル、キッチン、ベッド、お風呂、洗面台など基本的な施設はもちろん、Wi-Fi、プロジェクタ、電源タップ、USB-C対応の各種アダプタなど」 設備が本当に充実していて開発合宿にうってつけの施設でした。 海が近いため少し都内よりも肌寒かったですがふかふかのお布団が用意してあって夜はよく眠れて頭スッキリの状態で開発に取り組めました。 都会の喧騒の中で開発することに疲れた皆さん、ぜひ一度訪れてみてはいかがでしょうか。
合宿で取り組んだこと
さてすっかり施設の紹介になってしまいましたが、本題の合宿の内容に入ろうと思います。 今回の合宿は以下の2チームに別れてそれぞれの課題に取り組みました。
- 電子カルテチーム主体の問診アプリ作成(今回私はこちらに参加)
- AI・機械学習チーム主体のArchimedesリファクタリング
エムスリーテックブログ内で再三紹介されていますが、AI・機械学習チームではプロジェクトの名前にアルファベット順でArchimedes, Bourbaki, Cantorなど数学者の名前を付けてます。 私は別チームの所属ですが、どちらのチームもRailsを使っているので、電子カルテチームに混じって開発に参加しました。それぞれのチームが何をやったかの説明は今回省き、別チームから参加した視点から取り組み方に付いて触れていこうと思います。
行くまでにやったこと
開発合宿でどれだけ開発に時間を費やせるかは事前準備に全てかかってます。
私たちのチームでは新規の機能開発を行ったため、事前に電子カルテチームのディレクター陣も交えて打ち合わせを行い、どういう機能を作成するか打ち合わせを行いました。
また、別チームから参加する場合に必須なことは環境構築です。合宿所に付いてから環境構築していては、1時間取られたりすることはザラでしょう。事前準備が当日にずれこむとチームの皆んなにも迷惑をかけることになるので「絶対に」環境構築は事前にしておきましょう。
1日目
10/12(金)の11時頃に会社を出て14時頃に到着しました。
当日は事前準備の甲斐あって、着いたらすぐに担当箇所を割り振って開発に取り組むことができました。
私の担当箇所はフォーム作成だったのですがここである問題に気づきました。
「Railsのマイグレーションどうやるんだっけ」
普段開発しているプロジェクトでは、JavaのAPIサーバーからDBへのアクセスを行っているため、Railsを使ったDBのマイグレーションを行なっていません。Railsのマイグレーションの経験はRails tutorialではるか昔にやったきりでした。。。初日は調べたり、教えてもらったりしながらコマンド打ったり、migrationファイルを書いてましたが、だんだん理解も進み、コマンドで色々生成できるしRailsって本当に便利だなあと改めて実感しました(当たり前)。
夜はお寿司を食べて、満腹幸せモードで深夜0時近くまで頑張りました。機能開発も概形ができて次の日にやることを話し合ってからぐっすり寝ました。
2日目
朝起きてチームでお散歩に行き、海を眺めた後はまた9時くらいから開発に取り組みました。
あいだあいだに頭の休憩がてら筋トレしたり、Railsの書き方についてわいわい議論したり、ピザを食べたりしていたら、いつの間にか目標の機能は完成していました。機能完成後は見た目を調整したり、細かいvalidationを追加する作り込みを行いました。
この日は19時からLT大会をしました。内容は「私の生い立ち」「今後会社でやっていきたいこと」「個人で開発してるアプリについて」「オススメのラーメン屋」などなど、それぞれ自分のテーマで5分ずつLTを行いました。私個人としては「個人で開発してるアプリについて」で他のメンバーが取り組んでいる内容がとても面白く、私も負けてられない!なんか作るぞ!!と大変刺激になる会になりました。
3日目
最終日は機能の最終確認をしてから進捗報告会を行いました。自分のチーム以外の進捗はあまり追えていなかったのですが、参加者それぞれ進捗と学びがあったようで大変有意義な合宿だったと思います。
私個人の三日間の感想としては普段の開発では一個の新規機能の開発を一人で担当するスタイルしか取ったことがなかったので、エンジニア内で分担して相談しながら実装を進めるスタイルはハッカソンに参加しているようでとても楽しい経験になりました。
進捗報告後は12時頃まで追加の実装をして、帰路につきました。約20時間に近い時間を会議などに気を取られない環境で開発に当てることができた結果、家に着いた後はとてもぐっすりねれました。(笑)
エンジニア募集
エムスリーでは一緒に働いてもらえるエンジニアを募集しています! 私自身インターン時代はエムスリーで「サーバサイドKotlin」を導入したチームに話を聞きました - エムスリーテックブログで紹介されているチームでサーバサイドKotlinに触れたり、 普段はコンシューマ事業でよりよいUI/UXを常に意識した開発をしたり、今回の合宿でも別チームに混じって参加したりとたくさんのことに取り組みつつ、楽しい日々を過ごしています。 この記事(or 他の記事も)を読んで興味を持った方はぜひ下記リンクよりご応募ください!