営業職の俺がエンジニアになる〜群馬Web化計画編〜

2017年に未経験からエンジニアに転職をした私が群馬でイノベーションを起こすまでの備忘録です。

未経験がエンジニアになるのにこれだけはやっておけ

ここ最近Twitterをやっていて、未経験でエンジニアを目指している人が増えてきているなぁと感じています。元々自分も同じ境遇だったこともあり、そういう方々が増えることについて嬉しさを感じることがあります。そして、そういった方々に是非夢を叶えてほしいと考えています。

自分は本格的に勉強を始めてから3ヶ月とちょっとの独学でエンジニアに転職をすることができたのですが、その中で未経験だからこそやっておいた方がよいことについてお伝えしていきたいと思います。

甘い考えは捨てる

いきなり少し辛辣な内容かもしれませんが、甘い考えは捨てる必要があります。「未経験でも採用してくれて、年収も出来る限り落としたくない」とか「出来る限り教育が充実している会社が良い」とか「受託はブラックっぽいイメージがあるから、自社サービスをやってみたい」などなど。

基本的には「未経験だから選ぶ権利はない」という気持ちでいた方が楽です。もちろん勉強している度合いにもよるし、実際にブラック企業に入ったら意味もなさそうだし、「選ぶ権利がない」という程求人が枯渇している訳でもないので、現実は選びたくなるもの。

なので、本当に「選ぶ権利がない」という話がしたいわけではなく、未経験でいきなり自分の理想に近づけるということはそんなに簡単ではないということが言いたかったわけです。

しかし、その状態から少しでも「選ぶ権利」を勝ち取っていく(転職の確率を上げる)ためには、この後に書くことを実践していった方が良いかなぁと思います。

とりあえずGitHub(Git)

エンジニアになるための第一歩は「分からずともコードを書くこと」だと思うのですが、そんな中でGitHub(Git)は必需品です。私も含めなのですが、何故か未経験からエンジニアを目指す人はGitHubを登録することに抵抗があるようで「もう少し勉強したら登録します」とか「今作っている物が形になったら使ってみます」とか「コードが綺麗に書けるようになってきたらやってみようと思います」という方が多いです。

私も全く同じ気持ちでいたので、なんとなく理由はわかりますが「使い方わからん」「何に役立つのかわからん」「自分のコードを公開するのが恥ずかしい」等、こんなところかなぁと。ただ、間違いなく言えるのはプログラミング言語を覚えるよりも先にGitの初歩的な使い方(最初はなんだか分からなくてもいいので)を覚えるのはお得です。

使い方がわからん問題

「使い方がわからん」という人はgit add .git commit -m "コメント"git pushだけでも覚えておけばOKだと思います。最初は分からなくても、使ってく中で気になったら調べればいいかなぁと思います。

まずはとにかく使ってみる、の姿勢は大事です。ちなみにコチラの書籍は、挿絵が多く、Gitの基礎にも触れており、かつ平文で分かりやすかったので、こういうのを読んで見るところから初めてみても良いかもしれません。

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

何に役立つのかわからん問題

「何に役立つのかわからん」という人もとりあえず触ってみたほうが早いです。人はメリットを感じる時か、やらたいとデメリットを被る時に行動すると言いますが、そんなことは四の五の言わず触ってください。笑

とは言っても実際に何に役立つかを知っておくことに越したことがないので私が思うメリットをお伝えすると、「エンジニアを目指している軌跡(証拠)になる」ということと「実際に現場で使うので予習になる」というこの2点が大きいです。Gitのそもそも用途のバージョン管理という概念もメリットではありますが、最初はあまりピンとこない可能性があるので、まずはこの2点をご理解頂けるだけで十分です。

エンジニアを目指している軌跡(証拠)になる

これは単純に面接などで、実際に「勉強しているんだぞ!」ということをアピールできるツールになるということです。Gitには自分の書いたコードや修正したコードが事細かに記録される機能があります。そのため「こういうコードを書きました」とか「これくらいの頻度で書いてます」とか「こんなに成長しました」ということが分かります。

GitHubがない状態だと「こんなに勉強しました!」と言っても立証するものがないので「本当か?」となってしまうところですが、GitHubがあれば「自分のアカウントのURLを見てください」で済みます。そして大抵のエンジニアの面接官は、GitHubを見てその人のレベル感や本気度を見極められます。

そしてそのコードをベースに話ができるので、未経験なのにエンジニアっぽい面接にすることができるようになり、めちゃくちゃ便利です。

実際に現場で使うので予習になる

これはもうそのままです。Web系で何かを開発している企業であれば少なくとも現場で使います(使ってなかったらヤバイかも)。使っているツールがGitHubではない可能性はありますが(大半はGitHubかBitBucketだと思います)大本のGitが使えれば差し障りはないです。

現場で使われているものを事前に習得しておけば入社後は楽になりますよね?っということで四の五の言わずに使いいましょう!笑

コードを公開するのが恥ずかし問題

分かります。あまりコードが書けない状態で誰かに見られるかもしれない恥ずかしさ。

大丈夫です。誰にも見られません。笑

自分から望んでコードレビューをお願いしない限り、あなたのアカウントを発見する手立てはほとんどないに等しいので、恥ずかしがらずに登録しましょう。(恥ずかしがってたのは私だけかな?笑)

とりあえずチュートリアル

プログラミングの勉強を始める際にインプットから入ることが多いんじゃないかなぁと思います。もちろん時間に余裕がある方であれば入門書を頭からお尻まで読み終えた後に、プログラミングを始めてもいいかとは思いますが、できることなら早くエンジニアになれることに越したことはないはず。

そんな時には何か作れるチュートリアル系の教材がオススメです。代表格はRailsチュートリアルチュートリアル系の教材の良いところは、インプットしながらアウトプットができるところです。入門書の難点はインプットからアウトプットまでの間が空いてしまうことです。せっかく読んだ内容をアウトプットする頃には、頭から抜けていることも多々あるかと。

そんな中で、その場で手を動かしながらインプットができるのがチュートリアル系教材の強みではあるので、最初は分からなくてもとにかくアウトプットの量を増やし、わからないところをあとで振り返る、というサイクルがなにげに効率が良いです。

先程のGitHubの話と組み合わせて、自分のアウトプットの軌跡を残していけば自動的に自分のポートフォリオが作られていきます。

Railsじゃないんだよなぁって方はUdemyというサービスを見てみると良いかもしれません。動画の解説付きのチュートリアル系の教材が多く登録されており、初回の購入は確か1,400円とかで購入が出来たはず(2回目以降は結構高かった気がするので初回のみおすすめします)なので、自分の学びたい言語に合わせた教材を選択することが可能かと思います。

いずれにしてもアウトプットをしながら、インプットをして何かを作ってみると言うのはエンジニアへの近道です。

とりあえずブログ

自分の場合、今の会社に入る時にこのブログが死ぬほど役に立ちました。選考の過程で面接官の方が読んでくれて、とても好印象に写ったようです。

ブログにはプログラミングに関することというよりは、未経験から勉強をしていく中で感じたことを中心に書いていました。そのあたりはどうしてもGitHub上から見えないものなので、どういうことを感じ、どういう工夫をしたのか、というエモーショナルな内容を補足的な感じで表現するにはブログはうってつけのツールだと思います。

プログラミングの勉強をしながらブログを書くっていうのはそれなりに大変ではあります。ただ、大変なことをやっている分、いざ転職活動をすることになった時には見返りはあるので、無理なく月1回〜2回くらいの振り返りをするつもりでスタートするのが良いかもしれません。

必ずしも書かなきゃいけないということではないですが、周りの未経験でエンジニアを目指している人との差をつけたければ、こういった工夫は大事かなぁと。

とりあえずこんな感じ

ここまでの内容をまとめると「とりあえずGitHubに登録して、とりあえず何か作ってみて、とりあえず最低月1で振り返る」という感じです。この内容を3ヶ月程度続けていれば少しずつ実績がを積むことができるはずです。

この内容を続けて初めて「未経験からまともな企業に就職をする」スタートラインに立てると思っても良いかもしれません。そして、これをベースラインとして自分なりの創意工夫ができるか出来ないかが、命運を分けると思っても良いかもしれません。

それくらい上には上がいると思って、万全の体制で勉強をしても損はないかなぁと思いますので、是非学習の参考にして頂ければと思います。

転職活動を始めたばかりのエージェントの選び方はコチラの記事でまとめていますので合わせてどうぞ。

toyokappa.hatenablog.com