Re:ゼロから始めるエンジニア生活

## ゼロから（はじめに）
今回はこれからエンジニアになろうという方向けに、やっておいた方が良いことをまとめてみました。少しでも誰かの役に立つと嬉しいです。
何番煎じだよってタイトルですがそこは気にせずいきましょう。よろしくお願いします！

### 対象読者
- これからエンジニアになろうと思っている方
- エンジニアなりたての方
- エンジニアになってからどんな勉強をすればいいのかわからない方

#### スペック（職歴）
- エンジニア歴４年
- フロントエンドエンジニア歴３年

主にweb画面制作やアプリ開発、デザインシステムの構築などをメインに関わらせていただいてます！

## 踏み出した一歩（資格を取ろう）
エンジニアになりたいけど何をしたらいいかわからないという方は、まずは資格をとりましょう。私は文系の大学へ行き、エンジニア育成塾などにも通わず、未経験でこの業界に入りました。会社では研修がありましたが、正直ついていけず・・・。そこで取っ掛かりとして資格をとりました。この業界に入って歩き出すにはまず0を1にする必要があります。それをしてくれるのが資格です。

>資格をとったところで仕事には生かせないのでは？
無駄な勉強も多いって聞く・・。

それも間違いではないと思います。ですが、最初は0を1にすることを優先すべきです。例えば英語の勉強をしようとしたときに急に実践！海外留学！とはなりませんよね。まずは単語を覚えたり、文法を覚えたり、文化に触れたりするはずです。この業界も一緒です。その足がかりとして資格を取るのが手っ取り早いしわかりやすい。それでは私がおすすめする資格をいくつかご紹介します。

- 基本情報技術者試験
https://www.jitec.ipa.go.jp/1_11seido/cbt_sg_fe.html
- HTML5プロフェッショナル認定試験レベル1
https://html5exam.jp/outline/lv1.html
- Java SE 11 Programmer I（Java Silver）
https://www.oracle.com/jp/education/certification/1z0-815-jpn-48261-ja.html
- aws認定試験（ソリューションアーキテクトアソシエイト）
https://aws.amazon.com/jp/certification/

これだけ取れば歩き出しは十分だと思います。

## 次なる場所（継続してコードに触れよう）
資格を取ったら次は自分の興味のあるトピックでプログラミングをしましょう。なんでも良いです。好きな言語・FWで何か動くものを作りましょう。そしてそれを是非継続してください。技術は日々進化し、それに合わせて知識もアップデートしていかねばなりません。エンジニアになったからには学び続けることが宿命のようなものなので、それを受け入れて欠かさずにコードに触れましょう。ただし、しんどくならない程度に・・笑

## 攻略戦（ググり力を鍛えよう）
ググり力とは、わからないことをgoogleで調べる力のことです。そのままですね。この業界、わからないことはある程度、というかほとんど自分で調べる必要があります。調べてもわからないことは基本的には

1. そもそも何が問題か（何で悩んでいるのか）整理できていない
2. 調べ方が悪い
3. 問題を履き違えている
4. 解決方法が間違っている

のいずれかです。最初は慣れるまで調べるのにかなり苦労するかと思いますが、頑張ってください。だんだん調べ方のコツが掴めるようになります。

## 勇気の意味（質問力を鍛えよう）
個人的には初期にかなり必須となるスキルです。先ほど、わからないことはある程度自分で調べる必要があるという話をしましたが、調べ方や発生経緯によっては一人で解決できない場合もあります。その場合に必要になってくるのが質問力です。タイトルを勇気の意味にしていますが、これは私が質問するのには勇気がいると考えているからです。私がエンジニアになりたての頃、質問の仕方が分からずに相手に無駄に時間をとらせてしまったり、うまく意図が伝わらないことで問題が解決できずにしんどくなってしまうことが多々ありました。突発的にその場で言葉を紡いでも相手には伝わりにくいですし、効率も悪いです。以下のことを整理した上で質問すると相手にも状況が伝わりやすく、自分の頭も整理できるので良ければ活用してみてください。

**1. その問題はどういう経緯で発生したのか**
=> そもそも着手しているタスクの方向性が間違っていないかを確認するため
**2. どんな問題なのか**
=> 悩んでいる問題そのものを確認するため
**3. 試した解決策とどうしてダメだったのか**
=> 問題に対してどのようなアプローチをしたか確認することによって効率的に対策を練られる

また、上記を意識して、分からないことは積極的に質問するようにしましょう。30m-1h悩んだら質問すると良いかと思います。

## 鬼がかったやり方（たくさんアウトプットしよう）
どんな小さなことでもいいので、アウトプットする癖をつけましょう。コーディングでもドキュメントでもライトニングトークでもなんでも良いです。インプットももちろん大事ですが、アウトプットの方が大事です。知識は使ってこそなので、たくさんアウトプットしましょう。アウトプットの手段をいくつかご紹介します。

### コーディング系
**Github**
アカウントを作りましょう。絶対使います。
https://github.co.jp/

**CodeSandBox**
簡単なソースコードを共有したいときにフォークして使ったりします。
https://codesandbox.io/

### ドキュメント系
場合に応じて好きなものを使ってください。ただ、どこに書けばいいのか迷ったりするので独断と偏見で使い分け方を記載しておきます。

**qiita**
技術的記事を書きたいときに使用するイメージ。
https://qiita.com/

**zenn**
より技術に踏み切った記事を書きたいときに使用するイメージ。あとは個人的な環境構築メモとか。
https://zenn.dev/

**note**
技術特化というよりは自伝など、もっと広い範囲での記事を書きたいときに使用するイメージ。
https://note.com/

### イベント系

**campass**
ここでよくLT（ライトニングトーク）会など様々なイベントを開催してます。
https://connpass.com/

## 魔女たちの茶会（友達を作ろう）
技術を語り合える友達や仲のいい同僚や先輩を作りましょう。オフラインの勉強会に参加するのも◎。そして技術用にSNSを始めましょう。個人的にはtwitterがおすすめです。知識のインプット・アウトプットはもちろん、困ったときにつぶやくと反応をもらえたり、つぶやきがオフラインで会うきっかけになったり、副業探しやイベントへの参加などなど、作って損はないです。技術垢を作ったら、技術本で見かけた著名人やフォロワー数が多いつよつよエンジニアを片っ端からフォローしましょう。そしてついでに私とも繋がりましょう（？）笑


## ゼロから始めるエンジニア生活（まとめ）
これらを鍛え上げたあなたはもう立派なエンジニアです。自信を持ってこれからのエンジニアライフを謳歌してください！
ここまで読んでいただき、ありがとうございました。