以前、下記のような記事を書きました。
【プログラミング】【副業】プログラミングでの副業って実際どうなの?現役エンジニアが説明します
この記事での結論としては、「プログラミングでの副業はハードルが高い。しかし何か技術を身につけたいと思う人はやってみてほしい」です。積極的に「プログラミングで副業ができるよ!単価がいいよ!在宅ワークができるよ!」と訴えている記事ではありません。
今回は、なぜ「副業で稼ぐためにプログラミングをやる」というのがおすすめできないかについてお伝えします。やる気を削ぐ目的の記事ではありませんが、「プログラミングで稼げるらしい〜在宅ワークできる〜小学生もプログラミングやってるし私もできるはず〜!」ぐらいの簡単な気持ちで取り組もうとしている人は、ちょっと考え直してみて欲しいです。
ただ、「興味があるからやってみたい」というような、学びたい意欲のある人はとにかくぜひ挑戦してみて欲しいです。「プログラミングなんて簡単でしょ、仕事辞めてプログラミングでフリーランスやるわ〜副業やるわ〜」ぐらいの気持ちの人に向けた記事です。
なぜ、プログラミングで副業をしたいと考えましたか?
まず、副業にもいろいろありますが、その中でなぜプログラミングを選んだのでしょうか?
イラストを描くのでも良いし、ライティングでも良いし、文字起こしでも良いし、音楽、カメラマン、色々な副業があります。その中で、なぜプログラミングなのでしょうか?他の副業を選ばなかった理由はなんでしょうか?
「なんとなく」「儲かるって聞いた」「簡単って聞いた」
と考えている人は、プログラミングを学び始めると挫折する可能性が高いと思います。副業をすることが目的でプログラミングの勉強をするのは辛くなると思います。
何か作りたいものがある、プログラミングをとにかく勉強してみたい、そういった前向きな主体的な気持ちがあったほうがいいと思います。
プログラミングは単純作業と思っていませんか?
例えば、副業でアプリ開発の案件が取れたとして、依頼者から「ユーザー名、パスワードを登録できる、SNSのようなアプリを作ってください」と言われたとします。
「ユーザー名の入力フォームはこれで作れる、パスワードの入力フォームもこれで作れる、登録ボタンはこうやって配置すればOK。」
ちょっとアプリ開発を勉強した人なら、なんとなく作れそうな気もしますが、これだけでは話は済みません。
ユーザー名は何文字ですか、どんな文字の種類を入力可能としますか、パスワードは入力時に見えるようにしますか、*などで隠しますか、登録ボタンを押したらどこにどんな形式でデータを保存しますか、どういう時にどんなエラーを出しますか、そのデータを別のところでどうやって使いますか、使う際はどうやって読み込みますか、攻撃されるような文字が入力されないようになっていますか、すでにそのユーザー名が存在していた時はどうしますか、・・・。
考えることはたくさんあります。「こうやって書けばこれが作れる」というような答えはありません。常に調べながら、考えながら作っていく必要があります。決まったコードを書くだけの作業はほぼないと思います。他のものとの兼ね合いを考えながら作っていく必要があります。
依頼者もおそらくプログラミングには詳しくないので、相談もしにくいと思います。どうやったらこういうふうに動くようにプログラムが書けますか、なんて聞けないですよ。
英語や数学、コンピュータの仕組み等に理解がありますか?
プログラミングをしていてわからないことがあったらググると思います。英語のサイトも出てきます。英語のサイトを読んで理解できますか?できるならなんとかなると思います。
プログラミングをしていて、何かの最新の仕様を知りたいときなど、英語のサイトに出くわすことも多いです。英語は苦手なので、読めないので・・・だとプログラミングが進まないことが多いです。
他にも、数式を使わないといけない場面があったり、数学的な考え方が必要な場面は多いです。あなたは数学は得意ですか?答えに辿り着くまで考えられますか?
また、「メモリ管理がうまくいってないみたいです。メモリ管理できてますか?」と依頼者に聞かれた時に、「メモリってなんですか・・・?」とは言えません。「このOSだと・・・」「OSってなんですか?」こんな状態ではまずいです。コンピュータの仕組みなど、理解がありますか?ない場合は勉強する意欲がありますか?
勉強は好きですか?考えるのは好きですか?
先ほどの内容に近いですが、あなたは勉強するのは好きですか?
アプリのOSなんて割と頻繁にアップデートがあります。その度に仕様が変わって、今までアプリで動いていた機能が動かなくなったりすることもあります。その原因を探して、どうやって対処するか考える必要があります。
また、技術的にも新しいものはどんどん出てきます。勉強することがずっと続きます。無限にあります。
あなたは勉強するのは好きですか?好きじゃないとしても、プログラミングを仕事とした時に勉強を続けていく覚悟はありますか?好きじゃないとかなり厳しいと思います。
「未経験者」で案件は取れるでしょうか?
プログラミングができる人を募集している案件があったとします。そこにはおそらくあなた以外の人も応募してきます。
「実務は未経験です!」
の人と積極的に契約する理由が、依頼者にあるでしょうか?
あなたが何か作って欲しいアプリがあったときに、応募者が複数人いたら、おそらく単価が安い人や経験がある人を選びますよね。それと同じです。
じゃあ未経験でやるのは難しいじゃん、と思われそうですが、そこはやる気次第でどうにでもできると思います。例えば、自分でアプリやソフトをいくつも作って、それを「こういうのを作りました」と提示できれば、実力のアピールはできると思います。アプリやソフトを作る時に、自分でアイデアを出して自分で開発をしていくことになるので、楽しんで開発ができないと続きません。「副業のためにプログラミングやるぞ!」という気持ちだと折れると思います。
「未経験からプログラマーになって月収●●円になった」という宣伝もよく見かけますが、それも他のサービスと同じす。「留学未経験でTOEIC900点!」とか「社会人だけど勉強し直して有名大学へ合格!」という宣伝があった場合、これはごく一部の成功した人を宣伝に使っている可能性が高いです。挫折した人や、その目標に届かない人もたくさんいるということは考えておいた方がいいです。
開発を一人でできますか?
プログラミング案件が何か取れたとします。それを一人で納期に合わせて作っていけますか?
どこかで詰まってしまった場合、それが聞ける環境にありますか?会社でチームで開発している場合は、チームメイトにアドバイスをもらうこともできますが、フリーランスあるいは副業で一人で開発している場合、自分でなんとかできないと厳しいです。
納期も、「半年以内」と提示されたら余裕があるように見えますが、本当にその半年に間に合わせることができますか?なにか新しい仕様が提示されたり、やっぱりこれじゃちょっと、作り直して、と言われた時に対応できますか?
アプリやソフトのリリース後に問題があった場合、責任を負うのは誰でしょうか?
フリーランス、副業で開発を引き受けるのはかなり厳しいと思います。
まとめ
割と大変だよ、という主旨で書きましたが、私的には「やってみたいと思った人はぜひ学んでほしい」と思います。何か新しいことを学ぶのは良いことだと思います。
ただ、軽い気持ちで「仕事辞めちゃえ!プログラミングで食べていく!在宅でフリーランス!簡単!」と思っている人はちょっと考え直してみて欲しいです。
あれこれ考える前に、とにかく自分で何か作ってみるのが一番良いです。やりたい意欲があるなら、休日にでも、平日の夜にでも、ちょっとした時間を使って実際にプログラミングに取り組んでみてください。
コメント