エンジニアになり1年が経過したので、この1年を振り返ってみようと思う。
こんな方に読んでいただきたいと思っています。
- 駆け出しエンジニアの方
- これからプログラミングを学ぼうとしている方
- 現在営業として働いているけどキャリアに不安のある方
- エンジニアとして未経験採用していただくことを目標にしている方
- エンジニアとして働き始めたばかりの方
- 受託開発企業に興味のある方
- エンジニアとしてのファーストキャリアの選択に迷っている方
このような方々の参考になれば嬉しいです。
特にあまりオブラートに包まず自分の感じたことをそのまま書きつづろうと思っていますので宜しくお願いします。
※この記事は完全に独断と偏見で書き綴りますので宜しくお願いします。
筆者のスペック
- 入社時は27歳⇨現在28歳
- Fラン大学卒業
- 高校、大学はまったく勉強してこなかった。(学年で下から数えられるくらいのテスト順位)
- 中学まではテスト成績トップ10~ 20くらいだった、、、
- これまでサッカーばかりやってきた(一応全国レベルではあった)
- 前職は営業(転職3回目)飛び込み営業ばかりやっていた、、、
- 根拠のない自信はある
こんな感じのスペック。
そして、現在
- 受託開発ベンチャー企業に勤務
- PM補佐のような立ち位置で案件に携わることが多め
- 上流工程と言われる業務が多め
- たまにコードも書く(RubyかVueがおおめ)
- まだまだ伸び代しかない
- 純粋に仕事も会社にいることも楽しすぎる
- 実務経験1年程度にしては割といいお給料をいただいている
- ほぼストレスなく働けている、たまにきついときもあるwww
なぜエンジニアになったのか
大学卒業をしてから、営業職として働いていた。しかし、なかなか自分が思い描いていた成果やキャリアを歩めずにいたい。ある営業会社を退職後、自分のキャリアが全く誇れるものではなく絶望していた。しかし、このままではいけない、何かを変えなければいけないと思った。立ち止まっているわけにはいかないと。そこで、思いきってプログラミングを勉強してみようと思い、勉強を始めたら止まらなくなってしまった。自分がプログラミングに時間を費やした分だけ、自分の成長を感じることができた。結局、勉強はほぼ毎日1年近く継続することができた。営業の時には感じることのできなかった、たしかな成長を感じることができた。この経験はなんとなく、幼い頃からプロサッカー選手を目指してトレーニングに励んできた感覚に似ていた。「自分が求めていたのはこれだ」と強烈に感じた。もうこれしかない、と思った。自分の人生を、キャリアを、心を、変えるには。
という感じでエンジニアになることを決心した。
プログラミングはスポーツに似ている
プログラミングはスポーツ似ている気がする。いや、似ている。サッカーをやっていた頃は、コソ練みたいなことが好きだった。みんなが練習をしていないときに、こっそり練習をして、ライバルに差をつけることが快感だった。中学生の時は、学校に午前2時頃きて自主練を朝練前にしてみたいなバカなこともしていた。それと同じ感覚を思い出すことがこのプログラミングではできる、と感じたし、感じている。スポーツは練習すればするだけ上手くなると思う、基本的には。(あるレベルに到したら、もちろん、ただ量をこなすだけでは戦っていけないが)それが非常にスポーツに似ていると思う。要するに、コツコツ継続してプログラミングを勉強することができる人は確実に成長していけるし、この業界でエンジニアとして戦っていくことができる。だから、スポーツをやっていた人は、ぜひプログラミングに挑戦してほしい。必ず、あの時の感覚を思い出すことができると思う。てか、スポーツ本気でやっていた人は、全員エンジニアになればいいと本気で思っています。
エンジニアになるまではどうやって勉強をしてきたか
まず、自分の信念に「楽しさに敵うものはない」というものがある。どんな仕事も、勉強も、スポーツも、趣味も、楽しんでいるやつには勝てるはずがないと思っている。だから、まずはプログラミングを楽しむことが必要だと感じた。だから、最初は簡単なものでもいいから楽しみながら学べる教材から手をつけようと思った。そこで最初に教材として選択したのが、あの有名なプロゲートだった。
ちなみに現在はLv.400になったwwwww
プロゲートをとにかくやり込んだ。それが純粋に楽しかった。もちろん、やる気がでないときもあったが、やる気が出ない時でもとにかく1行でもコードを書くことを心がけた。どれだけやる気がでない日も。ちなみにやったコースは、HTML,CSS,JavaScript,Ruby,Ruby on Railsなどなど。とにかく、夢中になってやりまくった。
その後は、Railsチュートリアルに挑戦した。これは正直わけわからなかった。普通にむずかしかった。未経験でこれがすらすらできる人は本当に素晴らしいと思う。結局、最後までやらなかったと思う。結局最後まで完走したのはエンジニアとして働きはじめて数ヶ月が経ったときだったwwww。これはあまり見習わない方がいいと思う。ただ、「むずすぎる」と思ってプログラミングを嫌いになってしまう状態をできるだけ作らないように心がけるのは非常に大切なことだと思う。
これからプログラミングを勉強する人はぜひチャレンジしてほしい。
多分勉強したこととしてはこのくらい。あとUdemyで教材をかったりしたかもしれないが、あまり記憶がない。w
どうやって就職活動をしたか
1年近く勉強をして、ある程度プログラミングがどういうものかわかった感覚があったので、本格的にエンジニア転職に向けて動き出すことを考えた。そして、基本的にはWantedlyでたくさんの企業にコンタクトを取った。
多分余裕で100は超えていたと思う。スペックに書いているとおり、自分は転職を3回している。しかも、年齢的にもそこまで若くない。それでも、話を聞いてくれる企業は意外にたくさんあった。でも、大半はSES企業だった。SES企業が悪いわけではない。ただ、いま振り返ってみると、だいたいオファーをくれたSES企業は最初の半年は家電量販店で仕事しながら勉強するというものだった。行かなくてよかった。まじで。そう思った理由は後述する。何度も言うが、自分には誇れる経歴や若さがなかった。ただ、根拠のない自信と、どうしても自分のこれからを変えたいという強烈な想いはあった。そんな思いを抱きながら、就職活動をしているとある企業とで出会った。それがいまの会社だった。
入社する前にチーム開発を経験
いまの会社に入社する前に、チーム開発をする機会をいただいた。多分、実務未経験の人に足りないものの一つはチーム開発の経験だと思う。とあるプログラミングスクールでは、チーム開発を経験させてもらえると耳にしたことがあるがそれが実務とどのくらい近いものなのかはわかりません。が、僕が入社前に経験したチーム開発はかなり実務に近いものだったのではないかなと思う。このチーム開発では以下のような経験ができた。
- 定例MTGはどんな感じでやるか体験できた
- 実際のプロジェクトでどのようなドキュメントがあるか知れた
- プルリクエストとはどういうものか知れた
- 自分のコードがマージされるまでの流れを知れた
- 周りの未経験エンジニアの温度感を知れた
- 先輩エンジニアの人柄を知れた
- DockerとかGitlabとか使えた
- ER図を1から考える経験ができた
思いつくのはこんな感じ。多分10人以上の人が集まってこのプロジェクトは始まったが蓋を開けてみると、率先してこの活動に取り組んでいる人間は3人くらいだった。結局その3人が同時に入社をすることとなった。こういうチャンスを手に入れた人はぜひ積極的に動いて欲しいと思う。多分、転職活動をしながらこのチーム開発をすることは結構きついし、なんか先が不安になる感覚があると思う。でも、それは多分みんな一緒。そういうときに、率先して動けるか、そんなところを企業は評価してくれるんじゃないかなと思う。多分、中途半端が一番自分の精神衛生的にも企業の評価的にもよくないからやるかやらないかはっきり腹を括るみたいなことは考えたほうがいい。
実務未経験ならどうにかして実務に近い経験が積める環境に潜り込む
もし僕のようにキャリアや年齢に不安を抱えている駆け出しエンジニアの方がいるなら僕はこう伝える。「どうにかしてチーム開発を経験できる環境に潜り込め」と。家電量販店で働いている暇なんて絶対にない。実務に近い環境に飛び込むこと、ここから得ることはめちゃくちゃ多いと思う。例えば以下のようなことがあると思う。
- 自分がイメージしていたエンジニアとしての働き方のギャップを知れる
- 周りのエンジニアの温度感を知れる
- 実際のプロジェクトの進み方を知れる
多分もっと山ほどあるけど、大きくはこんなことかなと。
みんな初めは、素人だった
そう。みんな初めは素人だった。同じ駆け出しエンジニアの人でももしかすると「あの人はこんなことまで知っていてすごい」と感じることがあるかもしれない。でも、そんなことは以外とどの企業もそこまで重要視していないと思うし、そんな劣等感は感じる必要がない。実務未経験者の差なんて、ゴミみたいなもの。それよりも、熱意とか、なんとか任されたタスクをやり遂げる意思や、知らないことを知ろうとする強烈な負けたくない成長したいという想いみたいなものが評価されると思うし、僕はそう世の中はあるべきだと思っている。(完全に個人の意見ですw)
入社してからの1年間
やってきたこと
期間 | 言語 | 役割 |
---|---|---|
約3ヶ月 | Rails Nuxt | 開発 |
約3ヶ月 | Rails Nuxt | PM補佐、開発 |
約8ヶ月 | Laravel Nuxt | PM補佐、開発 |
いま | 未定 | PM?補佐?、開発 |
このような感じの経験をしてきた。かなり貴重な経験をしたと思う。
ありがたいことにRuby,PHP,Vue.jsなどWEB系?と呼ばれている言語での開発を経験することができた。特に、入社したばかりのころにスクレイピングのタスクを割り当てられ、それを完了させたときはかなりの達成感とやりがいと成長を感じた。その反面まじで辛いかったこともあったが、、、、。
使用したツールや言語など全部書き出してみる
Ruby,RubyonRails,Vue.js,Nuxt.js,Sass,pug,HTML,CSS,Docker,PHP,Laravel,EC2,ECS,S3,CloutWatch,EC2,Gitlab,Github,Trello,Backlog,Skitch,xmind,lucidchart,lucidspark,miro,Slack,chatwork,Stripe,drowio,SQLserver,DBeaver,Postman,DeepL,XD,Figma,mailtrap,plantUML,notion,Discord,googlemeet,zoom,,,,
ちょっと思い出せないけど、もっと色々あると思う。
1年経過したけどまだまだなにものにもなれていない感覚
1年経過したが、まだまだなにものにもなれたいない感覚がある。ただ、確実に成長している感覚はある。入社したばかりのころは正直めちゃくちゃつらかった。先輩や同じ未経験で入社したメンバーの言っていることが全く理解できないことが何度もあった。いまもたまにあるwww。が、その頻度は確実に減っている。
次の1年で取り組もうと思っていること
- 徹底してRubyを極める
- 新しい言語や知識も取り入れる
- わからないことを猛烈に調べて確実に自分の脳みそに植え付ける
こんなことが自分の中のテーマ。
特に印象に残っている先輩エンジニアの言葉
正直入社したばかりの頃はめちゃくちゃ辛かった。何回やめようかと思ったかわからないwww。それでも、なんとか1年が経過した。特に先輩エンジニアに言われて印象に残っていることばがある。「いつになってもわからないことばかり」多分こんな感じの言葉。なるほどなと思った。多分、東大出身だろうが、エンジニアとして働く上では常にわからないことと向き合う形になる。技術は常に変化しているし、世の中の仕組みも、人々の感性も、変化し続けている。とくにこの業界はそのスピードが尋常じゃない。だから、実務経験が何年になろうと、わからないことは常に出てくる。だから、その都度わからないことと向き合い解決していかなければいけない。なにが言いたいかわからなってしまったが、とにかく、挫けずに必ず課題を解決してやろうとする強烈な信念のようなものが非常に重要だということを伝えたいです。
最後に
何かのお役に立てたら幸いです。
以上。