🏢

1人エンジニアとして会社でやっていくということについて

2021/01/22に公開2

はじめに

現在自分はDANCE WITHというダンスのオンラインレッスンアプリをメイン事業としているg&hという会社にて、CTOとは名ばかりなエンジニアというざっくりとした職業をやっている。
たった1人のエンジニアとしてやっており、さらに業務委託や副業のメンバーも一切いない、完全にエンジニア1人の会社でiOS・Android・Web・管理画面用アプリなど色んなものを完全に1人で作っている。
もちろん過去に作ったけど消えていったサービスも多々あり、それももちろん全て自分1人で作っていた。

という話を知り合った人なりに話すとやばいねと言われるので、意外とエンジニア1人でも会社は成り立つものではあるよということについて書いていきたいと思うし、1人でどうしてもやっていかないといけないという人に向けてメモを残せればなと。

そこで今回は1人エンジニアとして会社で働いていくということについてを書いていこうかなと。

※なお1人のエンジニアで成り立つからといってエンジニアは1人だけがいいよとか勧めている記事では全くございません。
※結論があるとかそういったオチがあるような記事でもありません。

1人エンジニアで働くことについて

メリット

まずは1人エンジニアでのメリットについて。
これは正直なところとしては自分の自由に出来るということがある。
もちろん会社のメンバーとのパワーバランスなりが関係するけども、自分しかいないわけだから自分のペースでやることができる。

あと今まで1人で作っているわけだから、昨今の事情としてのリモートワークについても成り立ちやすいと思う。
変な話プロダクトさえ作れればという強い言い方にはなってしまうけども。

また自分でどの技術を選択してプロダクトを作るということを決定できるので、自分が学びたい言語なり何なりで作り始めても何も問題ない。

デメリット

ただ逆な話としてデメリットは割と多いのではないかなと思う。
パワーバランス的な話でいうと、自分が圧倒的若めであり社長絶対主義な会社であると作れないものでも作れと言われることもあるだろうし、納期に関しての理解を得られない可能性もある。

さらに言うなれば自分しかいないわけだから予想外の出来事が起こった際にお尻を拭いてくれる存在がいない。
また技術的な相談なりこういった技術いいよねとかそういった相談を出来る相手がいないので、いかに自分の頭で考え技術をキャッチアップして色々と試していくという地道な努力が必要だったりする。

正直なところメリットの裏返しの代償が強すぎるのでなるべくおすすめはしたくない。

1人で働くに当たって自分が心がけていること

コミュニケーションを綿密に取る

これが特に大事。
1人だからこそ自分が辛いとかそういった状況を話したりだとか、自分がプロダクトの方向性を決めることが出来るようにコミュニケーションを取るべきだなと思う。
初回リリースでフル機能を作る必要はなく、なるべく少ない機能でリリースして反応を見てから作り込んでいくということをするには、自分なりの考えをしっかりと理由付けて伝えることで大抵はなんとかなるんじゃないかなと。
よっぽどじゃなければ。

巻き込む

上記のコミュニケーションを取るとも似ているが、自分が今どこでどう詰まっているかということを伝えて巻き込む必要がある。
エンジニアでない人に技術的なことを話しても理解されないのでは…と思うけども話してる間に自分の中で考えがまとまることもあるし、言われた方は言われた方でメンバーが困っているし自分も少しは知識を付けないとなとなるわけで。
逆の話でいうとマーケティング的なこととかも少人数の会社だと巻き込まれるし話をするわけだから、こっちから巻き込んでも問題ないよねとは思う。

見積もりを正確にやる

見積もりを正確に行わないとそもそもプロダクトのリリースが出来ないということになるし、会社メンバーから責められるんじゃないかと不安にもなったりもする。
誰かがお尻を拭いてくれるわけではないしやるのは全て自分。
むしろ時間に余裕を持った見積もりを出しても問題ない。
そうしないと徹夜しまくってメンタルが破壊されるという負のスパイラルが待っているので。

技術をどう追っていくか?

これはよく聞かれることでもあるけども、自分なりの回答が一つある。
新しいプロダクトを作るなり、個人で何かを作る際に1つや2つ新しい技術を取り入れることによって技術を追うことができるなぁと。
ちなみにTwitterで最新技術をツイートする人は割といるのでそういう人を抑えておけば問題はないと思う。

他には勉強会に顔を出すなりとかっていうのもあるんだろうけど、実際のところは個人の資質次第なのではないかなと。
新しいプロダクトを作る機会が多ければその分このやり方でやっていけば自然と技術は追うことが出来ると思う。

自動化をしまくる

CircleCI・GitHub Actions・Bitrise・Dockerなどなど。
これらでビルドからデプロイまでを自動化するなどしないと到底1人では回らない。
こういった環境整備に関しては特にエンジニアとしてコストをかけることによって後々かなり楽になるのでおすすめしたい。

まとめ

つらつらと書いたが、とりあえず何を言いたいかというとエンジニア1人でも会社は成り立つけどもそれなりの努力が必要になるなぁと。
コミュニケーションなり技術力や諸々など。
なのでもし1人エンジニアという状況に置かれているならばまずはここら辺を注意しつつ、会社に対して一刻でも早く採用しろと伝え続けるしかないと思う。

またこの状況をずっと続けているのは楽でもあるし苦しいものでもあるし、この状況が成り立つのはかなりのレアケースなんじゃないかなと思う。
属人化しすぎているし会社としてはその人が消えてしまったら一切資産が残らなかったりもする。

当たり前ではあるけど人がたくさんいる環境っていうのはとても重要であり、簡単に成長することが出来るのでなるべくそういった環境に入れるように、なるように努力するべきではあるなぁと。
修羅の道を歩みたい人にとってはある意味1人エンジニアの会社はいいとは思うけども。

Discussion

catnosecatnose

(今のところ)Zennをほぼ一人で開発してる身としては同意しかないですw

予想外の出来事が起こった際にお尻を拭いてくれる存在がいない

これとても分かりますね。常にうっすら不安がある状態…