半年経ったので入社時の反省と良かったことを振り返る
はじめに
2024年1月に株式会社ビットキーにソフトウェアエンジニアとして入社しました。ビットキーはいわゆるIoTベンチャーで、スマートロックソリューションのソフトウェア・ファームウェア・ハードウェアすべて自社で開発を行っています。
その中で私はHome事業領域のweb開発チームメンバーとして、主に賃貸管理会社様やスマートロック利用者様向けのwebアプリケーションを開発しています。フロントエンド・バックエンド両方の開発をしており、どちらにもTypeScriptを用いています。フロントのフレームワークにはReactを用いています。DDDやTDD、モブプロなどを取り入れて日々楽しく開発を行っています!
入社して半年経ったということで、入社したてのエンジニアとして反省すべき点、良かった点などを振り返りたいと思います。
やる気に溢れるのは素晴らしい、でも一旦落ち着こう!
自分はビットキー入社時すごくやる気に満ちた状態でした。モチベーション高く仕事を頑張った結果、一定の成果を出すことができました。しかし一方で、「1日でも早く戦力になりたい!」「チームに貢献したい!」「能力を認められたい!」と思って業務に取り組んだ結果、実装に執着し製品理解を疎かにしてしまっていた、と反省しています。エンジニアとして価値のあるものを作るためには実装だけでなく、まずはドメインやプロダクトを知ることが非常に重要です。
実装よりもまずはドメイン/プロダクトの理解を深めることが大事
当たり前ですが、入社時はそもそも自分が開発するものがどんなプロダクトなのかについて解像度は低く、ドメイン知識もほとんどありません。このような状態で「とにかく早く!」と実装をしても、正しい方向に開発を進めることは難しいです。プロダクトがそもそもどのような課題を解決するのか、どのようなユーザーに使われるのか、が分からなければ、そもそも適切な修正方針はわかりません。ビットキーが取り扱うドメインはかなり複雑です(そこが楽しいところでもあります)。実際にドメインやプロダクトの理解が浅いまま実装をした結果、デバッグに手間取って逆に実装スピードが落ちてしまったり、手戻りを増やしてしまったりしてしまいました。また、入社したては自分のスキルをアピールしたいものです。自分は良かれと思っていろんな箇所の修正を行ったりしていたのですが、プロダクトの仕様を理解していない状況で実装した結果、影響範囲が自分の思った以上に大きく、デグレを引き起こしてしまいました。
「早く仕事をしてできる人間だと思われたい」という気持ちがコードという具体に執着させ視野を狭くしてしまいがちです。「開発を行う前にプロダクトを理解しろ!」なんて当たり前のことですが、入社時のやる気が空回りしてそのような当たり前のことができていませんでした。「遠回りこそが俺の最短の道だった」ということで、入社時こそ視野を広く、実装だけでなくビジネス・プロダクトへの理解を深めることが大事です。例えば「ユーザー」としてプロダクトを触ってみたり、PdMやビジネスサイドなどエンジニア以外のメンバーとももっとコミュニケーションを取ってみたりすることが大事だと思います。私の場合、ドメイン理解が足りていないことをマネージャーとの1on1で相談し、プロダクト理解が深まるようなタスクを振ってもらったり、エンジニア以外が使っているドキュメントを読んだりしたことで、着実にドメインに対する知識が身についてきたと感じています。
やっぱりコミュニケーションは大事よね
一般的に、入社直後は「知り合いがいない」「分からないことが多くチームへの貢献を感じられない」「新しい環境に慣れない」という三重苦によりつらい時期でもあります。仕事を楽しくするためにも、仕事の理解を深めるためにも、やはりコミュニケーションが大事です。自分は入社時に積極的に質問をするように心掛けたり、業務外のことも話して人となりを知ったことで、結果的にスムーズにチームに馴染むことできました。チームにコミュニケーションを促す文化/仕組みがあったことも大きかったです。
コミュニケーションの取りやすい関係を築く
チームメンバーと積極的にコミュニケーションを取り仲良くことでシンプルに仕事が楽しくなりますし、わからないことを色々と質問しやすくなります。一石二鳥です。ビットキーは出社が多めの会社であること、チームが僕の入社以前からモブプログラミングなどの取り組みを積極的に行っていたこともあり、自然とコミュニケーションが多く、チームメンバーとの仲が深めやすかったです。
一方でコミュニケーションは自分ひとりで行うものではありません。相手もコミュニケーションを取ろうとしてくれることで初めて関係が築かれます。そのため、まずは 自分がどんな人間なのかをわかってもらい、相手にとってコミュニケーション取りやすくあることが大事 です。自分のチームには「Good&New」という日々の発見や面白いと思ったことを共有する時間が毎朝あるのですが、そこで趣味の話など業務外の話題も話しています。仕事以外のことを話すことで互いの人となりを知ることができ、自然とチームに溶け込むことができました。
積極的に発言・質問しよう
入社時は業務のことを知らないのが当たり前です。逆に言えば何も知らないことが許される状況なので、私はこれを利用すべく意識してバンバン質問発言していました。
入社したての時期は「質問すると自分のスキルが低いと思われていまう」「的を射た発言じゃないとだめだ...」と思ってしまいがちです。しかしそれで 「沈黙!!それが正しい答えなんだ」となってしまうのは非常にもったいない です。中途半端な理解で仕事をしても結局雑な仕事になってしまうだけですので気にせず発言しまくるのが吉だと思います。自分はチームメンバーに質問しまくりましたし、メンバーも快く教えてくれました。そのおかげでスムーズに自分が価値発揮しやすい環境を整えることができました(チームのみんなに大感謝)。
おわりに
入社して半年が経ったということでこれからは入社する人を受け入れる立場となりました。これから新しいメンバーが入ってきたら積極的にサポートしていきたいですし、仕事がやりやすくなるようコミュニケーションも取って行きたいなぁ。
(入社時の気持ちとか体験はいつの間にか忘れてしまうものだと思うので記事にして残せて良かった)
Discussion