見出し画像

副業エンジニアとして3年目に突入したのでコツをまとめる

どうやら開業から2年たち→3年目に突入した。アプリエンジニアとしてだけでなく、デザイナー・インフラ・企画・・・色んなものを作ってきました。そんな折、こんなイベントに出ます!!!

「誰でもかんたん!」とか「余暇時間を使って効率的に!」という話は一切出てきません。泥臭くいろんなことを好きだからやってきた感じです。やってきたからわかる勘所・コツとそもそもの副業への考察について整理していこうと思います。

今までに受けたお仕事・関わった技術

・【C向け】旅行AIアプリiOS開発・改善・グロース案件
iOS(MVC)/javascript/css/html

・【B向け】運送サービスiOS/Android開発・AR調査案件
iOS(MVC)/Android(MVP)

・【C/B向け】FintechサービスアプリのフルスクラッチでのiOS開発と技術支援
iOS(MVVM)/PHP(Laravel)

・【C向け】映像配信サービスのリニューアル、サイネージアプリの開発
PHP(Larvel + Nuxt)/Go(Revel)

・【C向け】映像配信サービスのAppleTV対応・課金対応
tvOS

・【B向け】映像配信サービスの運用改善(エンコードツール開発)
Electron/typescript/vue

・【C向け】エンタメ系アプリ開発
Flutter(Bloc)/Firebase

・【C向け】コミュニティ系アプリ開発
Flutter(Redux)/Firebase

細かい系・・・TimeTicketでチケット販売/学生向けにアプリ開発の塾を開催(生徒10名くらい)/ CM作成支援(よくわからない仕事だった)/ Androidのビルドができないので助けて案件 / エンジニアになりたいので色々教えて案件 / Flutter教えて案件/ etc...

細かいの含めて2年で10件以上お仕事してきました。

本業では今はマネジメント一本ですがもともとの自分はアプリ(iOS/Android)の開発とグロースを得意としてきたのでこれを活かすことからはじめました。本業で得たスキルを転職で活かす!みたいなスタンスではなく、ニーズがあればなんでも(開発以外含め)やります!でやってきたので、自分のスキルの幅もひろがり、いろんなスケールの組織を経験できました。

その中で悩んだ・考えた以下の項目について書いていこうと思います。

・背景
・単価と契約
・仕事のとり方
・稼働時間
・使っている機器とツール
・スタンスと向き合い方

背景

ここ数年で副業を支援するようなサービスがとても増えきました。知り合いでも副業をやっている・探している人が増えてきていて、その中で昨今の副業エンジニアの期待されている役割は3つあると考えるようになりました。

1. 高度専門性の補助者
マネジメントや組織運営だけでなく、技術観点ではWebRTCやセキュリティなど「分かる人・経験者にお願いする」という手法は昔から技術顧問や相談役のような形で採用されてきました。本業で依頼者よりひとつ上のスケールの組織やユーザー、または技術を使っている人に相談できるメリットはかなりあると思います。そのため多くは問題の解決法や大きな道筋を一緒に考える人、補助者のような役割を期待されます。

2. 市場にいない人材の穴を埋める作業者
アプリエンジニアなどを例取ると本当に市場に人材がいないので、経験のある人ならさほどスキルがなくても喉から手が出るほどほしい現場があります。またこれが絶対に社員でほしいかと言われるとそうでもないケース(ex: アプリ事業まだ立ち上げで、状況によっては潰すかもしれない)などは業務委託や副業エンジニアで十分であり、このギャップを埋める作業者としての役割が期待されます。

3. ジョーカー
これは特殊ケースで常に組織・案件の穴を埋めるなんでも屋が必要なシチュエーション(ex: 属人化・専門性が高いタスクが低頻度で出現する)があります。私だと1クライアントに対してサーバ保守から開発(web・アプリ・サイネージ)、運用改善まで何でもやるケースがあったりします。いつも仕事がありコストが発生するわけじゃないけど何かあった時にすぐ頼れるなんか技術詳しい人というジョーカーの役割が少なからず求められます。

この3つのパターンの役割を知った上で考えてほしいのが、副業エンジニアを扱うには雇用・被雇用側の理解が必要になるということです。

雇用・雇用側の理解
副業エンジニアは一般的なフルタイムの業務委託と比べて、その時間制約から雇用・被雇用側が圧倒的に扱いにくいことを理解してほしいです。例えば貴方がプロジェクトリーダーだとして、

"密なコミュニケーションが取れなくて週に10時間しか働いてくれない人" 

に何をお願いしますか。心理的に不安定な状況を埋めるような「居てほしい」ではなく、実務的なメリットを言語化するには期待する役割を明確にしておく必要があります。上記3パターンがまず最初の一助となるはずです。

また言語化されたメリットの一つには Fearless change でも言及されているような意思決定をするための「外部のお墨付き」があります。これはグダグダで信用度の低かった意思決定への懸念やリスクが軽減するだけでなく、心理的な安全性の向上やプロジェクトの走り出しの効率化を生みます。そのため「外部の人」というラベルの効果と意味をしっかり理解して双方が立ち回るのが効果的だと考えています。

信用や期待役割がない場合、フルタイムの業務委託だったりそもそも必要ないんだと思います。制約と役割を理解して雇用され/しましょう。

単価と契約

一番悩むところですよね・・・私の思う「現場に入って何も教えられることなくスムーズに開発ができていいなって思って貰える業務委託」の単価はアプリエンジニアだと5000円/時間(5000円 * 8時間 * 20営業日 = 80万/月)くらいから(ここの所感は諸説ある)なのであなたがそんな人なら5000円/時間を中央値としてまず考えましょう。加えて副業という時間が短い中でどんな価値をコミットできるか or できないかで考えると良いと思います。
私の場合ケースバイケースなんですが、実働で開発工数を請求するスタイルの場合は3000 ~ 7000円/時間で受けて、コミュニケーションが頻発するような場合は相談費用でいくらかのせることが多かったです。

コツ1. 単価幅は柔軟に
技術的に私があまり熟達していない or 経験がないものは安めに受けて後で上げる前提で入りました。スタートアップの立ち上げの案件やグロースが多かったので、最近だとFlutter + Firebaseのセットが良いと感じるシーンが多く、これを提案し、把握している限りのリスクはシェアしつつも、まだ価値コミットできてないなと自分で感じる最初のうちは単価を下げたりしていました。これは双方の利害関係を前提としつつも、ベストな技術選定を自分のスキルを理由に避けたくないというのが大きかったです。

また単価を上げることにも臆病にならないでください、自分を安く売りすぎることは市場にも迷惑をかけます。単価は自分とクライアントしか決めれないので適切な説明材料・双方へのリスペクトを持ってちゃんと交渉しましょう。

コツ2. 相談費用で丸める
副業エンジニアは採用する側からすると実働工数の割に工数管理が面倒なので、「ちょっと相談したいけどそのために工数取るのはな・・・」とか「MTGの稼働計算が・・・」とか双方の不利益をいくらでも生めてしまうので、全部まるっと「相談費用」みたいにしてあげてなんとなく現実的な感じで対応する。が多かったです。この辺は信用ベースですね。Slack等のチャットツールで繋がるし非同期なコミュニケーションになるので、これをゆるく埋める仕組みを入れておくとスムーズに廻るようになりました。「何営業日以内に返答する」とか契約に入れられなくないですけど、そもそもそんなのを明記しないといけないような状況は心理的にも辛いので、信頼関係が作れないならやらないが一番いいと思います。

コツ3. 契約
とりあえずこうしろみたいのはないんですが、雇用契約・業務委託契約・契約形態(請負・準委任)の違いくらいは把握しておきましょう。基本的には業務委託契約・準委任契約になっていることがほとんどだと思います。契約書は書面(電子問わず)でちゃんと交わしましょうね。

仕事のとり方

大きく知り合い経由とそれ以外に分けたとして 7:3くらい。知り合い経由の7だけでかなり手一杯だったんですが、面白そうな案件があるとホイホイ受けちゃうので割といつも140%くらい稼働していました。それでもまだ声かけてもらうことがあり、お断りすることもありました。ほんと最近は手が足りない・・・

コツ1. 知り合い経由での仕事を受ける
クライアントに依頼理由を聞くとだいたい「なんか何でもやってくれそうだったので・・・」と言われました。「再現性皆無じゃん!!」と思ったんですが、人見知りせずに技術とものづくりが好きなことをどんどんアピールしていたのが良かったんじゃないかなと思います。
理由はともあれ知り合いだろうと契約と単価の制約を緩める必要はなく、むしろきっちりやらないと大事な友人を失うことにもなりかねないので注意しましょう。

コツ2. それ以外から経由の仕事を受ける

1. yentaで会った人に営業かける
2. Timeticketでチケット買ってくれた人から依頼される
3. twitterで声をかけられる
4. 勉強会でお願いされる

がメインの流入ですね。どれもQiitaなどのアウトプットを見てくれている人が多く、逆にこれがないと案件発生しないのでは?と思っています。

Contribution自体はそこまで多いわけじゃないですが関心のある領域と私見のシェア方法としては良い手段だと感じています。また登壇からの流入も有り、このへんはたくさんの接点を作っておくに限るなと思います。

営業のかけ方に関しては自分のスキルや経歴をオープンにしておくと良いと思います。「書けることがないよ!」という人はそもそも売れるものがないのであまり向いてないかもしれません。

稼働時間

大体月に30 ~ 80時間くらいです。時期によるし、どうしても体調とかを理由にクライアントにゴメンナサイしてきたこともあるんですがそのへんはバランスを調整しつつ受けてるようにしています。

コツ1. バランスを調整する
一番大事です。副業は少なくとも2つの組織(案件)に所属することになるので、一方の状況によってはもう一方へのウェイトを下げる必要が絶対出てきます。また我々は人間なのでライフイベントが発生します。そんな時に稼働時間を下げてしまうことや、心理的余裕がなくなるのは絶対起きるのでそこをどうハンドリングするかをオープンにコミュニケーションを取っていく必要があります。

このバランスは取ろうと思って取れるもんじゃないのですが、バランスは取ろうと思わないと取れない人は一生取れないので、「あー来月忙しいな」とか思ったらそれを関係者や身内に伝えたりしておくだけで全然違います。まずは自己管理を徹底しましょう。

年を重ねてライフイベントが増えたり、夜までの稼働で無理できなくなるので若いうちはいいですが、再現性皆無な時間の切り売り作業になるのは本当に避けましょう。

使っている機器とツール

PCはMacBook Pro (Retina, 15-inch, Mid 2015)にメモリとSDD載せて使い続けてます。あんま困ってない・・・経費もあんまり使わないです。
あんまコレだ!というのはないんですが4つだけ紹介させてください。

【ツール】質問・課題管理票
非同期なコミュニケーションが多く発生するので質問や回答を管理しましょう。TrelloでもBacklogでもConfluenceでもスプレッドシートでも何でも良いんですが、タスクじゃなくて質問(内容・質問者・質問日時・回答・回答者)と課題(内容)をチャットルール上じゃなくて適切なツール上で証跡として残しましょう。

【ツール】freee

請求書発行送付から確定申告(電子)まですべて対応しており、最高。確定申告の手順や手間から脱出できます。また確定申告の時期には副業やっている人向けに動画やオンラインセッションで使い方を説明してくれたりするのでめちゃ助かる・・・もっと課金したい。

【機器】電動昇降式デスク

ほんとは楽天でもっと安いのが売ってたんですが、在庫がなかったので似たやつを紹介。手動もあるんですが電動がおすすめです。でかいデスクと立って作業する環境はホント最高。
朝とか夜とかめちゃ眠い時間でも立ってホットコーヒー飲みながら作業するとめちゃ捗ります。これは普通に勉強してても本読んでてもめちゃアリなのでQOL爆上がりしました。
人によっては腰を痛めることもあるので、もたれかかるアイテムが有ると良いと思います。

【その他】集中したい日のコワーキングスペース

場所は大事。課金しましょう。やっぱ場所を切り替えるのわかりやすく捗るし、捗った気になるのでおすすめです。

スタンスと向き合い方

さぁエモパートです。私がそもそも副業を始めた理由が「頼られたから」というほんとそれだけなんですが、続けている理由はやっていくうちに俗に言う「個の時代」というやつはもう来ていて、個で生きるための必要知識・経験を持っていないのは将来的に不利になる確率が高まっていくと感じたのが理由です。サラリーマンで居続けることに不安しかないので、いろんな稼ぐ手段を持っておきたいなと思うし、何よりたくさんの経験を積みたいのでやっています。

フリーランスという選択肢もあり考えたんですが、マネジメントをするチャンスをくれた今の本業であるところのレアジョブのサービスに愛着があります。また会社に所属しているからこそできる経験はたくさんあり、特にマネジメントに関しては組織の深いところまで考えることを責任を持ってできるなと考えています。

「なら副業なんてせずに一本で向き合えば?」というのはわからなくないですが、エンジニアとしてインプットやアウトプットをする機会の濃さが成長を繋がるとすると結局それって仕事でしか得難いし、視野を広げるにはいろいろな場所に行きいろいろなことを知るべきだ。という働き方を模索する時代であるのでここは「時代です。」という言葉で積極的に思考停止していこうと思います。

雇用の継続やクライアントへの満足に対しては以下のことを意識しています。

コツ1. 成果物を常に共有する
アプリであれば開発中のアプリを定期的に配信する、webであればリリースする、プロトタイプでもなんでも動くものを見せ続けるのは当たり前のように大事だと思います。成果物が誰でも見れる状況を作る仕組みを絶対最初にタスク化しましょう。結局やーやー言うても「何をしてくれた人なのか」がないと効果を実感してもらえません。
何のタスクが何時間動いて、結果そこから何の理由でどれだけズレていくらの請求になるかは自己管理しましょう。

コツ2. 仕事は一緒に考える
依頼されたことだけやるのは簡単ですが、時間の切り売りになってしまうので、これを避けるために、本当にやるべきことやプロダクトをすすめるために必要なことは一緒に考えましょう。本業で上司に提案するより上記「副業エンジニアの期待されている役割」に当てはまる限りは、よほどハードルが低いです。機会と共に成長しましょう。

コツ3. 契約はきっちり
基本的なことは本当に自分で理解する必要があります、仕事なので。請求書の発行や確定申告もろもろ。税理士さんに相談したりフリーランス向けの説明会など学ぶ機会も本もたくさんあるので学びましょう。

まとめ

基本的なことが多くあまりコツというほどではない事が多いですが、副業は技術や人との接点を増やしていろんな組織・プロダクトを作る経験から成長するための働き方の一つだと思います。

2023年よりインボイス制度が始まったり障壁はちょっと増える未来はありますが、みんなで良きやり方を一緒に考えつつエンジニアのワークスタイルを広げるような事例をたくさん作れると今後はもっと面白いと思います。

長くなりましたが本年度もよろしくお願いいたします。お仕事の相談はTwitterまで是非に(今は手一杯なので受けれないですが相談に乗って可能なら誰か紹介するやも)

それではイベントでお会いしましょう👏



この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
あなたに極大の感謝を!twitterもぜひ @jumboOrNot
281
やーやー言ってますけど元気にエンジニアリングマネージャーしています