Swiftで副業を始めるまで
副業のモチベーションは収入と成長機会を得ること
副業を始めた理由はいくつかあります。
1つは、ライフステージの変化でまとまったお金が必要になったこと。本業の収入だけで節約して貯金するより、副業の収入を上乗せする方がより多く、より短期間で貯金できると考えたからです。
もう1つは、自分のスキルを活かしつつ、本業とは違う開発をしてみたいと思ったからです。普段とは異なる方向性のサービス関わるのは新鮮ですし、新規の場合、試したい設計やフレームワークに挑戦できるので良い成長機会だと考えています。
また、私が副業を始めた2018年10月頃に、周囲で副業を始めたエンジニアが増えていたという後押しの背景もあります。
初めての副業案件は友人経由
案件は、基本的に友人から声をかけてもらうことがほとんどです。最初の案件も友人が勤めている会社のお手伝いでした。
副業を始めたばかりの頃は、自分が全く面識のない人や会社と契約を交わすのが怖かったのもあり、友人からの紹介や依頼はとても心強かったです。
最近では、自分で仕事募集の内容を書いた記事やGitHub Gistを公開してSNS経由で案件を獲得したり、SNS上で募集されている会社にコンタクトを取り、案件を獲得することもあります。
iOS(Swift)・Firebaseでの案件内容は?
今までにiOS(Swift)やFirebaseで受けてきた案件をいくつか紹介します。
新規アプリの開発
すでに企画が固まっていたり、ある程度デザインが決まっていたりする状態でご相談をいただくことが多いです。
ただ、過去に「iPhoneアプリでこれは実現できるのか?」といった相談から引き受け、細かい仕様や開発時間の見積もりを一緒に決めてから開発を始めたこともあります。
iOS側の実装は規模によりますが、基本的には1人か、自分含めて2,3人で行うことがほとんどでした。また、Firebaseと組み合わせた新規アプリの開発案件もあります。
既存アプリの改修
既存コードのリファクタリングやUIの改善をメインに引き受けることが多いです。
また、少し特殊ですが、アプリケーションに組み込むためのSDKを改修したこともありました。Objective-Cで書かれたコードをSwiftで書き直したり、Swiftのバージョンアップ、新しいiOSへの対応、不具合の調査などを主に担当しました。
技術アドバイザー
自分の得意とする専門領域のスキルを活かし、技術アドバイザーをすることもあります。
ちなみに、現在もFirebaseを使ってサービスを提供している企業で技術アドバイザーをしています。Firebase全般の相談、Cloud Firestoreを使ったDB設計の相談やレビュー、Cloud Functionsを利用したバックエンド側の実装のコードレビューなどを担当しています。
最近は1ヶ月のうち副業に充てられる時間が限られてきたのもあり、短い時間で自分の技術を活かせる技術顧問という副業は、今の自分に合っていると感じます。
Swiftでの副業のお金事情
目標金額・単価の設定
副業を始める時に、どのくらい稼ぎたいかしっかり目標を立て、それを達成するためにはどれくらいの単価で、どれくらいの時間働けばいいのかを計画しました。
記事の冒頭で書いた通り、短期的にまとまったお金が必要だったため、1年で300万円以上の売り上げになるように目標を立てました。
時給単価が5000円だったとしたら単純計算で600時間、月平均50時間ほど。決して楽な目標ではなかったですが、案件や条件にも恵まれ、1年間で達成することができました。
これは失敗談ですが、一時期副業を3つ掛け持ちしていた時期がありました。忙しさのピークが重なると稼働時間の累計が月間で90時間ほどになってしまい、自分の限界を痛感。
それ以降はうまく稼働時間の調整を行い、多忙になりすぎないようにしています。
iOSエンジニアは副業で稼げるのか
FlutterやReactNativeなどを用いて開発する事例が増えてきたものの、国内ではAppStoreでiPhoneアプリをリリースしてからAndroidを開発するケースが多いため、需要はまだまだあると思います。
相場の単価も決して低いわけではないので、交渉次第では高単価で案件を受けることできるでしょう。
ただ最近は、Swiftが書けてUIが構築できるだけでなく、CI/CD環境の整備や申請作業まで依頼されることもあります。そうした周辺知識や経験があると、より高単価で仕事を請け負うことができると思います。
契約を結ぶ際に気をつけている点
開発期間や稼働時間、契約内容を隅々まで確認
契約して開発を行う場合に、どれだけの期間携わることになるのか、月にどれだけの稼働をする必要があるのか。これを必ず確認する必要があります。
また本業が忙しくなってしまった場合、稼働時間の調整が効くかなども確認しています。
そして実際に契約書を交わす時は、隅々までチェックし、契約までに話した内容に相違がないかをしっかり確認。契約形態(準委任契約かどうか)、瑕疵担保の有無、報酬額(単価)、契約期間、契約更新・終了のタイミングなどは確実にチェックしています。
この作業を抜かりなく行うことで、契約後にトラブルになりうる事を事前に回避できます。自分の身は自分で守る。取引先と契約するという意識を強く持って、最後を交わすまで気を抜かないようにしています。
報酬は友人価格で受けない
友人からの紹介や依頼であるかどうかに関わらず、請け負う金額は変えません。
基本的には単価のすり合わせは下記の流れです。
- 1.本業の年収からある程度妥当な時給単価を決める
- 2.請け負う仕事の内容や使う技術、期間などを加味して単価を調整
- 3.クライアントと調整して合意
とは言っても、副業を始めた頃はどのように単価を決めて契約すれば良いかわからなかったので、最初は友人に相談し、4,000円/時の設定で契約を交わしていました。
単価の調整の場面では、次のような場合、高めの単価で提案することが多いです。
- iOSだけでなくバックエンド側も合わせて担当する場合
- 開発だけでなく技術調査や技術相談等も含まれる場合
- 契約期間が長めや月当たりの労働時間が多い場合
また、始めの契約期間ではやや低めに単価を提案し、その契約期間の成果で単価を上げる交渉をすることもあります。
副業に挑戦するチャンスはたくさんある
副業をする事で収入を増やせるだけでなく、普段の業務とは違ったサービスや開発に挑戦する機会を得られるので、ぜひ挑戦してみてください。
エンジニアを目指す方が増えた一方で、ある程度の技術力を持ったエンジニアを探している企業は少なくないため、副業に挑戦するチャンスはまだまだあると思います。