blog&.title

blog&.description

全部無料の頃の Progate で Rails を勉強してから時が経ち社会人2年目エンジニアしてる話

ことのはじまり

プログラミングについては触れないアカウントにするつもりだったのに、間違えて呟いてしまったらそこそこいいねもくるし、Progate の CTO の方から読みたいです!!なんてリプが来てしまった。。このブログも別目的で用意してたのに。。。
とはいえ、Progate にはものすごくお世話になったので書こうと思います。ブログ書くの下手くそなので読みづらいかもしれませんが、頑張リマス!

全部無料の頃のProgateでRailsの勉強して、2週間でサービスのプロトタイプ作って、逆求人乗り込んで、内定もらって時が経て、社会人2年目エンジニアしてるまでの流れ

f:id:something-review:20180729032414p:plain

ざっくりこんな感じです。本当はもっと色々あるけど書ききれないので省略しました。 それまでプログラミングはC言語を授業でちょっとやったくらいで、ほぼほぼ初心者でした。

Progateと出会う

prog-8.com

大学3年生の夏くらいだった気がします。その頃は全コース無料でやりたい放題でした。やりたい放題なのにその頃からスライドは分かりやすくてめっちゃいいなと思ってました。ただ途中から有料になって3つくらいプランがあったのは覚えてますが、いつから有料になったかはハッキリ覚えてません。 ただ最初は迷った末に総合職で就職しよう!となり、ここから3〜4ヶ月くらいは一旦エンジニアから遠ざかります

総合職の第一志望に落ちて、エンジニアに転向する

忘れもしない4年に一度の2月28日。総合職ならここしかないと思っていた第一志望の企業からお祈りをもらいました。1ヶ月くらい落ち込んだと同時に、このまま総合職で他の企業を受けていても自分のやりたいことができないのでは?と思い、エンジニアに転向する決意をします。エンジニアをしながら仮説を立てる部分とかアイデアの部分に関わっていくことで、自分で考えたものを自分で作れる人になろうと思いました。

とりあえず何か作ろう

とりあえずなんか作ろうと思ったので、Progate の RubyRails と HTML/CSS のコースを1周ずつしました。その後、サービスの仮説を考えたり、仮説を検証しうる最小の機能ってなんだろうって考えたりして、さっさと作り始めました。一応理系学生だったので研究室にも通いながら2週間くらいで作ったと思います。
この頃は何が正しいかもよく分からず雰囲気でコードを書いていました。なんとか動くけどバグだらけのプロトタイプでした。

強行突破でエンジニア逆求人に出る

そもそもエンジニア逆求人ってなんだ

エンジニア逆求人とは、自分の作ったモノを企業にプレゼンして「自分こんなの作りましたよ!どうですか!採用してください!」って感じの就活イベントです。
参加者の中で自分が一番できないやつ(あえてエンジニアとは言わない)だったと思います。運営の方にも参加を少し渋られていたのを覚えています。そういう意味で強行突破でした。

作ったプロトタイプ

行きたい飲食店に一緒に行ける人を探すマッチングサービスのプロトタイプを作りました。お店を探して、相手を見つけて、メッセージができるところまでを作りました。最近ペコッターと連携した話題のDineとイメージ近いかもしれません。

dine.dating

作ったものはなんだか良さそうには聞こえますが、技術的にはポンコツでした。技術的に工夫したところを答えられないし、テストはないし、バグだらけでちゃんと動かないし、設計もクソもないし、間違いなく人生史上最悪のアプリケーションでした。そんなクソアプリケーションを持って行った僕でも、ある企業からイデアと行動力がいいと褒められオフィスに招待されることになりました。

内定をもらう

その後、何回か話して、内定をもらいました。
クソコードでもいいから自力で何か作って人に見せるってすごく大事だなって実感しました。

新卒エンジニアとして入社

最初の1年間は、上司から学びのサイクルをちゃんと回せているか?と口を酸っぱくして言われていました。いま何ができていて、何ができていないのか、できていないことをできるようにするにはどうすればいいのかを真剣に考えてやっていました。
あとこれは本当に運が良かったのですが、入社した企業の研修とか育成の枠組みがすごくしっかりしてました。中の人バレするので研修内容などは言えませんが、他の企業のエンジニアの話を聞いていても、かなり丁寧に育ててもらったなと思います。この環境じゃなかったら、自分は本当にやれていたのかどうかは定かではないです。環境設定も大事ですね。

2年目エンジニアとしてガリガリコードを書いてます。
今ではdb設計ちゃんとやるし、indexちゃんと貼るし、テストも書くし、見積もりしてタスクにポイントつけるし、KPTするし、オブジェクト指向も意識します。オブジェクトの振る舞い責務がどうのとかって言ってます。
1年目とは違い戦力として数えられていて、現場で成果を出さないといけない立場なので、趣味でやってる時とは比べ物にならないくらい色々大変です。ただ今でも技術を学ぶのは面白いし、仕事もなんだかんだ楽しいです。
そしてこの1年間で、できることがかなり増えました(とは言ってもまだまだひよっこですが、、、)。プロトタイプを作ったあの頃から2年、自分がこんな風になれると全く思っていませんでしたが、続けていたらだいぶ変われました。

伝えたいこと

自力で何か作って、人に見せるか世の中に公開する

人によっては「エンジニアになるの考え直した方が良いよ」なんて言ってくる辛口の人もいました(今はそんな人いないかもしれない)。一方で、テストがなくてバグだらけでも「それ良いね」と言ってくれる人も一定数います。僕の場合はそれ良いねが内定につながりました。
自力で何か作れば見てくれる人は必ずいると思うので、ぜひ自分の作りたいものを作って欲しいなと思います。

正しい情報を手に入れる

正しい情報を手に入れるのって、初心者のうちは一番難しいかもしれません。今となっては当たり前ですが、公式ドキュメントを見るとか、エラーメッセージは読むとかも最初は分からないですよね。以下がオススメです。

  • 現役のエンジニアさんとペアプロしてもらう
  • 現役のエンジニアさんに質問できる場に行く
  • 現役のエンジニアさんにオススメの本を教えてもらう

そうです。現役のエンジニアに聞くのが一番いいと思います。「わざわざ人に聞かなくても、ネットで検索したら出てくるじゃん!」と思う人もいるかもしれないですが、現役のエンジニアに聞く方が圧倒的に信頼性の高い情報を得られると思います。
でもこれって正直東京在住じゃないと結構難しいんですよね。自分も学生時代は東京じゃなかったので、オフラインで聞ける人が全然いなくて苦労しました。せめてペアプロのマッチングサービスとかあったらいいのになぁ。。。
僕のオススメでよければ本とか聞いてください。

楽しむ

これが一番重要だと思ってます。何事も楽しいと続けられますよね。
「技術はあくまでも手段」って言葉もあるんですが、個人的には純粋に面白いから技術を学ぶのもアリだと思います。全部が全部何かの手段じゃなくても良いんじゃないかなーって思います。

おわりに

僕は自分なんかが本当にエンジニアになれるのかな、、と思っていた時期もありました。新卒で入社してからも言っていた気がします。
今だから自信を持って言えますが、少しずつ改善しながら継続して努力を続ければ間違いなくなれると思います。この記事が今エンジニアになろうか迷っている人の背中を押すきっかけに少しでもなれたら嬉しいです!
すごく雑なまとめでしたが、最後まで読んでいただいてありがとうございます! あと Progate 良いよ!