プログラミングを独学して起業しようとする方がたまにいますが、個人的にはやめておいたほうが良いと思います。
独学でシステムを構築しても、あとからシンドくなるだけです。
保守もしにくいし、拡張もしにくいはず。
システム開発はしっかり現場で学ぶか、誰かプロを雇うべきです。
ちなみに僕自身はエンジニアで、現在は独立・起業しています。
現在の年収は1000万円ほどです。
あまり高いとも言えないですが、しっかりエンジニアとして経験を積んできたので、そこそこシステム構築やサービス開発については詳しいです。
おかげで大きな失敗などはしないですんでいます。
今回は、プログラミング独学で起業はやめておいたほうがいいという話について深堀りして解説していきます。
プログラミング独学で起業はやめておいたほうがいいですよ
結論から話すと、プログラミング独学で起業はやめておいたほうがいいです。
正確には、プログラミング独学で、なにかサービスを作って利益をあげようとするのはやめておいたほうがいいです。
理由は以下のとおりです。
・バグなどが生まれやすい
・負荷に耐えることができないサービスになってしまう可能性あり
・拡張性がないサービスになってしまう可能性あり
ぶっちゃけ、多くの人に使ってもらいたいのであれば、専門家を雇うか、自分が専門家になったほうがいいですよ。
独学で制作したサービスで大きい利益を生み出せる可能性は少ない
プログラミング独学で制作したサービスで利益をあげるのはかなり難しいと思います。
世の中の有名サービス(LINEや食べログなど)は、スーパーエンジニア達が裏側で努力して作っています。
そういうサービスを素人のあなたが1から作り上げるのはまず無理です。
諦めたほうがいいですよ。
独学で作ったら「とりあえず動いているけど問題ありまくりのサービス」になると思います。
✔ バグが起こりまくる可能性あり
まずバグ(不具合)がたくさんあるサービスになってしまう可能性が高いです。
・特定の操作をしたら動かなくなる
・処理が正常に行われない
・表示崩れが起きる
上記のような問題が起きてしまうと思います。
それに、特定の端末で動かないみたいなケースも発生するかなと。
ぶっちゃけ、バグだらけのサービスなんて、誰も使わないですよ。
リリースするのも大事ですが、不具合が極力ないサービスを作るほうが大事です。
✔ 操作性に問題生まれそう
あと、操作性にも問題が出そうだなーと思います。
・処理が重い
・使い方がよくわからない
上記とかですかね。
特に「処理が重い」とか起きそうです。
複数人が使ったり、高い負荷がかかると落ちたり重くなってしまうようなサービスになる可能性はかなり高いです。
で、そういうところに気を使った開発って独学だと限界があると思います。
多分データベースとの連携のクエリやキャッシュが関係してくる部分ですが、この領域は「ただ動けば良い」という考えでは失敗します。
どういう風にDBを設計して、インデックスを張って、クエリを組み立てるかが大事です。
キャッシュ戦略を立てるのも大事です。
あと、ロードバランサーで負荷分散させたりですかね。
そういう対処法が独学だと限界あると思うので...。
✔ セキュリティとかボロボロになりそう
ほぼ確実にセキュリティ面で問題があるサービスが出来上がると思います。
・XSS
・CSRF
・SQLインジェクション
独学でサービスを作る場合、上記のような攻撃に対する脆弱性があるサービスを作ってしまう可能性って大いにあります。
で、リリース後に問題が起きるみたいな。
セキュリティ面がボロボロなサービスはリリースするべきじゃないですよ。
利用者に迷惑がかかりますからね。
「とりあえず動くサービス」を作るのは多分できます。
しかし、「お客さんに提供する価値のあるサービス」は独学では作ることができないと思います。
セキュリティ面もしっかり対応したいのであれば、プロを雇うか、あなたがしっかり開発を学習してください。
✔ 保守性0になりそう
保守性(サービスの開発の継続のための部分)が0になりそうだなとも思います。
多分、独学で起業してサービスを作ると次のような状態になると思います。
・1つ改修を加えるために、たくさんの箇所を修正しないといけない
・仕様の把握ができない
・ソースコードが読みにくい
こういうの、ぶっちゃけ地獄ですよ。
開発段階で「今後も開発しやすい状態」にしておくことって大事です。
しかし、プログラミング独学で起業とかすると、そういうのって無理だと思います。
実際の現場で、保守性の高いコードの書き方や、開発手法を身につけるべきです。
もしくは、プロに頼むかですね。
結論:あなたがプロになるか、プロを雇いましょう
スイマセン。ここまでプログラミング独学での起業の問題点・懸念点を言いまくってしまいました。
(考えればもっと出てきそうですが...)
解決策ですが「あなたがプロになるか、プロを雇うか」かだと思います。
数年間エンジニアとして現場で働くと、多分開発のスキルも身につきます。
もし、プロのエンジニアを雇うお金がないのであれば、そっちでも良いと思いますよ。
ちなみに、僕自身もエンジニアになって、開発のスキルを習得してから起業に踏み切りました。
✔ お金があれば、エンジニアを雇えばOK【ただし最低限の知見はあったほうが良い】
もし、かなり資本金があるのであれば、あなたがプロのエンジニアを雇えばいいだけです。
ただし、あなたも最低限の知識はあったほうがいいかなと。
ITの勉強をしておくといいですよ。
じゃないとエンジニアと話が噛み合わないと思いますので。
具体的には、次のようなことは知っておくといいです。
・WEBの仕組み
・セキュリティ
・開発手法
僕がエンジニアでも、あまりにITに疎い経営者のもとでは働きたくないですね...。
✔ お金がないのならプログラミングを学習→まずはエンジニアになりましょう
人を雇うだけのお金がないのなら、まずはあなたがエンジニアになってください。
そっちのほうが得策です。
ちなみに、あなたが開発できるようになると「受託開発」でも食っていくことができますよ。
つまり会社が潰れる可能性も減ります。
「自社サービスを作る能力もつく」「受託で稼ぐという選択肢も増える」
この2つのメリットがあるわけです。
フリーランスエンジニアの案件とかうければ、月に50万円以上は稼げますしね。
で、エンジニアになるための方法ですが、まずは自己投資と思ってスクールに通うといいですよ。
✔ 僕はスクールに通いました
スイマセン。自分の話になってしまうのですが、僕はまずはプログラミングスクールに通って学習しました。
その後エンジニアになった感じです。
受講したスクールはテックアカデミーというところです。
講師の方も現役のエンジニア&教え方も上手で、かなりよかったです。
ちなみに、他にも受講したスクールがあり、無料あり:フリーランスを目指せるプログラミングスクールランキング【体験をもとに徹底分析しました】でランキング化しています。
無料あり:フリーランスを目指せるプログラミングスクールランキング【体験をもとに徹底分析しました】
あなたフリーランスエンジニアを目指すことができるプログラミングスクールってありますか? 最近では、高年収や働きやすさの魅力からフリーランスエンジニアを目指す方も増えてきました。 結論から話すと ...
続きを見る
スクール選びの際に参考にしてみるといいかもです。
スクール→エンジニア職の経験→起業という道を歩んできて思うこと
僕は今、フリーランスエンジニアとして独立・起業しています。
独立するまでは次のような道のりを歩んできました。
・スクールで勉強
・エンジニアとして就職
・独立
プログラミング独学→起業よりはかなり遠回りです。
それでも、その遠回りをして良かったと心から思っています。
むしろ、1回エンジニアとして就職したほうが近道とすら思っています。
あなたが今考えている「プログラミング独学→起業」は、ぶっちゃけ邪道です。
「エンジニア経験→起業」が王道です。
僕は、その王道を歩むべきだと自信を持って言えます。
タモリさんも次のような言葉を残しています。
やっぱり近道はないよ。真ん中の王道が近道なんだよ
あなたはプログラミング独学で起業すれば、はやく成功できるんじゃね?と思っているかもですが、そんなに甘くはないですよ。
遠回りになる可能性だってあることを心に留めておいたほうがいいです。
エンジニア職の経験は絶対にあったほうがいいと思う
僕は、プログラミング独学で起業するぐらいなら、最低でも1~2年ぐらいは現場でエンジニアとしての経験を積んでから起業したほうが良いと思います。
どう考えても、そっちのほうがメリットが多いんですよね。
・開発手法がわかる
・技術に詳しくなることができる
・先輩エンジニアから学習できる
・IT企業がどうやって利益を出しているか理解できる
上記のようなメリットを得ることができます。
別に何十年も実務経験を積んだほうがいいとは言っていません。
数年(1~2年)でOKです。
でも、その数年のおかげで、グッと起業はしやすくなると思いますよ。
・独学で起業して、サービスを苦労して作る。作った後に修正点がたくさん生まれる。
・エンジニア経験を積んでから起業する。ある程度スムーズに開発することができる。
上記の場合なら、僕は後者を選んだほうが良いと思うのです。
スキルがあれば、あなた単体でも稼げる
あと、実務経験があってスキルがあれば、別に作ったサービスで稼ぐことができなくても、あなた自身で稼ぐこともできます。
「そういう考えは逃げだ」「絶対に自社のサービスで利益を上げたい」とか思うかもですが、あまり現実的じゃないですよ。
最初からうまくいく可能性のほうが低いので。
それに「最初は自分で受託で稼ぐ」という選択肢はそんなに悪くないと思います。
あなたが単体で稼ぐことができるメリットは次のようなところですね。
・事業を継続させることができる
・資本金を用意できる
ぶっちゃけ、フリーランスエンジニアとして稼げば月に50万円以上は稼ぐことができます。
そうすると、2ヶ月で100万円程度は手に入るわけです。
100万円あれば、事業としてスタートすることは全然可能ですよね。
それに、その100万円はあなたが稼いだので返済の義務はない。
もし、あなたがエンジニアスキルがない場合、お金に困ったら借りるしかないです。
そうなると精神的にもシンドイはず。
しかし、あなた単体で稼ぐことができれば「あーちょっと受託で稼いで、数百万ぐらいお金を手に入れるか」という考えができるようになります。
会社を潰さずして、自社開発のための資金も手に入れることができる。
これが強みです。
僕自身も、フリーランスエンジニアとして年収1000万円ぐらいは稼げるようになりました。
それだけ稼げるようになって思うのは「あー自分がいる限り会社は潰れないな」ということです。
ちなみに、フリーランスエンジニアになる方法はフリーランスエンジニアになるには何をすればいい?【方法と全行程を詳しく解説します】でも解説しています。
ツール選定や、言語選定もしやすい
起業した後の、サービス開発のためのツール選定や言語選定がしやすいのも一旦エンジニア経験を積んでおくメリットですね。
実際にエンジニアとして現場で開発経験を積むことで「どんなツールが使われているのか」「どんな言語が目的に合っているのか」がわかるようになります。
適切な開発手法やツール、言語を選ぶことができれば、かなり効率的に開発できるはず。
ぶっちゃけ、サービスの形式やユーザーの数によって、使用するべき言語やツールって結構変わってきます。
そういう選定をミスすると後からシンドイですよ。
まずはあなた自身が知見をつけておくといいです。
僕自身は本当に、こういう知見をつけてよかったなと思います。
おかげで、次のようなことをすぐに決めることができました。
・タスク管理ツール
・開発手法
・ソースコード管理ツール
・インフラサービス
・サーバーサイド言語
・フロントエンド言語
・DB
おかげで、スムーズに開発できています。
失敗事例を学習できたりする
実際に現場でエンジニアとして働いてみて、失敗する事例も目にしてきました。
そういう「失敗事例」を目にできると、自身の失敗を防ぐことができます。
同じミスはしないようにすればいいだけですので。
失敗事例をこの目で見ることができたのもメチャクチャ良かったなと思いますね。
おかげで、なにか新しい試みをするときでも「あのとき、あの会社はここでミスってたから自分はやらないようにしよう」とか思えます。
多分見てなかったら、同じミスをしていたかと。
✔ ざっと復習
ざっと復習です。
僕がエンジニアとして実際に実務経験を積んでから起業してよかったと感じることは次のとおりです。
・自分1人でも稼げる(事業が潰れない)
・技術選定しやすい
・失敗をしないですむ
このあたりは知っておくといいかと思います。
目先のカッコよさに囚われないで長期的な視野をもって行動していきましょう
ということで、今回はプログラミング独学で起業は基本的にオススメしないという話をしてきました。
あなたは「起業」と言う言葉のカッコよさに囚われていませんかね?
そんな言葉だけに魅力を感じて、プログラミング独学で適当なサービスを作ったところでうまくいきませんよ。
目先のカッコよさに夢中にならないようにしましょう。
大事なのは、「長期的な視野」です。
あなたが、将来的にみんなに喜んでもらえるようなサービスを作って、利益をあげたいのであれば、まずはコツコツ開発スキルを積み重ねてからでも良いと思います。
長期的に見れば、そちらのほうがメリットは大きいはず。
個人で稼げるようになってからでも十分
途中でも話しましたが、下積み期間を何十年もしろと言っているわけではないです。
エンジニアなんて1~2年実務経験を積めば、月に50万円以上は稼ぐことができます。
それに、スキルも身につきます。
実際、僕は1年程度の経験で月に60万円稼げるようになりました。
・プログラミング独学で即起業 → 稼げなくてしんどい
・1年ほど実務経験を積んで起業 → 個人で60万円稼ぎつつ、サービスも作成
上記だったら、後者のほうが確実にメリットが多いと思うのですがどうでしょうか?
まずは「フリーランスとして個人で稼ぎつつ、サービスも作成」を目指してみると良いと思います。
それでも十分スピーディに事業を展開できます。
✔ 僕がプログラミングスキルをつけるために受講したスクールをまとめました
途中でも話しましたが、僕自身も最初はプログラミング初心者でした。
しかしスクールに通ってスキルを身に着けてフリーランスエンジニアとして稼げるようになりました。
受講したスクールは無料あり:フリーランスを目指せるプログラミングスクールランキング【体験をもとに徹底分析しました】にまとめています。
学習段階では参考にしてみてください。
今回は以上です。
「長期的な視野」「確実なスキル」を大事にして、起業を成功させていきましょう。
最後まで読んでいただきありがとうございました。