30歳未経験かつ引きこもりからフリーのwebエンジニアになるまで

はじめに

個人からRailsの案件を請け負って?そろそろ1ヶ月が経って、仕事にもだいぶ慣れてきたのでこのへんで振り返りしてみようかなと思った。

あと、僕が参加しているプログラミング初学者コミュニティのアドベントカレンダーでみんなポエム書いてたから、僕も書いてみようかなって思った。

自己紹介

現在30歳。 前職でうつ病になり、3年くらい引きこもり無職してた。 もう働きたくないし、働くことは一生ないって思ってた。 今でも、みんなと同じように会社員とか無理だと思う。

高校中退後、通信制高校に転校して卒業、公務員になるも数ヶ月で退職、工場非正規を転々とし、ところどころ無職期間をはさみ、っていう感じで18歳からだと12年くらいあるけど働けてたの半分くらいかも。

なので、文系理系?なにそれ?だし、仕事でパソコン触ったこともほぼない。

でもpcゲームはしてたので、日常的にpcは触ってたし、タイピングもできるしっていう感じではあった。

プログラミング始めたきっかけ

ゲームのやりすぎで腱鞘炎になり、膨大な時間ができたこと。 精神科医からいろいろとアドバイスを受けてなんか始めてみるかってなったこと。 このとき、ダークサイドに堕ちてるけどあんま詳しく書くと引きずられる人いそうだから詳細ははぶく。

上手くいかなくても、知識とかはゲームに役に立ちそうだし、ちょっとプログラミングやってみるかくらいの感じ。

学習1ヶ月目(2022年3月)

昔、プログラミングに興味を持ってPHPの本を買ったことがあったようで、それがまだ家においてあったのでそれから始める。

いろいろ用意して挫折したらもったいないし。

このときは、そもそも勉強続くかどうかお試しって感じだから、継続できそうかどうかを様子見した感じ。

2週間くらいでだいたい読み終えて、HTMLとかの知識足りないなーってことでHTMLとCSSの学習。

progateと本を使った。

このころに、初学者コミュニティに入った。

コミュニティのボスがrubyやってるとのことで、勉強したら仕事くれたりしないかなーって思って、本格的に勉強する言語をrubyに決めた。

学習2ヶ月目(2022年4月)

コミュニティでgitすすめられたので勉強。

たのしいrubyとかいう全然たのしくないrubyを読む。

わけわかんないのに初心者におすすめされてるrailsチュートリアルを始める。

わけわかんないので大人しくprogateから始める。

progate→ドットインストール→railsの本→railsチュートリアルの王道ルートで勉強。

web開発でrailsならmacのほうがいいらしいので、mac購入。

学習3ヶ月目(2022年5月)

mac使いづらいし、別にかっこよくないしっていうことで、さっそく道を外れる。

vagrantを勉強してwindows上でlinuxを使おうとする。

まあ使えたけど、何度か環境立て直すことになり、docker使えたら楽じゃねってことで、dockerの勉強。

順序がおかしい。

ただ、docker勉強したおかげで他人のポートフォリオを勝手にローカルで動かしたりできたので、なんともいえない。

このへんから基礎学習を終えて、railsでいろいろ作って、コミュニティのボスにレビューしてもらったりしてた。

学習4ヶ月目(2022年6月)

railsでいろいろ作ってレビューしてもらうの繰り返し。

awsの勉強とかこのへんでした気がする。

でもawsパケ死とか怖かったから、デプロイの練習はvpsでやることにした。

全然、情報がなかったのでPHPアプリの情報を読みかえてvpsにデプロイしたりしてた。

このころ中だるみがあって2週間くらい、無職転生のweb小説を読み漁ったりしてた。

無職転生はいいぞ。

就職とか無理ゲーすぎたし、基礎学習を終えたし、いろいろ作ってレビュー受けたりしてたし、次何やろうって感じ。

特に作りたいものとかもなかったし。悩んでた。

学習5ヶ月目(2022年7月)

目的意識を失いダラダラしてた。

企業に就職するイメージは変わらずもてなかったし。

でも勉強自体はとくに嫌いではなかったので、通称チェリー本と呼ばれるプロを目指す人のrubyとか読んだりしてた。プロ目指してないのに。

このころ初学者コミュニティで仕事をくれる人がいたので8月から仕事もらうことにした。

主にHTML,CSS,JSをやるとのことで、railsではなかったけど、JSの勉強も必要だよなぁってことで、やってみようってなった。

一応、お仕事4ヶ月(2022年8月から11月)

HTMLもCSSも基礎学習終えてrailsで必要最低限書いたことあるくらいだったので、普通にここでつまずいた。

ググりまくった。

JSにいたっては、本ちょっと読んだよくらいで、addEventListnerすら知らなかったので、これも本読み込んだりググりまくった。

実は、全然お仕事いただけるようなレベル感ではなく、運が良かっただけ感。

まあ、なにか気に入られる要素があり、そういう要素も才能ということかね。うーん。

フルリモート、かつ、いろいろと教えてもらえる環境ではなかったので、ぐぐって作ってレビュー受けるの繰り返し。

自走力を見込まれていたので、自走力がのびた。

このあとのrailsで、当たり前だけどhtml,css,jsの知識は当然必要なので、すごく役に立った。

コミュニティのボスから仕事をもらう(2022年12月現在)

フロントやってる間、いっさいrailsやってなかったけど、フロントこれだけできたし、へーきへーき。

ということでrails案件。

業務アプリの保守運用みたいな感じになるのかな。

バグとか機能の修正、ちょこっと追加したりする。

ファイル量が膨大だし、見たことない書き方とかたくさんあるし、びっくり。

これもフルリモートなので、当たり前だけど自走力必須。

ふりかえり

運がいいだけとも言えるし、ある程度計画的な行動であったとも言えるし、なんともいえない。

ただ、運がいいというのは当然あっても、仕事をもらえるだけの勉強成果が出ていたとは言えると思うし、言語選択の基準も正解だったとも思う。

そして、似たようなコミュニティは僕が見ただけでも1ヶ月に1個くらいは見つけてたから、意外とルートとしてあるのかもしれない。

初学者になにか言うとしたら

プログラミングを好きじゃないとしんどいと思う。

勉強するのに効率のいい方法とかはないし、無駄になることもないから好きにやったらいいと思う。

vpsにデプロイとかいうマニアックなことしたからこそ解決できるタスクが実際にあった。

誰かのロードマップどおりにやってればそれでいいと思う。

あと、質問して答えてくれる環境は別にあってもいいと思うけど、自分ひとりで粘って解決する経験は積んだほうがいいと思う。リモートとか関係なく。

しめ

しめ。いろいろ思い出すの疲れてしまって、何も書けない。