工場男子からIT男子にジョブチェンジした話

# はじめに
この記事は未経験からWebエンジニアに転職した私の経験のまとめです。自分が転職する際に何をしたか、何に気をつけたかを書きました。
これからプログラミングを始める方やエンジニアとして転職しようとしている方の参考になれば幸いです！

# プログラミングの学習をする前に
早めに**転職の目的を明確にしておくこと**は重要だと思います。
人は明確な目的がないと挫折しやすいものです。特に未経験からだと、学習で詰まることが何度もあります。そういうときに踏ん張れるか、挫折してしまうかはこういう部分なのかなと思います。
また、企業は未経験者を雇う時、知識よりもやる気を見ていますので、ここが不明瞭だと転職でも大いに不利だと思います。

私の場合、化学の発展させたいという気持ちがベースにあり、そのためにはITを化学へ持ち込むの一番近道だと考えて転職を決意しました。

# 学習する言語に悩む
**初心者あるあるですね。**私もどの言語を学ぶかでとても悩みました。
私は当時３０歳と若くなかったこともあり、短期間で経験が詰めそうなベンチャー起業を志望していました。そこで、初心者向けの言語であり、ベンチャーでよく使われていると聞いたRubyを選択しました。

ただ、後から考えると何でも良かったと思います。それよりもまずは学習を始めて１つの言語を覚えてしまうことが重要なので、**悩むぐらいだったらサイコロか何かで決めるといいと思います。**

それでも悩む人のために、初心者向け（と言われている）言語について、個人的な感想を載せておきます。

|言語|感想|
|:--|:--|
|Ruby|おすすめ（ベンチャーでよく使われているらしい）|
|Javascript|おすすめ（ブラウザだけあれば学習できる！）|
|Python|おすすめ（AIに携わりたいなら）|
|PHP|やめとけ|

# 学習方法

### [Progate](https://prog-8.com/ "Ptogate")
まず、お金のかからない方法でプログラミングを体感することからはじめました。
学習できる言語が豊富で、かつ安価なProgateはおすすめで、私もこれからはじめました。
ただ、手を動かすことが少なく学習してると眠くなったので、手を動かしながら学ぶ方法を探しました。


### [作りながら学ぶRuby入門](https://www.amazon.co.jp/dp/4797371277 "作りながら学ぶRuby入門")
それで行き着いたのがこの書籍です。名前の通りですね。古いですが、初心者がつまづきやすいハッシュやクラスについても詳しく丁寧に書いてあり、おすすめです。
Youtubeに[紹介動画](https://www.youtube.com/watch?v=kfTjDsmQuiQ "作りながら学ぶRuby入門紹介動画")もあります。

### プログラミングスクール
私はこれらをやっているうちに、プログラムってどうやって動いてるんだ？みたいな疑問を持つようになりました。irb（Interactive Ruby）でメソッドの仕組みとかを調べていくうちに、プログラミング楽しい！って思うようになり、スクールに通うことを決めました。
これは結果、通ってよかったです。やはり、**一人で学ぶのと、誰かに聞きながら学ぶのでは学習スピードに雲泥の差があります。**

スクールを選ぶ基準は教材の質よりも、**自分の学習スタイルに合ったスクールを探すという観点で決めると良いと思います。**

* オンラインで質問できるか
* 質問の対応時間
* 定期的なカウンセリングは何回あるか
* 教室へ通えるか

私が通ったスクールは教室へ通えるタイプだったのですが、これがとても良かったです。自分は自宅だと長時間集中できないタイプなので、ありがたかったです。また、同じ目標を持った人とたくさん知り合えたので、かなりモチベーションアップになりました。

スクールに通いだしてからは、会社に通いながら平日は3~4時間、休日１０時間くらい勉強していたと思います。カリキュラムを終えるまで約1ヶ月、その後はオリジナルアプリ作成に入りました。

# 一通り学んだあとにやったこと

### 勉強会参加
プログラミングを勉強し初めて1ヶ月くらいで初参加しました。「プログラミングをはじめて１ヶ月です！工場で働いていました！」っていうと割と受けがよく、知り合った人から企業の情報とか聞いていました。

勉強会探しは[Conpass](https://connpass.com/ "Connpass")と[Doorkeeper](https://www.doorkeeper.jp/ "Doorkeeper")を利用していました。
Doorkeeperは自分の興味があるタグを登録しておくとメールで知らせてくれるので便利です。

### 一歩踏み込んで学習
学んでいて感じた疑問をできる限り、掘り下げながら学習しました。
**転職に必須ではないですが、転職後にとても役立っていると感じています。**

そのときは書籍で学習することが多かったです。参考までに載せておきます。

* [改訂2版 パーフェクトRuby](https://www.amazon.co.jp/dp/4774189774 "改訂2版 パーフェクトRuby")
    * この本ではなくてもいいですが、系統的に学べる本を読んでおくとバラバラだった知識がまとまるため理解が深まります。
* [Ruby on Rails 5アプリケーションプログラミング](https://www.amazon.co.jp/dp/4774188832/ "Ruby on Rails 5アプリケーションプログラミング")
    * アプリを作る時にめっちゃ役に立ちました。
* [オブジェクト指向でなぜつくるのか 第2版](https://www.amazon.co.jp/dp/ "オブジェクト指向でなぜつくるのか 第2版")
    * 身内の勉強会で発表したときに勉強しました。初心者用の教材は大抵オブジェクト指向を比喩的な表現で書いているので、学び直しておくと、「教えられたことと違うやん！」となって楽しいと思います。
* [新・明解C言語 入門編 (明解シリーズ)](https://www.amazon.co.jp/dp/479737702X/ "新・明解C言語 入門編 (明解シリーズ)")
    * Rubyのソースコード読むために勉強しました。
* [Rubyのしくみ　Ruby Under a Microscope](https://www.amazon.co.jp/dp/B01IGW56CU/ "Rubyのしくみ　Ruby Under a Microscope")
    * Procを理解するためにコンパイルの部分を、ガーベージコレクションを理解するためにメモリ管理の部分だけ読みました。

# 転職活動
面接で心がけていたことは
　①自分がなぜエンジニアになりたいか、そのために何をしてきたかをしっかり説明すること
　②なんでもかんでもさらけ出して素直に話すこと

どちらも、自分に合っている企業に就職することを目的にしています。

私的な考えですが、就職は恋愛みたいなもので、良い悪いというより、合うか合わないかだと思います。
実際に面接では、自分がまったく勉強ができなかったこと、他大学に編入して挫折し、引きこもったことなども話しましたが、経緯をしっかり話すとネガティブな出来事でも好印象にとらえてくれたと感じています。
そして、そういう部分も含めて受け入れてくれる企業が一番マッチする企業だと思います。

# さいごに
とにかく行動することが重要です。
「いったれー！」って気持ちで行動すると、意外といけます。

[こちらの動画](https://www.youtube.com/watch?v=f0-s8hGmFWk&t=4s "耳が痛い動画")が非常に参考になります。 ~~耳が痛いです。~~