ほぼ1人目のエンジニアとして入社して3ヶ月経ったので感想を書く

Others

今の会社に入社して 3 ヶ月が経ちました。振り返りを込めて、やったことを書いておきます。

自分の状況

医療系のスタートアップで、アプリケーションを 3 年近く開発していました。
キャリアに限界が見えてきたので、転職活動して SaaS の会社に転職しました。
しかし、入社直前からミスマッチを感じ、急遽転職活動を再開。その中で副業でやっていたスタートアップからお誘いをいただき、色々と検討した上でジョインしました。

転職先の状況

入社時点での転職先の状況は、以下の通りです。

  • 15人以下の、一次産業を領域とするアーリーフェーズのスタートアップ
  • ビジネスの一つとしての Vertical SaaS の開発
  • 製品のプロトタイプはあるが、まだ PSF もしていない
  • 他業種の人が多数参加していて、IT ベンチャーのカルチャー的なのは薄め
  • 代表除いた 1 人目エンジニア(現在業務委託もいない)

アプリケーション事業としては、シードに近い状態です。
自分はリードエンジニアという肩書きですが、リードというよりフルサイクル、メタエンジニアリング的なことをやりました。
代表もエンジニアなので、正確には 2 人目のエンジニアではあります。ただ、代表から開発業務を下ろし、ハスラーに移していく段階でもあることを踏まえ、ほぼ 1 人目と表現しました(人数的にコードレビューは必須になるし、下ろしきれてないところもありますが)。

経営側がエンジニアリングやプロダクト開発のセオリーを持っていたり、同時期に入った人が優秀だったり、アーリーの状況としては恵まれている方だなとは思います。

ライフスタイルと情報収集の変化

入社月に結婚しました。
結婚したらキャッチアップの時間が減るんじゃないかと恐れていて、実際想像以上に減ったので、情報収集のやり方を変えました。と言っても、一次情報だったりフォーラムだったり Issues の RSS をリーダーに流すようにしただけです。
他に知りたい分野の知識は Spec から直接取り込み、本当にいい記事は各種 SNS から拾ってきて、ポエム系は遮断。
なんだかんだで、開発や組織デザインの本や WebRTC の Spec やドメインに関する本も読めて、副業もやってゼノブレイド3もクリアできているので、完全に時間が取れない感じではなかったです。
ただ情報の取捨選択は、これまで以上に意識するようになりました。

やったこと

入社して進めたことを振り返りました。

開発面

以下のことをやりました。

  • 機能開発、仕様作成
  • リファクタリング、リアーキテクティング(+ドメインモデリング)
  • CI/CD の整備(各種チェック、ステージング環境のデプロイ)
  • ユニット、結合テストの追加とカバレッジ出力
  • Sentry, Snyk とか欲しい SaaS を入れた
  • Web アプリの環境導入
  • 既存要件のリファインメント、優先度付け
  • ZenHub 剥がして GitHub Projects にした
  • 各種 Bump 作業

元々プロトタイプとして書かれた TypeScript + Expo のコードがあり、完全に 0 からではないです。
ただ、開発と並行して、コードベースの見直しも進めています。これ自体は副業の頃からちょくちょくやっていました。PMF 辺りのフェーズでやっても良さそうなものですが、負債がいわゆる "toward deeper insight" なものではないので、MVP 回す前にやっておきたいというのが今に繋がっています。
テストも全くない状態なので追加しました。複数の UI で使いまわされている処理からドメインロジックに移していくというお馴染みのやつをやりつつ、結合以上のテストも mockery にせず、その時点での環境を再現して回すようにしています。

その他環境整備もしましたが、非常に悩んだのが Storybook の導入でした。やりたいことに対してメンテナンスコストが見合ってないですし、このフェーズで、いやフェーズに関わらずこいつにだけはロックインされたくない。
デザイナーとのコミュニケーション手段として使えればそれでいいので、CSF と互換性のある Ladle を一旦採用してみることにしました。
この時のモヤモヤは Alternative to Storybook を探す旅 というテーマで LT しました。

色々やったはずなのですが、当初やりたかったことの半分もできず反省点も多いです。

チームビルディング面

今まで個人プレーだった組織が自分 + 同時期にジョインしたデザイナー + CxO の体制になったので、チームとしての活動を決めていくことになります。 自分が主導していったものは以下です。

  • ワーキングアグリーメントの策定
  • インセプションデッキの実施
  • KPT の策定
  • その他後押し(1onN とか CFR 定期的にやってこう、みたいな話を振る)

この段階でのワーキングアグリーメントはある意味自己開示でもあり、これから一緒に働く人に「このマインドでやっていいんだな」と思ってもらえたので、取っ掛かりとしてうまくワークしたかなと思います。
以下を決め、それからの活動の土台としました。

  • 活動の見える化
  • 困ったらすぐに相談
  • アラートはすぐに出す
  • 振り返る

インセプションデッキは、Lisa Technologies さんの Notion テンプレート をお借りして進めてみました。
入社時は NSM もなく「俺たちはなぜ作るのか」すらチームであやふやな状態だったので、ワークショップを通して指針を決定づけられたのは良かったです。
あと振り返りの機会を作る文化もなかったので、KPT なり CFR をやる点についても合意形成していけたのは良かったなと思いました。役員が上長になるので、人が増えた時のキャパシティが不安ですが…。
上記の活動はチームあってこそなので、自分というよりはチームの成果ではあります。

あとはデザイナーの方とリサーチに行ったり、マイルストーンだったりプロダクトバックログだったり会議体を決めたりして「何をどうやって作るのか」を固めてきました。
これに加え、全社を巻き込むカルチャー形成についても、デザイナーの方に推進力とモチベーションがあるので、そちらの活動を後方支援したり一緒にやっていく形で進めています。この辺の話を含めると書ききれないので省略します。
振り返ってみると、少しずつですが前へと進めている実感がわきました。

採用戦略

正社員エンジニアの採用活動もやっています。
以下のことを主導しました。

  • 開発組織におけるペインの特定、採用ペルソナの設計
  • 採用候補者向けハンドブック、ピッチ資料の作成
  • EVP(従業員にとっての価値) の設定

採用戦略でいう「興味」からのリーチを増やすためには、会社に入ることの価値が説明できないといけません。それがないと「興味のない会社から見せられるメンバー紹介ほど、気持ちの悪いものってないでしょう」論になります。
するとうちは何をやってる会社なのかもわからないし、人に勧めるにはアトラクトに乏しく、そもそもどんな人を雇えばいいのかわかりません。そこで採用ペルソナを決めたり、採用者向けハンドブックを書いたり、現状の魅力に関する社内アンケートを取って EVP を考えていくことにしました。

これらの活動は定量的に人を取るための戦略作りではなく、「いいな」と思う人がいたり、少しでも興味を持ってくれた人に対して魅力を提示するための土台作りです。
代表と採用したい人物像が固まってきたので、一旦は OK かなと思います。

採用者向けハンドブックは Notion で出力しています。しかし、Notion で作られたページはアクセシビリティを含めてあまりいい作りではなく、エンジニア向けの採用ページがこれでは恥ずかしい(言い過ぎ)ので、別途ホスティングするつもりです。

来年の目標

同期的な意思決定の場が増えていると感じているので、「アカウンタビリティの醸成」「非同期コミュニケーションの進め方」について考えていきたいなと思っています。
現状は自分たちのロールが何をやるべきかを説明しきれず、然るべきタスクの分解や権限の委譲ができていません。それが「とりあえず集まって決める」思想に繋がっているのかなと。会議が増えてリモートワークがとばっちりを食らうやつですし、スケールする際に、マネージャーからバタバタ倒れていきそうです。
その課題については年始にドラッカー風エクササイズをやって、それぞれのロールと期待する仕事をすり合わせてから改善を進めていこうかなと思っています。
カルチャーに触れる話なのでやりきれるかわかりませんが…それぞれの専門性に責任を持って動いている状態にはなりたいです。
フラット、心理的安全性、失敗に寛容といった企業文化に対しての誤解

また、エンジニアがここに入ってできることや、どんな組織が望ましいかを詰めたいです。
フェーズとして従業員にはミッションドリブンな一面が求められるも、中長期で見ればやりがい搾取になりそうだと思っています。それはエンジニアとしてのキャリアラダーを提示できず、職能としてキャリアの還元に繋げづらいという意味でです。
そこで評価制度だったり、開発環境だったりを見直さないといけない、という課題感を持っています。

開発面でも課題はありますが、OKR の話になるのでオフレコです。

感想

あっという間の 3 ヶ月でした。