[開発]入社3ヶ月で体験し、感じてきたこと
はじめまして。michitekuエンジニアの野村(@hokahokabob)です。
昨年の12月からmichitekuで働いています。
この記事では、私が感じてきた開発チームの雰囲気や、michitekuでエンジニアとして働くイメージをお伝えしてみたいと思います。
入社した理由
かつて医療の心強さに惹かれ生物系の学科を専攻していたものの、色々あってITエンジニアになることにしました。
力をつけていつかは、ヘルスケア領域に貢献することに繋げたいと思っていました。
そのため、がんを罹患された方々の心に寄り添えるプロダクトを作るというmichitekuのビジョンを知って、熱い気持ちになりました。
思っていたより早く決断することになりましたが、少し珍しい生き方もありかなと思ってmichitekuの門を叩きました。
メンバーとのコミュニケーション
思いやりがあって柔和な感じの人が多いです。一方でそれぞれが熱い想いを持ち、自身の役割を考えて向き合っています。
メンバーと話す機会としては、開発チームの定例会議・社内の会議や1 on 1などがあります。
そのほか、Slack上で気軽に声をかけ合ってカジュアルに話すことも多いです。
また、ギャップを感じたのはオンライン会議におけるチャット欄(Zoom、Slack huddle)の賑やかさです。
議論に対する真面目な意見はもちろん、ちょっとした雑談のような温度感のコメントも気軽に交わされます。
会議のファシリテーションをしているとコメントを見落としがちでしたが、慣れるとこれは効率的なコミュニケーションだなあと感じます。
なお、メンバーと実際に会えるタイミングとしては、全社でのイベント・新しいメンバーがジョインされたタイミングなどがあります。
フルリモートゆえに、顔を合わせてのコミュニケーションについては少し不安視していました。そのため、入社してすぐに多くのメンバーと顔を合わせることができたことも含めて、私としては安心できました。
オンボーディング
さて、昨年12月にジョインした私は、技術面でビハインドを抱えた状態で開発に加わりました。
サーバー・フロント両方の技術スタックについて、これまでの経験に親和性が少なかったためです。
このことを先輩エンジニアがケアしてくれ、最初の1ヶ月ほどはOJTで簡単な修正に取り組みつつ、手元の不明点・疑問点を一緒に潰す時間を毎日のように取ってもらっていました。
また、業務委託の先輩方も丁寧なコードレビューや対面での会話を通じて濃密なご指導をくださいました。
同時に、使用技術に関連するドキュメントやチュートリアルをこなしながら基礎固めをしました。
こうしてコーディングスキルを磨きつつ、チーム内の会話におけるわからない文脈や用語を徐々に減らしていきました。
要領の良い方であれば業務時間のみでキャッチアップできることもあるのかもしれませんが、私はそうではなかったため、休日に行っている個人開発に紐付けるなど工夫し自己研鑽の一環としてキャッチアップをしています。ここはある程度覚悟していました。
(ただ、根を詰めて休息の時間を無くしてはいけないです・・。また、この程度まで勉強してこいといった業務指示等はないのでご安心ください)
高難易度なタスクに取り組み、コケる
あるとき、開発効率をガクンと下げるような、自動テストに関係する問題が生じました。
認証に関連する処理がうまくいかず、詰まってしまうケースが出てきたのです。
これに対処するには、自動テストの全体に関わる部分をモック化するために、仕組みを大きく変更する必要がありました。
戦力として早期に自立するにはこのような難しい仕事に挑戦したいと考え、担当させてもらいました。
michitekuではスクラムをベースとした開発を進めており、問題へのアプローチ方法を考える時もチーム全員で行います。
目的を達成するために、例えば次のような問題に対処する必要がありました。
関連している認証認可ライブラリを自動テストの時だけモックにするにはどうすればいいか
フロントエンド・バックエンドそれぞれどのようにモックを実装すればいいか
認証認可ライブラリ内で本来保持している状態やその移り変わりをどのようにテスト内で再現すべきか
このような抽象度の高い問題を細分化して取り組む必要があるのに加え、時には発想を転換しながらうまくいく方法を模索する必要がありました。
そのため、プロダクトコードの現状への理解やコーディング技術も十分にあるとは言えない自身の状況からは一層難易度の高いものに感じられました。
しかしながら、チームの皆さんがたびたび力を貸してくれ、AIの活用も交えたりすることで解決まで導くことができ、最終的にはデリバリーの効率を上げるような成果物が完成しました。
この仕事を通じて、技術的な理解や応用力が身につき、同時にチームとの関係性向上に繋がったと感じます。
メンバーから貰ったものが多かったので、今後の開発をはじめアウトプットを出す事で組織へ還元していきたいなと思っています。
気づいたこと
我々のプロダクトで使用している技術についてはすでに精通しているエンジニアがほとんどなので、相談事項を持っていくことに気後れしていた時がありました。
本来の生産性を発揮すべき時間を割いて議論したけれどもうまく収束しない、という状態を警戒して準備に念を入れていたのです。
ところが、実際に何度かチームとの壁打ちを経ることで次のような気づきを得ました。
チームの一人一人が一緒に真剣になって考えてくれる
そうした相乗効果も相まって、事前に推測できる以上の発想が生まれることも多い(スクラムの強み)
そのため、ある程度の帰結を予想しておくことはあまり重要ではない
自分なりの仮説を持とうとすることはもちろん大事である一方、自分のリソース以外も含めたチームの力に気軽に頼ってしまって良いのだなと思いました。
おわりに
この記事では、技術的にマッチしない領域からmichitekuに入社した私がどのようにチームに加わり、開発に携わってきたのかを簡単にご紹介しました。
michitekuの開発チームには、起こった問題をみんなの力で解決しようという風土があります。
同時に、挑戦が後押しされる心強い環境になっていると思います。
ご興味をお持ちいただけましたら、ぜひカジュアル面談にお越しくださいませ。