【新人教育】駆け出しエンジニアがやったほうがいいこと，やらないほうがいいこと

## はじめに

友人にノリでお前もITエンジニアにならないか..?とか送ったら興味を持ったようなので，自分がベストだと思う
方法で支援して見ようかなと思ったのが記事を書いたきっかけです。
どうせならこういうの記録に残せばおもろいし，私のLaprasのスコアも上がりそうなので...

私は非情報系からエンジニアになって現在3年目ですが，駆け出しエンジニアのころにもっと早くやっておけば良かったなと思うことややっておいて良かったなと思うことがたくさんあるのでこの記事を通して皆様に伝わればいいなと思っています。

## やったほうがいいこと

### 1. SNS作成

IT業界の情報は移り変わりがとても早いです。
書籍で体系的に知識をつけることも大切ですが，書籍化されるまでにはある程度のタイムラグがあるので，ある程度最新情報もキャッチアップしていくことが必要です。
以下のSNSを最低限作ると良いでしょう。

1. [GitHub](https://github.com): 名刺みたいなもん。とりあえず作ろう。
2. [Twitter](https://twitter.com): できればエンジニア用アカウントを作ったほうがいいかも。ネカマするとフォローワーが増えやすいがオフラインのイベントに行きづらくなるので自分はあまり推奨しない。
3. [Qiita](https://qiita.com/): 手軽に面白い記事が見れる。投稿も簡単。最初のテックブログはこれ。
4. [Zenn](https://zenn.dev/): Qiitaと差別化点があるとしたら，GitHubのリポジトリと連携できるのと，Zenn Booksが使えること。
5. [lapras](https://lapras.com/): いろいろなSNSを評価してエンジニアスコアを出してくれる。pull requestを出したり，テックブロクを書くとスコアがあがって努力が可視化されるのがよい。転職活動をしていなくてもいろいろな企業の人とカジュアル面談できて業界の知識を広げられる。
6. [conpass](https://connpass.com/): 勉強会情報やイベント情報は一旦これを見ておけばよい。
7. [Speaker Deck](https://speakerdeck.com/): 過去の発表資料が見れる。

### 2. 勉強会参加

自分はそもそも就職するまで地方に住んでいたことやコロナもあったのでオフラインの勉強会に参加したことがほとんどなかったのですが，勉強会に行くと技術力が高まるだけでなく，エンジニアとしての自分のレベルを客観的に評価できたり，自分の所属している組織の良い点悪い点が見えてきて視座が高くなります。
[conpass](https://connpass.com/)をウォッチして週一くらいはイベントに行ってみましょう。勉強会に来る人はツヨツヨエンジニアが多いですが，みんな質問すると優しく教えてくれます。
あと，SNSに比べて最新情報の深いところやぶっちゃけ話を聞けたり，深い話が聞けて楽しいのでぜひ。

### 3. メモを取る

- 勉強したこと，初めて知ったこと
- エラーの解決方法，環境構築手順

等を記録をつけることを習慣にしましょう。記録をしていないと同じエラーに遭遇したときにまたググる羽目になり時間の無駄です。また，記録する過程で思考が整理され，理解が深まったり，復習しやすくなります。

### 4. ある程度構文を暗記することを許容する

コードを読むときにコードが読めない原因としては，主に3つの原因があります。
> [プログラマー脳より](https://www.shuwasystem.co.jp/book/9784798068534.html)
>
> - 知識不足: 文法を知らない --> 長期記憶の問題
> - 情報不足: 内部処理がわかっていない --> 短期記憶の問題
> - 処理能力不足: 処理ステップを理解するために変数の中間値を書き留めておくなどの作業が必要になる。 --> ワーキングメモリの不足

この中で最も簡単に解消し，認知的負荷を下げられるのは文法の暗記なので，自分の得意な言語一つくらいはある程度構文を覚える努力をしてみるとよいです。特に，よく調べるものを覚えると時間短縮にもなります。

### 5. パソコンを買う

現代ならメモリ16 GBは最低ほしいです。予算と相談しつつにはなりますが，PCが重たいことがストレスになるようでしたら，買い替えを検討しましょう。

### 6. 具体的な質問をする

- 使用しているOSやソフトウェアのバージョン
- 何を試したか
- エラー文があるならそれを載せる
- スクリーンショット等も使う

このあたりを意識して質問するようにしましょう。

### 7. このアカウントをフォローしよう
モチベにつながるのでぜひよろしく。
SNSを作成したらまず，このアカウントをフォローしてすべての記事にいいねをつけましょう。

---

## やらないほうがいいこと

### 1. いろんな言語や技術に手を出しすぎる

いろいろなことができる人はもちろん重宝されるのですが，全部が中途半端になると評価されずらいです。
最低一つは得意分野を持つようにしましょう。自分もあまりできていないですが...

> 解らないか。千を超える宝具を持つお前は英霊の中でも頂点に位置する者だろうよ。だがな、お前は王であって戦士じゃない。一つの宝具を極限まで使いこなす道を選ばなかった、俺と同じ半端者だ！ 衛宮士郎

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3718390/f5201d12-c769-0a31-26d4-df16ad25d676.png)


### 2. インプットばかりしてしまう

プログラミングも技術も使ってなんぼです。時間をかけて体系的に技術を学ぶのも楽しいですが，アウトプットしたほうが学習効率は高かったりします。できるエンジニアはベースの知識がしっかりしているのはもちろんなのですが，**必要なときに必要なことを最短で学ぶ力**が非常に高い人が多いです。
[Write Code Everyday](https://qiita.com/ochio/items/da01d8d4ca27faa26d18)等を心がけて定期的にアウトプットしましょう。
あと，人に教えるのも結構効果的なので，初心者向けの勉強会でLTをしてみたり，ブログを書くのもおすすめです。

### 3. 他人と比較しすぎる

ライバルがいることでやる気につながる反面，他人と比較してネガティブな気持ちになりすぎないようにしましょう。適度に向上心を持ちつつ，自分のペースで確実に前にすすむことが最も大事です。

### 4. 一人で抱え込まない

自分がわからないことでも，他人に聞いたら数秒で解決するなんてことはよくあります。自分でググったりする時間をある程度決めて(自分は20分くらい)それを超えたら相談するなどしてみるとよいです。
TwitterやGitHub，QiitaやZennでエラーの内容を検索するとGoogle検索で見つからないものが見つかることがあるので，このあたりを試してみるのもおすすめです。
もちろん，自分に聞いてくれてもいいですよ。[twitter](https://x.com/sigma5736394841)答えられるかはわかりませんが。

---

## 最後に
エンジニアリングは楽しくあるべきです。
みんなでエンジニアリングを楽しみましょう。
みなさまま新人の頃やっておいてよかったことややらない方がいいことがありましたらお教えください。