始めに
こんにちは〜😭
まんじです〜😭
今回はぼくがプログラミング未経験からフリーランスエンジニアになるまでにやったことをSEOを狙いながら書いていきたいと思います。(Googleチャン!!こっちだヨ!?)
ちなみにタイトルで語弊がありそうなので書いておくと、実務未経験からそのまんまフリーランスエンジニアになったわけではないのでそこはご了承ください。(できなくはないけど)
結論から書いてしまうと、こんな感じのことをやりました。
- プログラミング6~7ヶ月独学で勉強(25歳)
- プログラミングでインターン11ヶ月(実務)
- 上場企業に正社員エンジニアで入ったけど研修だけ受けて4ヶ月で辞めた
- ニートとなり個人開発でSEOツールとアダルトウェブアプリ作成
- React使ってフリーランスエンジニアになった(海外から日本の案件獲得)
その時期とかにやってたことなどを詳しく書いていきたいと思います。
プログラミング6~7ヶ月独学で勉強(25歳)
ちょうど25歳になる頃に大学のゼミ(休学してた)で卒業研究の準備っぽいことが始まりまして、「そうや、プログラミングをすれば一石二鳥ヤデ!」と思ってプログラミングを始めました。
最初はPythonの文法をドットインストールで3週間ぐらいやって、その後からスクレイピングしたりFlaskやDjangoでウェブアプリを作って1人で勉強していました。
FlaskとかDjangoとかスクレイピングは勉強というよりもコピペ雰囲気パクり学習で、Kindleのプライムリーディングで読める無料の本を使ってコピペしたりググりながら真似して実装をしながら進めてました。
当時にやっていた勉強方法は大体こんな感じ↓です。
- とりあえず読む
- 真似して書くorコピペする
- 80%ぐらい本の通りに完成する(たまに難しくて分からないところは脳死コピペ)
- 次にそれを自分なりにアレンジする(TODOアプリからスクレイピングした結果を表示するアプリにするみたいな感じ)
こういった作業を毎日5~8時間やって、それを週に1回大学のゼミでオンラインで発表していました。
今週はDjangoで〜という機能を実装しました
オブジェクト指向が難しくて発狂しました。
来週も引き続きこの機能を作っていきたいと思います。
↑みたいな感じで提出してそれを教授が「オブジェクト指向は難しくないので引き続きがんばってくれ」みたいな適当な(笑)コメントを録画したビデオが送られてきて、そんな流れで淡々と勉強していました。
ちなみに勉強場所というか勉強スタイルはこんな感じでやっていました。
- 朝起きて3~4時間プログラミングをやる
- 早稲田の自習室に移動して3時間プログラミングやる
- 帰宅して大学のオンラインの課題とか娯楽して寝る(プログラミングに関係ないけど!)
今振り返ってみると、この頃は孤独だったしプログラミングしててもお金にならないしで、結構つらかったです。
多分毎週のゼミ報告がなかったら挫折していた気がします。
楽しくはなかった思い出です!
プログラミングでインターン11ヶ月(実務)
インターネットでいろいろ調べていると、「プログラミングでは実務経験が大事!」みたいなことを知ったのと、モチベーションというかプログラミング学習を毎日する日々がつらくなってきたので、長期インターンに応募してみることにしました。
最初はPythonとDjango使えるところメインで結構いろんな会社に応募していました。
でも、そもそもDjango使えるところでインターン募集しているところがあんまりなくて、あっても書類で落ちるor返事なしで「ウーン、困ったナァ」と思いましてとりあえず言語とかフレームワーク関係なしに目に入るところ全部応募していくスタイルに切り替えました。
その結果、たまたま高田馬場のインターンに受かって、ラッキ〜ってなったんですけど、今思うと技術的にもモダンでラッキ〜な労働環境だったのでラッキ〜だったと思います。
ReactメインでバックエンドもJavaScriptで、Docker使って〜みたいないわゆる定番のモダンな現場でした。
そんで、そこのインターンに入ったんですけど、最初はまじで難しすぎて死にかけました。
難しすぎるというよりも、WindowsでDockerのWSL2の環境構築して〜みたいな流れのまずは環境構築からだったんですけど、「書いてある通りやっても動かない😨…」みたくなりまして最初の1日の稼働時間経過しても環境構築ができなくて発狂しかけてました。
そこの現場で教えてくれる人(いわゆるメンター)の人とかはMac勢かつ放任主義「Windowsはわからないですね!」みたいなタイプだったので、それもあってさらに死にかけました。
なんとか環境構築とかできたものの、今度はReactのコードが全く分からねえ!みたいな状態になりまして、commitしてpushしてもなんか赤いバッテンついてダメっぽいんだが!?(Linterが通っていない)などなど、全体的に死ねました。
特に最初~5ヶ月目くらいまでが本当につらすぎてインターンに行きたくなさすぎてつらかったです。
あとこの時に今でもハッキリと思い出せるキショイメガネからのコードレビューが激しすぎてきつかったです笑。
で、6ヶ月目以降ぐらいになると「少しだけなんか分かるぞぉ!!!!」みたくなりまして、最後の頃には「まあまあできるんじゃね?」みたいな感じになって、11ヶ月目で正社員ウェブエンジニアにになるのでやめました。
時給は最初1200円だったんですけど1400円まで上がってちょっと嬉しかったです。
稼働は1日6時間を週4でしていたんですけど、最後のほうは稼働時間以外でも家で2~3時間勉強してる日が多かったです。
やっぱり自分で勉強するようになると、伸びた。
上場企業に正社員エンジニアで入ったけど研修だけ受けて4ヶ月で辞めた
プログラミングの長期インターンする前に一応ウェブエンジニアで新卒就活していました。
その当時の結果的にはメガベンチャーとかは普通に技術面接かコーディング試験で落ちて、ミドルベンチャーと言われるところも2次で落ちたり、某名刺SaaSのところは最終面接で辞退したりしつつも、BtoBのクソホワイトと評判の会社に入ることにしました。
(ちなみにこの頃、key valueのオブジェクト型が分からなかった…技術力低すぎてやべえwww)
そんで就活に関して今思うと、名刺のところのほうが名前が圧倒的に売れていたので、そっちに入っておいたほうが(最終面接で落ちなければ)後々フリーランスする時とかも楽だったなぁ…と少し思っています。
慶應卒とか東大卒とかがインパクトあるように、元々有名な企業で働いてたって言うだけで、周りからの反応も変わるし転職やらフリーランスの面接とか書類がめちゃくちゃ通りやすくなります。←これがち。
という就活エピソードが長くなりましたが、新卒で一応入って最初の1ヶ月が全体研修とかいうTHE会社みたいなほぼ遊びのような研修を受けまして、その後3ヶ月ぐらいJavaをシコシコとeclipseとかいうクソ古いやつで書いてインターンの時と同様にコードレビューでいじめられてました。
なぜプログラマーには陰湿で高圧的なキショイやつが多いのか?😄(心の声)
この頃のJava研修が週4リモート週1出社で、Javaを勉強して昔ながらのフォームを作ってDB操作までやっちゃおうぜみたいなとてつもなく基礎的かつ結構古めの内容でした。
勉強にはなったものの、普段の自分の開発にJavaを使う予定がなかったので「Javaできればやりたくないな〜」とか、全体的に使ってる技術とかが古めだったりして、微妙ポイント(ストレス)が多かったです。
それでJava研修を適当にこなしながら、4ヶ月でお金もインターンしてる頃からあったし、ちょうどプログラミング以外でやっていたお金稼ぎが少しやることが出てきたので有給一気に使ってやめてニートになりました。
普通に地雷新入社員だったと自分でも思います。やべーやつだったな!あいつ!
ニートとなり個人開発でSEOツールとアダルトウェブアプリ作成
無事ニートになったんですが、一応プログラミングはやっていて、個人開発でSEOツール(ウェブとElectron)とアダルトウェブアプリを作っていました。
元々、「プログラミング使ってウェブアプリとか作って楽していっぱい自由にいっぱい稼ぎたいな〜」と思ってプログラミングを始めた側面が大きかったので、そっちにトライしていこうとしようとしていました。
結果的にはSEOツールのほうは今だに微妙(SEOのツールのSEOが上がらないとかそもそも稼げるキャッシュをうむ設計になってない)で、アダルトウェブアプリは月6万PVの数千円ぐらいの収益は上がったんですけどこっちもビジネスモデルがダメで両方とも失敗しました😍
この時に個人のウェブ開発で飯食うというかまず会社員とか月100万円とか稼ぐのは明らかにプログラミング以外の部分が99%ってことを学びました。(今もですが…)
で、毎日シコシコと開発をしていたんですがシンプルに飽きてきたのと、社会との関わりが少なくなってしまって昼夜逆転ニート生活をしすぎて自己肯定感が終わったので、週3ぐらいでフリーランス案件を探し始めることにしました。
React使ってフリーランスエンジニアになった(海外から日本の案件獲得)
ちょうどSEOツールとアダルトウェブアプリを作ってる頃に海外にわりといっていて、1~2年は海外に住む予定だったので海外から週3ぐらいで働ける案件を探し始めました。
当時フリーランス案件を探し始めた時期は「そもそもおれってなんの技術が使えるんじゃい?」というむしろ自分すら何ができるのか分からない状態で、とりあえずPythonとReactの案件を応募する日々を始めました。
いくつかフリーランスエージェントとの面談をしたものの、「海外から週3みたいな案件はぶっちゃけ、ほぼないぜ」みたいなことを言われて「ウヒョ〜現実は厳しかっター」と思った記憶が強めです。
ただ、たまたま適当に応募していたら、いわゆるクソキラキラスタートアップ多国籍GAFAMエンジニアクラスタの会社に偶然受かりまして、ぶっちゃけラッキーでフリーランスエンジニアデビューができました。
今振り返っても普通にただのラッキーだった気がします。
「実務経験11ヶ月で海外から働きます!」みたいなクソキモイやつを取るか取らないかで言うと、ぼくだったら取らないのでまじでラッキーでした。
ただこの時にSEOツールやアダルトウェブアプリを作っていたのでそれがポートフォリオっぽくなり、「こいつそれなりにReactとか書けるっぽい感じがするぞぉ!?」ってなったのかもしれません。
ちなみに働き出してからはどうなのかって話なんですが、フロントエンドはReactでバックエンドもTypeScriptで環境構築はDockerみたいなワイの個人開発オハコ構成だったので最初から普通にサクサクめに進められた気がします。
簡単なタスクでしたけど初日からPR2~3個ぐらいは出した気がしゅる。
あと、普通に1年案件きられないでできたヨーって言うのと、途中から仕事が英語になったヨーとか、そこらへんの話は下の記事に書いております。
ということで、フリーランスエンジニアになるまででした
振り返ってみると要所要所で微妙(無駄)なことはしていたな〜と思うものの、まあまあ遅くはなくプログラミングjourneyを歩めたような気がします。
ある程度早い人なら0からで勉強4ヶ月、実務1年ぐらいの合計1.5年ぐらいでフリーランスエンジニアデビュー自体はできそうだなって思います。
ただ、フリーランスエンジニアと普通に正社員エンジニアどちらが良いかって言われると、ネットではフリーランス最高!みたいな流れですけど正社員のほうがリアルだとなんていうかちゃんとしてるというか地位が高いというか、そういう印象は受けます。
なので、フリーランス(業務委託)になるのは別に難しくはないなって印象です。
まるっと1から受けて受託するタイプのフリーランスエンジニアはまたちょっと別のベクトル方面でプログラミングをする必要があるのでこの記事で書いてるタイプとは違いますけど、受託タイプは技術力というよりも営業やビジネスを展開やら設計する力のが大事ダナーって印象です。
あ、あと、海外からじゃなければ面接するおって会社も案件応募しまくってる時にあったので実務経験が短くてもそれなりに頑張って1年ぐらい開発すれば1年ぐらいでフリーランスエンジニアはできそうです。
まとめ
プログラミング0から始めてフリーランスエンジニアやるまでの流れというかやったこととかを書いてみました。
個人的には独学で長く勉強しすぎたってのと、インターンしてた頃にもっと本気でプログラミングしておけば(勉強時間を増やす側面で)良かったナーとは思います。
ということで、何か質問などがあれば、Discordあたりから質問してください🥹ピエン