フリーランスでITエンジニアをやっているKerubitoです。
フリーランスという働き方は以前に比べて注目度も上がってきているようですし、興味のある人も増えてきているんじゃないでしょうか。
「フリーランスになって収入が増えた」、「フリーランスで時間と場所にとらわれない生き方ができる」
みたいなキャッチフレーズも目にするようになりました。
確かにそういう側面もあります。
実際私もフリーランスになって、収入も上がったし、時間や場所についても自由がきくようになりました。
しかし、当然ですが良いことばかりではありません。
不安定であったり、営業も場合によっては自分でしなければいけませんし、実力勝負のシビアな世界です。
私はたまたまフリーランスに向いていたためか、 10年続けることができました。
それでも失敗することも多々あります。
それを糧にして、これまでなんとかフリーランスを続けてくることができています。
些細な失敗は日常ですが、最近数年に一度クラスの大きな失敗をしてしまいました。
よくある話ではあるのですが、せっかくなので共有してみようかと。
フリーランスの悪い面として、参考にしていただければと思います。
Wantedly(ウォンテッドリー)がきっかけ
ことのはじまりはWantedly(ウォンテッドリー)でした。
Wantedlyとはいわゆる求人サイトです。
Web業界の求人が中心なのですが、従来型の求人サービスとは違うユニークな作りになっています。
通常であれば
企業が求人→求職者が応募→選考(筆記試験・面接)→合否
のようなプロセスだと思います。
しかし、Wantedlyではあまりそういった明確なものはなく「うちの会社に遊びにこない?」、「ちょっとコーヒーでも飲みながら話でもしよう」といったゆるーい感じの企業の誘いがあり、それに興味を示したエンジニアが会社訪問をするというスタイルが特徴的です。
対象は正社員や契約社員などが多く、あまりフリーランスが関与できそうな分野でもないのですが、業界の動向を知るためにちょこちょこ覗いていました。
そんなとき、ある企業の「リモートワークでWebサービスを開発」という募集が目にとまりました。
採用形態もかなり自由度が高いようでしたので、早速連絡を取ってみることに。
未知の領域にチャレンジ
応募した企業は私の住む大阪にあったため、直接企業を訪問することに。
話を聞いて30分で仕事を受けることに(笑
依頼内容としては、開発中のWebサービスの機能追加で、使用しているプログラム言語は私がまったく触ったことのないものでした。
不安はありましたが、それほど大きな規模でもないのでなんとかなるだろうと。
フリーランスで仕事をしているとどうしても、「自分のできること」でしか仕事を受けなくなってしまいます。
それだと自分の引き出しを広げることができませんし、こういう案件は半分勉強だと思って私はやります。
契約形態は請負契約でした。
詳しくは省きますが、「こういう成果物を100万円で作って」という契約ですね。
100万というのはあくまで、例です。
1ヶ月で完成すれば単月で100万円の売上。
2ヶ月かかってしまうと、単月で50万円になってしまいます。
企業のスタンスを見誤った
この仕事、はじめは順調でした。
慣れないプログラム言語や環境構築に戸惑いながらも、それなりに作業を進めることができ、機能としてはほぼ完成。
しかし、それをGitHubにプッシュしてからが大変でした。
ユーザーの検証環境で受入検査をしてもらう必要があるのですが、終わる気配がない(笑
主な原因は3つ。
・受入担当者はIT知識がほぼ皆無
・そもそも仕様が固まっていなかった
・共同開発という罠
受入担当者はIT知識がほぼ皆無
今回新たに追加した機能で、サーバの設定値を参照する部分があったのですが、まずそこが原因でうまく動作しませんでした。
ですので、受入担当者にサーバの設定値の確認をお願いしました。
返ってきた回答は「よくわかりません」。
お、おう・・・。
サーバの設定値の確認なんて、サーバにログインしてちょっとコマンドを叩くだけです。
それを説明して、何度かやり取りをしても全然噛み合わない(笑
もちろんそこまでやる契約であれば別ですが、今回はGitHubにプッシュするまでが担当範囲でしたので。
ただ、埒があかないので自分で見るしかありません。
仕方ないので、サーバへの接続情報を聞きました。
すると意味不明な回答が・・・。
もうね、この時点で完全に失敗したなと思いました。
こういうパターンの中小企業はIT自体を軽視しているか、まったくわかっていないので。
この件はすでに参画している他の開発メンバーの方にフォローしてもらいました。
そもそも仕様が固まっていなかった
この案件を受ける際に仕様については、GitHubのissueでやりとりしました。
機能自体もシンプルで、口頭で補足説明を受ければ充分なレベルです。
・・・と安易に判断したのが誤りでした。
issueに記載された内容を一通り実装したはずなのに、追加や修正がいろいろ出てきます。
ちょっとした修正であれば全然問題ないのですが、影も形もない仕様をしれっと依頼してくるので、それは断ろうと。
でもね、通用しませんでした。
GitHub場でバトルしましたが、この時間がもったいなくなって受け入れましたね。
さらにシステム全体を考慮した設計(仕様)になっていなかったため、追加でいろいろと手直しが必要に。
この関してはのちほど。
共同開発という罠
この仕事をやっていた中で何度か出てきたキーワードがあります。
「一緒に新しいサービスを開発していきましょう!」
耳障りの良い言葉ですし、私も当初はそういう気持ちがありました。
ですが、こちらはプロ。
ボランティアでやっているのであれば全然オーケーだと思いますが、仕事としてやっているのであれば、線引きは欠かせません。
上であげた受入検査が終わらない二つの原因についても、発注者と受注者という立場が曖昧になっているのが根本原因です。
そのため、システムの環境周りは誰が見ているのか、仕様は誰が決定するのかといったIT業界では当たり前のことがすっぽり抜け落ちていました。
これが私が社員として参加するのであれば、丸投げされてもおかしくないのですが(笑
請負契約になってくると、まったく別の話です。
仕事が途中で破談となる
上で中途半端になっていた、追加で手直しが発生して云々の続きです。
結果からいうと、この案件は途中で破談となりました。
テストを進めていくと、ユーザーも予想していなかった要件や不整合が様々なところで発生し、収拾がつかなくなってきたのが主な理由です。
受入担当者自身もシステムの全容を充分に理解していないので、ゴールが見えないという最悪の状況・・・。
もはやお金の問題ではなく時間の問題です。
というのも当時、他の仕事も並行でやっていて、物理的に納期に間に合わせるのが難しくなってきたんです。
もちろん言い訳など通用しません。
プロとしてやる以上、どのような理由であれ一度受けた仕事は最後までやり通すのが筋。
ユーザーへの批判めいたことも書きましたが、それはそれ、これはこれです。
こんなことはフリーランスになってから10年以上経つのですが、はじめてのことでした。
今後に繋げる
やってしまったことは仕方がありません。
次へ繋げるしかありませんね。
良い勉強になったと、今では前向きに考えることができるようになりました。
今回の反省点。
新規顧客の場合、仕事の受注は慎重を期すこと。特に新しい技術などにチャレンジする場合は。
ぶっちゃけ、安定して稼ぎたいならエージェントが最適解です。
もちろん、エージェントを通した分、収入は減りますけど、変なクライアントとかはフィルタかかりますので。
もし引っかかっても、間に入ってくれるので楽ですしね。
おすすめはレバテックフリーランス とギークスジョブです。
私も利用したことがありますが、両方とも案件が豊富で単価も比較的高い傾向にあります。
最近は案件を紹介してもらってもなかなか仕事ができていないのですが、それでも業界の動向やクライアントの求めている技術者の傾向、業界内の景況感を教えてくれるので大変助かっています。
レバテックフリーランスについて詳しく知りたい人はこちら↓
ギークスジョブについて詳しく知りたい人はこちら↓