バイネームで仕事を取れるフリーランスのソフトウェアエンジニアがチームを組むメリット
はじめに
UZUMAKI CTOのコンです。
現在フリーランスのソフトウェア開発を生業に4年ほど生活して、2年弱ほど株式会社UZUMAKIというほぼフリーランスだけの会社で業務委託CTOをしている。
この業務委託CTOという変な契約体型は何かというと、会社の利益のX%を報酬とした利益連動型報酬を受け取る仕事をしている。(案件ごとに開発する際は別途請はしているし、UZUMAKIとは別に個人で受けている仕事もしている)
そんな中でバイネームで仕事が取ってこれるソフトウェアエンジニアでもチームを組むメリットをご紹介したい。
バイネームで仕事が取れるソフトウェアエンジニアとはどういう人か?
フリーランスのソフトウェアを開発を請け負う仕事をするのに、企業の仕事を受注して仕事では直接依頼されるパターンと、仕事を出したい企業と案件の欲しい人を結びつける紹介サービスを利用するパターンがある。この前者のパターンで仕事を受ける場合、バイネームで仕事を受けると言われる。業界が違ったりするとニュアンスが違うかもしれないが、いわゆるWeb系やスタートアップ、ベンチャー企業などの業界ではこのように表現する。
「バイネームで仕事が取れる」をより具体的にすると、直接Webサービスを運営している社長や担当者、またその知り合いの知り合いから仕事のオファーが定期的に来て自ら売り込みに行かなくても仕事がある状態。
営業的な用語だとアウトバウンドセールスではなくインバウンドセールスで仕事を獲得することを指すだろう。
大事なところは、以前仕事をした人の紹介で仕事が来ることだ。
なぜなら紹介する人にとっても、大雑把に言えばあまりよろしくない人を人に紹介すると自身の評判を下げてしまう。
自分でも人にソフトウェアエンジニアを紹介する事があるので、自信を持って紹介できる、つまり紹介したことで感謝されて自分の評判が上がるようなエンジニア像を紹介したい。そんなソフトウェアエンジニアのイメージすると以下の能力がある。
● 人当たりがよく、伝わり安さを意識したコミュニケーションが取れる
● 技術力が一定以上あり、知らないこともキャッチアップする能力がある
● 技術的負債など制約条件から現実的な解決方法を提案できる
● 自らチームの一員となり提案を実行できる
● ナレッジの記録・周知できる
こういう人と仕事をすると仕事がたいへんしやすい。
この様にバイネームで仕事が来るフリーランスのソフトウェアエンジニアは一人で十全に仕事ができる。
けれどもエンジニアがチームを組んで仕事をするメリットもあるのだ。
そのいくつかをUZUMAKI社でフリーランスのチームを組んで働くメリットを例に上げて紹介したい。
顧客先の技術的課題を質問・相談できる
昨今では仲の良いエンジニアコミュニティのSlackチャネルなどを使って質問や相談をする場合があるが、どうしても顧客情報を含まない様にする必要があり、回答する方も自分の所属や仕事先のソースコードを顧客情報を取り除いた形で渡すことができない。(この様な契約的に反する行動を雑にやってる人もいそうだけどやってはいけない)
またはteratailやStackOverflowで質問する場合もあるだろう。
顧客との契約をUZUMAKI社として契約しているので、問題のコードをそのまま相談相手に見せることができるし、似た事をした他の案件のコードを見せることもできる。プロジェクトのコードを丸ごと参照できるので対象の解決策がたくさんのファイルに散らかっている場合にも参照しやすい。
つまりは質問・相談をする・される際の余分な手間を取り除いて生産性を上げることができる。
これは顧客にも時間単価あたりの生産性が高いので顧客にもメリットがあるのだ。
第一悩みを相談、共感してもらい、短時間で解決できるので単純に気持ちがいい。
いくつかの現場で得た知見を共有して、現在時点での最強の構成でプロジェクトを進めることができる
UZUMAKIでは新規事業の案件やリニューアルする案件が多く、プロジェクトの進め方からアーキテクチャの構成を求められる。そのため下記のようなことを考慮して構成を考える。
● 開発効率が良い
● スケーラブル
● 変更に強い
● 技術がある程度枯れているか
バイネームで仕事が取れるソフトウェアエンジニアたちは各現場でいい構成を学んだり、ネット上では凄いと書いてあったけど、設定が大変過ぎて工数がかかるなど各人が学んだ知識をぶつけて「オレたちの考える現実的な最強のアーキテクチャ構成」をつくることができる。
この現実的なというのがポイントで、2020年現在に小規模のサービスなのにRustでマイクロサービスを作ってFlutter for webでいきなり開発したりしない。ヤックシェービングになるような箇所は最小限にすることを意識している。新しい技術 x 新しい技術 x ... というような新しい技術の掛け合わせはヤクの毛皮が厚くなりすぎる。
一人のフリーランスとして顧客の開発チームに入った場合、良くない箇所の改善はできる。けれどもどうしても現場現場の進め方があり変えられないところもある。高い単価で現場で影響力を出せていても、所詮はフリーランスでは外様なのだ。
背中を預けられるエンジニアが揃っている
チームで開発していると、教育がまだまだ必要な若手もいれば技術力はすごいあるけど自分が作りたいを優先してオーバーエンジニアリングなことをする人もいたりする。「あーあこの5人が全員オレならなんとかなるのに」っていう状況は正直ある。
このような状況をなんとかより良いチームにしていくのが組織としての矜持ではあるけれども、「5人が全員オレならなんとかなるのに」をバイネームで仕事が取れるソフトウェアエンジニアとチームを組むと擬似的にこれを体現できる。
シニアエンジニア、テックリードクラスだけでチームを組めるので、下記のようなプロジェクトマネジメント的にも効率よく仕事ができる。
● 大きな単位で指示でタスクを渡すことができる
● 自らタスクを細かく細分化してくれる
● 大きすぎるタスクを指摘して分割したり、手をつけて見た段階で早めにアラートをあげてくれる
● 頼んだタスクに対する出来が想定を下回らない
● タスクを作成時には想定していなかった問題も解決する
UZUMAKIでは頼んだタスクに対する出来がいつも想定の150%で返ってくるでみんなすげーなーって思う。
その他 UZUMAKI社の良いところをいくつか
● お金に強い人が多いので税金や手続きの悩みを相談できる
● (結合度の弱いが)組織に所属している精神的安心感、仕事の悩みやもやもやを吐露できる場所
● 今期のアニメについていけなくてもいい(オレは銀英伝とバキしか見てない)
● 設立以来ずっとリモートワークなのでオフィス勤務 vs リモートワークではなく、リモートワークよりオフィス勤務のメリットと言われるところの本質は何で、どうやったらリモートワークで実現できるかを考えるマインドセットがある
フットワーク軽く一人でやるのもオレは好きだが、週2, 3日は仕事が仕事がしやすい奴らとスペシャルチームで仕事するのもいいんじゃないかなと思っている。
UZUMAKI代表の工藤さんがUZUMAKIメンバー募集のnoteを書いているのでそのリンクを張っておくので、興味がある人はご一読ください。
お知らせ
XではUZUMAKIの新しい働き方や日常の様子を紹介!ぜひフォローをお願いします!
https://twitter.com/uzumaki_inc
TechBlogではUZUMAKIの技術情報を紹介!
UZUMAKIではRailsエンジニアを絶賛募集中です。
ご興味を持っていただいた方は、ぜひ応募よろしくお願いします!