アパレル出身の高卒文系が未経験からプログラミングを学んでリモートワーク専門エンジニアになるためにやったこと

リモートワーク専門エンジニアになるためにやったことアイキャッチ画像オピニオン

どうも、ウェブ系ウシジマくんです。

エンジニアとして今でこそリモートワークをやれていますが、転職当初は正直こんな感じで働いているとは夢にも思わなかったんですよね。

でも、リモートワークという働き方を実現出来たのは決して僕が天才だからではなく、単純にプログラミングを続けてきたからです。

過去のブログ記事を遡っても、具体的にどんなことをやってきたのかについて触れてこなかったので、いい機会だし振り返りも兼ねて書くことにしました。

軽〜い気持ちで読んでもらえたら嬉しいです。

挫折期: 接客業特有のプレッシャーに負け、逃げるように退職

why

日々の売り上げノルマ、利益を取るために出来るだけ高い単価を販売するための無理な接客。。。

接客業を極めている人にとっては、至極当たり前のことかもしれませんが、当時の僕にとってはかなりのプレッシャーでした。

シフト勤務による連勤に、肉体的にも疲れていたのでしょうね。

ある日早番として出勤した僕は、お店を開店した瞬間卒倒していまい、気がついたら病院に運ばれていました。

目が覚めた時には接客をするのが怖くなり、退院と同時に退職。

しかし、退職したのはいいものの、生きていくためには仕事をしなければいけません。

色々と模索していく中で、クラウドソーシングの案件などを見ていると、

プログラミングが出来るエンジニアは異様に単価が高いこと

に気がつきます。

幸い、ブログの構築などでパソコンを四六時中触ることに対しては抵抗がなかったため、エンジニアとして転職を決意。

しかし、DODAリクナビNEXTに掲載されている募集要項には、

どれも経験年数が2年以上

のものばかりでした。

そんな中、エンジャパンで「【未経験歓迎!アプリもCGも動画も、何にでも挑戦できます】」というキャッチコピーを発見。

文字通りIT業界自体もプログラミングも未経験だった僕は、応募してみることに。

当時の担当者はレスポンスが早く、あっと言う間にに面接が決定。

面接日の翌日には内定が決まりました。

転職スタート期: 小さなSESのベンチャー企業に入社

これからよろしくお願いします

内定が決定したのはいいものの、正式な入社は常駐先が決定してからとのこと。

それまでは給料が全く出ないという制度だったので(当時)、かなり生活が苦しかったですね。

内定から1ヶ月した頃、なんとか常駐先が決まり、SES企業へ入社することができました。

肝心の仕事内容は、アメリカなどではメジャーなアセットマネジメントという仕事。

アセットマネジメント (AM) もしくは資産管理(しさんかんり)とは、広義としては、投資用資産の管理を実際の所有者・投資家に代行して行う業務のことである。従って、株式・債券・投資用不動産、その他金融資産の管理を代行する業務一般を意味する。

-wikipedia-

wikipediaには上記のように小難しく書かれていますが、簡単に言うと、

各企業で使用されているIT機器やソフトウェアなどの管理を代行する業務

ですね。ヘルプデスクと似たようなものです。

常駐先の会社自体は誰もが知っている、某超大手グローバル企業だったので、稼働自体は安定していました。

独自ツールはあるものの、

基本的にはエクセルで管理していたので、やることは正直事務作業と変わらない。

配属当初は覚えることに必死でそれなりに充実していましたが、半年くらい経ってくると業務内容に飽きてきたんですよね。

日々仕事をこなしつつも、

「ITってもっとプログラミングコードをゴリゴリ書いていくものではないのか!?」

と思い始めていて、

「このままでは次の配属先でも似たような仕事になるかも・・・。」

という危機感も感じていました。

焦りはじめた僕は、なんとか現状を打破するべく、色々と情報収集をすることからはじめました。

その時、ちょうど「やまもとりゅうけん」さんのTwitterをタイムラインで発見。

核心をついた一つ一つのツイートに心を打たれ、オンラインサロン「人生逃げ切りサロン」への入会を決意。

当時100人くらいの規模でしたが、そこには現役バリバリのエンジニアが多数在籍されていて、多くのアドバイスをもらったことで明確なキャリアプランを設定することが出来ました。

また、タイミングよく、常駐先の事業所が縮小することになったので流れで契約終了を申請。

引継ぎなどはありましたが、ほとんど手が掛からなかったので、空いた時間にPaizaProgateでプログラミングを独学していましたね。

入社したSES企業でもJavaの研修などもありましたが、内容が全っ然頭に入ってこなかったんですよ。

プログラミングに向いていないのかなと思い始めた頃にProgateでRubyに出会い、

「これならわかりそう!」

という衝撃を受けました。ゲームするのと同じくらい楽しさを感じはじめていた僕は、常にMacbookAirを持ち歩くようになり、往復3時間の移動中でもやるようになっていました。

結果、新しい常駐先はすんなりと決まり、某大手ソシャゲ企業への常駐が決まりました。

プログラミング学習期: 某大手ソシャゲ企業へ常駐エンジニアとして参画

新しい常駐先では、バックエンドのフレームワークにRuby on Railsを使用していました。

そこでのRailsは基本的にAPIとして使われていて、内部で使用している管理画面側についてはクライアント側も実装されていましたね。

しかし、実務でRailsを使うのは初めてで、

正直はじめは全然ついていけませんでした。

それが悔しかったのもあり、帰宅してからもUdemyで動画講座を受講したり、技術本を買ったりしてみたんですよ。

例えば、

ProgateのRubyonRailsコースを履歴をクリアして2周
✅ UdemyのRubyonRailsを使ってAirbnbのようなプラットフォームを作る
✅ Railsチュートリアルを2周する
PaizaのRuby講座とRubyonRailsの動画を見返す
RubyonRails5アプリケーションプログラミングを一通りやってみる

こんな感じですね。

でも、正直講座や技術本を最後まで走破しても、自分がプログラミングを出来るようになったという感覚は全然ありませんでした。

それもそのはずで、

講座の内容に沿ってやりきることだけに満足してて、ちゃんと一つ一つの内容を理解していなかったから

なんです。
(アウトプットも全然していなかったのもありますけどね。)

この事実に気づくのはもっと後なのですが、当時はやってもやってもスキルが伸びていないような気がして、かなりもどかしさを感じていました。

それでも現場で学んだことを帰宅した後に復習することは続けていましたが。

その結果、常駐してから半年くらい経つ頃には内部で書かれているコードを少しずつ理解出来るようになっていて、Gitについては業務で扱う分には問題ないくらいまで出来るように。

この頃くらいからプログラミングに対して楽しさを再び感じるようになっていたものの、今度はSESという業界構造の闇を知ることに。

正社員として所属しているSES企業からは20万しか給与を貰っていないのに、常駐先からは50万で契約している。

しかもそのSES企業と自社は直接契約しているので、差額の30万はまるまるSES企業の利益。

その事実を営業から聞いた瞬間、なんともやるせない気持ちになりましたね。

まあ、正社員なので色々と保証はされていますので一概には言えませんが、モヤモヤした気持ちにはなりました。

そんな中、「人生逃げ切りサロン」にてエンジニアはある程度の実務経験があれば、他の職業に比べると独立しやすいし、単価も高いという事実を知ります。

しかも、常駐型であれば基本的に今までと働き方自体は大きく変わることはないというじゃないですか。

フリーランスに興味を持った僕は、「セレブエンジニアサロン」でフリーランスになるためのノウハウを学び、独立を決意。

最初の契約金は45万だったのですが(今考えると単価として相当低い)、今までそんな金額を貰ったことがなかったので二つ返事でOKしました。

フリーランススタート期: 経験年数1年で様々な案件に参画

タスクが終わらない画像

フリーランスとして最初に参画した案件は大手百貨店ECサイトの開発および改修業務。

躓くと思われていた環境構築もさらっと終わり、順調な滑り出しかと思いきや、新機能開発のタスクが全然こなせなかったんですね。

PRを出しても、レビュワーにボロクソなコメントをもらう日々。

必死にググってなんとかコードを書いてみるも、自分で書いたコードなのに

「どういう意図でこのコードを書いたのですか?」

と言われても説明出来ない。

今までたくさんインプットしてきたはずなのに、全然出来ず、自己嫌悪になっていました。

結局、フリーランス最初の案件は、長期契約想定だったのにも関わらず、1ヶ月で契約終了。

その後も様々なフリーランスエージェントを通して参画してみるも、あまりいい成果をあげることが出来ませんでした。

このままではフリーランスになった意味がないと思い始めた僕は、もう一度初心にかえるため、プログラミングを基礎からやり直すことに。

とはいっても、ただ写経したり動画や技術本を繰り返すだけでは意味がないので、次のことを意識するようにしたんですね。

✅100daysofcodeに挑戦し、毎日の進捗報告をTwiiterでつぶやく
✅インプットしたことを定着させるために、忘れないうちにQiitaへ技術記事を投稿する
✅なんでもいいので、小さいアプリをいくつか作ってみる

結果、効果はバツグンで自分が思っていた以上に広い視野でプログラミングが出来るようになりました。

また、

プログラミングは暗記するモノではなく、実現したい機能実現や問題を解決するための手段に過ぎない

と昔から言われている言葉が腑に落ちるようになってから、一気にラクになりましたね。

その結果、次の案件ではリモートワークの開発案件に携わることが決定。

自分がフリーランスとして実現したいことの一つだったので、決まった時は嬉しかったです。

リモートワーク案件スタート期: 常駐とは違う働き方のイロハを学ぶ

リモートワークをスタートして満員電車から解放された僕は、ダラけないために次のルールを決めました。

✅稼働時間が自由であっても、作業する時間は固定する
✅仕事とプライベートの線引きをはっきりさせるため、残業はしない
✅進捗報告は具体的かつこまめに行う

ルールを定めてから、常駐していた頃よりも増して集中出来るようにはなったのは大きなメリットでした。

しかし、リモートワークなので当然自分一人しか周りにはいないわけです。

わからない事があっても、基本的に自力で解決しなければなりません。

リモートワーク最初の案件では、常駐と同じように「わからなければ、聞けばいいか」というスタンスでいたため、同じプロジェクトのベテランエンジニアから次のような指摘を受けました。

「権限が足りない等、こちらの環境整備に起因する問題であれば質問いただければ調査できますが、ここが動かない、ここがnilになる等の作りの質問は、基本的にはご自分で解決していただかないと、プロジェクトとしてなかなか前に進めることができません。」

これを言われた時、正直かなり堪えました。。

図星かつその通りなので、ぐうの音も出ない気持ちだったんですよね。

結局その案件は2ヶ月で退場になってしまいましたが、そのエンジニアが勧めてくれたRubymineという有料テキストエディタを使うようになってからデバッグのコツを掴めるようになり、

次の案件からはうまく立ち回る事が出来るようになりました。

現在はB2B向けサービスを展開してる自社開発企業でリモートワークの日々を送っており、当面はこちらでお世話になりそうです。

まとめ: 続けたモン勝ち。地味だけどコツコツやれるなら確実に習得出来るのがプログラミング

簡単なタスクでさえこなせずに苦い思い出をした場面が多かったですが、それでもエンジニアをやれているのは、諦めずに続けられているからかも知れません。

厳しい現場で学べたことは、ドラクエで例えるとはぐれメタルを倒して一気にレベルアップ!するのに近いので、結果的によかったなと感じています。

契約がすぐに打ち切られたり、うまく仕事が出来なかったとしても、反省点を振り返ってその対策をすれば、少しずつ道はひらけてくると思うんですよね。

今回の記事が少しでも役に立てたら嬉しいです。最後までお読みいただき、ありがとうございました。