未経験から月収１００万円のフリーランスエンジニアになった経緯とコツ

未経験からフリーランスとして稼げるようになったポイントは３つあると思っています。

**[１、時間をつくる](#１時間をつくる)**
**[２、全体像をつかむ](#２全体像をつかむ)**
**[３、発信する](#３発信する)**

です。それぞれ解説していきます。



#１、時間をつくる
雪がたっぷり積もったら、外に出ていろいろ遊んでみようと思いますよね。雪だるまを作ったり、かまくらを建てたり、雪合戦をしたり。
それと同じで、時間的なスペースがあると、いろいろ工夫してみようという気持ちが生まれます。
一個失敗しても、「じゃあこうしてみようかな」みたいな試行錯誤ができる。
子どもが雪の中で転げ回るみたいに。失敗ができる。
無駄って大事なんです。
なんならこたつで丸くなってもいい笑。

僕は以前の仕事の合間にも、プログラミングをかじっていたのですが、形にならないままでした。
本業の隙間時間で一個失敗してしまうと、次がないんですよ。

で、ニートになった。
時間ができたから、すぐプログラミングに邁進するかというと、そんなこともない笑
しばらくの間はネットフリックスを見たり散歩したりしていました。
そういうのもだんだん飽きてきて、「なんかやることないかなあ」とやってみたプログラミングが楽しくなってきた。
それぐらいのペースだと思うんですよ。自発性が生まれるタイミングって。

そうはいっても大体の人はまとまった時間を作るのは難しいと思うから、1日1時間、時間的なスペースを作ってみる、というルールでもいいと思います。
やり始めると、習慣的な勢いが出てきます。

#２、全体像をつかむ
ものごとがうまくいかないときって、全体像が見えていないときだと思うんですよ。
逆上がりがうまくできない子って、最初のキックはやってみるんだけど、そのキックが以降の動作とどう結びついて、全体の中でどう位置づけられるかイメージができていない。それで、ただただ高くキックしようとするのを繰り返していると思うんです。
つまり、初心者コースから抜け出せない人は、一つのエレメントには取り組めるけど、それが全体のどこに位置づけられるのかわからない。せっかく学んでも結び付けられないと意味を成さない。
何かがうまくできるようになるには、ぼんやりとでもいいから、全体像を感じることができることが大事だと思うんです。
女の子を口説くときと一緒ですね。ゴールまでイメージを。。。いや、このたとえはやめよう。ポリティカリー・インコレクトな気がする。
全体像があって、目の前のエレメントを有機的に結び付けられる。

プログラミングを勉強し始めて、写経してみたものの、それをどう使えばいいかわからない。初学者あるあるだと思うんですよ。
「1+1はこう書くとプリントされる」**「でもこっからどうすればアプリが作れるんだ？？」**みたいな。
僕もそうでした。ネットの講座を受けてみたり、オライリー本を買ったり。

で、そこからどう脱却したかというと、
スタンフォード大学の講座を受けたんですよ。
**[コンピュータサイエンスiOS講座（CS193）](https://cs193p.sites.stanford.edu/)**です。
この講座を受けて僕はアプリが作れるようになりました。
ここの授業は、アプリを作るのに必要な知識を網羅していて。「本当に必要なことは全部わかる」という感じです。世界最高峰の大学だけあって、世界最高峰にわかりやすい。アプリを作るの必要なランドマークとその結び付け方が、手を動かしながら実感できる仕組みになっています。
実際に作れるようになりました。
全体像をワンセットで見せてくれてつかませてくれるものを見つけるって大事だと思います。
大工の徒弟制度とかあるじゃないですか。最初はひたすらカンナクズがきれいになるまでカンナがけするとかいうけど、カンナがけ自体は実は重要じゃなくて、それをしながら親方のそばにいて１から１０まで親方が仕事をするのを見ているってことが大事なんだと思うんです。
ひとの真似をするって、全体像をつかむうえで重要だと思います。

アプリを作るということも、一度全体像がわかってしまえば、作りたいものがあったときに、どの知識が不足しているのかがわかります。あとは必要な知識をウェブで拾って全体像の中に落とし込んでいけばいいだけです。
講座の最終課題で「自分のアプリを作ってみる」というのがありました。
授業で習ったことにプラスアルファして、何か最新のテクノロジーをくっつけたアプリを作ってみようと思いました。ネットで面白そうなフレームワークを探したりして、機械学習を使ったアプリを作ってみようとおもいました。
けっきょく、機械学習だろうがiOSだろうがなんだろうが、ネットを検索したら、ちゃんとドキュメントなり文章なりコードなりで情報が載っていて、それをちゃんと読めば（全体像さえあれば）理解できるようになっています。全体像と情報のありかがわかっていれば、できることが格段に増えます。

CS193に話を戻すと、これはYoutubeで無料で全授業が見られます。
英語は、Youtubeの英語字幕でなんとかなりました。あと、アメリカドラマ「ブレイキング・バッド」を一通り英語で見たのも役に立ったかな笑
英語がわかると、ドキュメントなどが原語で読めますし何かと便利です。
まあGoogle翻訳もかなり優秀なので、英語は大した問題ではなくなっている。

#３、発信する
箱の中の猫と同じで、見られるまでは他の人にとって自分は存在しないのと同じなんです。
実力があるだけでは仕事はこない。
箱をぶちやぶって顔を出して、にゃーと鳴かないといけない。
自分はここにいるよ！と叫ぶ効率的な方法が「ネット上に情報を発信する」ということだと思います。
技術記事などを書いて、自分の実力という情報をネット上に公開していく。その記事がクライアントの目に届けば、仕事がくる。
お金を出してくれる人と自分を繋げないといけないんですよね。
そうすることで、プログラミングが一気にお金につながりました。
僕は[Qiitaで技術記事を発信して](https://qiita.com/john-rocky)、[Mediumという英語のサービスでも同じ記事を書いています](https://medium.com/@rockyshikoku)。[GitHubにコードもアップしています](https://github.com/john-rocky)。
それを見た国内外の企業から開発の依頼が来て、こなしていくうちに3ヶ月で月収100万円を超えました。

それまで1円も稼げない時期が半年ぐらいありました。
[個人開発アプリをAppStoreにアップロードして、広告収入で当てようと、１０個ぐらいリリースしました。
顔の似ている度を計算するアプリとか、ARでバーチャル背景をつけるアプリとか、機械学習で写真の加工をはがすアプリとか、写真をアニメ風にするアプリとか。](https://apps.apple.com/gb/developer/daisuke-majima/id1350309854?l=ja)
箱の中でキメラ的な化け猫として特異進化を遂げていたんです。怖いですよね。
[<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/93850218-fd74-e597-73d0-c86c3edc5aea.png" width=300>](https://apps.apple.com/gb/developer/daisuke-majima/id1350309854?l=ja)
でも、肝心のお金を出してくれる人の元には、僕の情報は届かなかった。
僕の場合はお金を出してくれるのはコンシューマーではなかったということでしょうか。
お金を払える人にきちんとリーチするマーケティングが大切だと思います。

発信を始めたのは**[「エンジニアと人生」というコミュニティ](https://community.camp-fire.jp/projects/view/280040)**に入ったのが大きかったです。
有名iOSエンジニアの方が始められたコミュニティです。
このコミュニティの中で**[「発信講座」](https://community.camp-fire.jp/projects/280040/activities/186316#main)**があります。
この講座の先生がすごくたくさん技術記事や技術本を書いておられて、それらが仕事につながっていく全体感をわかりやすく教えてくれました。さっきの大工の徒弟制度の話じゃないけど、仕事につなげるまでの全体感を見せてもらえたのが大きいと思います。
個人相談にのってくださるイベントも開催されていて、[某社の採用担当の方とお話しする機会を設けてもらったり](https://community.camp-fire.jp/projects/280040/activities/147188#main)、フリーランスになることの背中を押してもらったり、技術記事の添削をしてくださったりして、それがすごく財産になりました。依頼主との交渉の仕方も教えてもらいました。
ちょうど僕も暇だったので、コミュニティの方の名言集をまとめたり、Youtubeチャンネルの編集を手伝ってみたりしていて、そういうのもあって可愛がってもらったと思います。これも時間があったからできたことですね。

**１、たっぷりと時間つくる**
**２、全体像をつかむ**
**３、発信する**

これらは、「プログラミングで稼ぐ」以外にも使えそうな方法な気がします。
この方法で女の子にモテた人は詳細を教えてください。

🐣
****
この記事は、**[#エンジニアと人生 #2 Advent Calendar 2021](https://adventar.org/calendars/6522)**の３日目の記事です。

フリーランスエンジニアです。
お仕事のご相談はこちらまでお気軽に🐥
rockyshikoku@gmail.com

Core MLやARKitを使ったアプリを作っています。
機械学習／AR関連の情報を発信しています。

[GitHub](https://github.com/john-rocky)
[Twitter](https://twitter.com/JackdeS11)
[Medium](https://medium.com/@rockyshikoku)