がじぇったー

お金と家電とプログラミングのブログ

副業(Crowdworks)でエンジニア案件を受注する際に気をつけていること

お久しぶりです。

がじぇったー (@hackmylife7) | Twitter


です。

在宅ワークになってから時間ができたので副業を頑張っています。
2月から本業の合間にチョコチョコ頑張り60万~ほどの収入をえました。

f:id:gadgeterkun:20200415101811p:plain


去年の副業の収入が年間で70台半ばだったので、もう超えそうです。
gadgeterkun.hatenablog.com

基本的にお客さんはCrowdworksで探しています。

そこで自分が案件を受注するために気をつけていることとかノウハウを書いていきたいと思います。
だいたいコンペは毎回20人超えるくらいになるのですが、ちゃんと受注できています。

前提として、エンジニアの経験がない方や駆け出しの方向きの記事ではありません。あとま○ぶややまもと○ゅうけんの取り巻きみたいな方にも参考にならないと思います

一定程度企業で経験があるエンジニア向けに書いています。


f:id:gadgeterkun:20200415111730j:plain

TL;DR(要約)

  • ファーストコンタクトのメッセージが一番重要
  • エンジニアとしてこうすればできるのではないか?と技術的側面から仮説を提示すること
  • 自分の情報の開示すること
  • なんだかんだで相手の立場になって考えることが一番重要です

ファーストコンタクトのメッセージが一番重要

Crowdworksに限らずどの副業募集サイトも
発注者が募集した案件に対して応募すると思います。

応募者はファーストメッセージで発注者が「この人はこの仕事ができそうだ」と思ってもらわなければなりません

※注意: そもそもできそうにない案件は発注者の方に迷惑がかかるので応募してはいけません。

私が気をつけていることは

  • エンジニアとしてこうすればできるのではないか?と技術的側面から仮説を提示すること
  • 自分の情報の開示すること

です。

「経験はないですが頑張ります!」、「経験はないので低価格で大丈夫です。」というゴミみたいなメッセージを送ってはいけません。
通信パケットの無駄使いです。

エンジニアとしてこうすればできるのではないか?と技術的側面から仮説を提示すること

発注者の募集がQuestionだとしたら、応募者はそれに対してAnswerを答えなければなりません。

いかに自分が実際に送ったメッセージを例として記載します。

例①: スクレイピングの案件

↓募集案件に対して自分が送ったメッセージ

株式会社○○でクラウドアーキテクトをしておりますがじぇったーと申します。
得意領域だと思い応募させて頂きました。

Pythonでよろしければアプリケーション作成が可能です。

応募させて頂くにあたり数点質問させてください。

・「お客様一覧」から「詳細」を開き全項目をエクセルダウンロードできるようにしたい
・ 定時自動取得が好ましい
・ サーバー負担を考えると半自動でもOK
こちらの実行元はサーバになるかと思いますが、インフラの指定はありますでしょうか。
AWSならCloudWatchEvents+Lambda、GCPならCloudSchedulerCloudFunctionsを用いることになるかと思います。
バッチの実行時間のみ起動するような形になるため、月額千円も行かないくらいだと思います。

また、出力先はどちらになりますでしょうか?
AWS S3やGoogle Driveなどの外部ストレージでしょうか。
日付や時間ごとに保存するような形になりますでしょうか。

納期ですが、現在本業の他に3社様と業務委託契約を結ばせて頂いているため、取り掛かりが来週水曜から、一週間程度で納品という流れになります。

ご検討のほど、宜しくお願い致します

例②: wordpress移行案件

↓募集案件に対して自分が送ったメッセージ

ご覧頂き有難う御座います。
私は2014年9月からインフラエンジニアとしてWEB企業で働いております。

オンプレミスのサーバの構築/運用を3年担当した後、それからはクラウドアーキテクトとして、WEBサービスAWS基盤構築/運用を行なっております。

今回はAWSへの移行ということで、自分の経験が活かせる案件だと思い、応募させて頂きました。

移行時の手順のドキュメント化はもちろん、その後の運用作業もお引き受けすることが可能です。

応募させていただくうえで、いくつか確認させてください。
長いですが、誰からも聞かれる項目だと思いますので、仕様書などがありましたらそれを展開いただく形でも大丈夫です。


【現環境に関するご質問】
・自社サーバとおっしゃっているのはオンプレミス環境でしょうか?それとも別のクラウド環境にあるサーバでしょうか?

・現在使用されているサーバのOSの種別は何でしょうか?

mysql, phpのバージョンは何でしょうか?

・データベースのデータ量はどの程度でしょうか

・現在のアクセス数はどれくらいでしょうか?
 (移行先サーバのスペックを検討するため、インフラの費用はこの程度に抑えてほしい、という金額が決まっていれば教えてください)

・移行時は停止期間は設けられるでしょうか?(アクセス数が少ない深夜に作業することも可能です)

・現在使用されているドメインは移行後もそのまま使用されるのでしょうか?(URLが変わるか、変わらないか)

・移行元サーバに移行用のプラグインを導入することは可能でしょうか?


【移行後のインフラ設計について】
鉄板の構成ですが、いかの構成が望ましいと思います
Route53

ロードバランサー

EC2インスタンス(冗長化)
↓ ↓
RDS   S3(画像データ)


【移行手順について】
ざっくりですが、以下のような手順になると思います
1. 要件定義
2. AWSアカウントの発行
3. AWS環境の構築
4. VPCの設定
5. Public Subnet,Private Subnetの構築
6. 現行のブログデータのエクスポートバックアップ
7. mysqlのdump(Pluginを使えるならPluginを使用する)
8. WordPressの実行ファイルの取得
9. AWSへのブログデータのインポート
10. dumpファイルをimport
11. Route53の設定


1週間程度、並行稼働期間を設け、大丈夫そうだったら切り替える方式が望ましいと思います。
(並行稼働期間の新環境へのアクセスはお客様社内IPのみ許可させる)

自分の情報の開示すること

メッセージを送る際は自分の情報を開示することも大事です。

「信用」と「実力の証明」という側面で重要と考えています。

相手の気持ちになってみれば分かりますが、どこの誰かもわからないような人に仕事を任せられるでしょうか。

私は「信用」を得るために、プロフィールに顔写真を登録することはもちろん

  • 勤務先企業
  • 職務経歴
  • Qiitaのアカウント

等、全て開示しています。

副業とはいえ、仕事を責任持って、覚悟を見せることがこういうサイトでは重要だと思っています。

また、自分はこの案件をできる、と証明するために「職務経歴」もメッセージに記載しています

メッセージの最後にビズリーチに登録している職務経歴書の内容をコピペして貼っています。

「この人はできそうだな」と思ってもらえるのならばポートフォリオでもなんでも良いと思います。

まとめ

つらつらと以下のことを書きましたが、仕事を発注する側の気持ちになって考えることが一番重要だと思います。

  • ファーストコンタクトのメッセージが一番重要
  • エンジニアとしてこうすればできるのではないか?と技術的側面から仮説を提示すること
  • 自分の情報の開示すること
  • なんだかんだで相手の立場になって考えることが一番重要です

Crowdworksにはゴミみたいな案件もたくさんありますが、ちゃんとした企業の方から発注される案件も多くありますし、
自分はお客さんを探すために有効活用しています。

bit.ly