新米エンジニアは共感できるかも？な経験10選

## はじめに
エンジニアとして仕事をさせていただいて、もう半年です。
実務1ヶ月ぐらいに書いた記事を読んでいると、そんな風に思ってたんだ〜と思うことが多かったです。

なので、実務1ヶ月目ぐらいに起きたこと、思った経験と対策を記事にします。
今から現場に入る人などはぜひ参考にしてください！

## 新米エンジニアは共感できるかも？な経験10選
仕事に入って経験した順に解説していきます。
1. 環境構築で地獄を見る
1. 仕事の進め方どうする問題にぶち当たる
1. こんなことで質問してすいません案件
1. インデントめちゃくちゃだが気にしない、細かいことは...気にしない笑
1. 不要なコードを書きたくる
1. 初めてのチーム開発のGithubは緊張する
1. Markdownてなんぞや
1. タスク管理できず、爆破する
1. 体調管理をちゃんとしないと！と悟る
1. 上司へどのぐらい丁寧に行くか悩む

それでは、いきましょう

### 1. 環境構築で地獄を見る
仕事に入って最初に経験するのが、おそらくこれでしょう。
特に環境構築は人によってイレギュラー要素が多いのが困ったところです。

僕は、環境構築を甘くみていました。
「環境構築なんてちょちょっとやって、早くコードを書くぞ！」と思っていました。

現実は、1日ぐらいかかりました。
しかも、先輩エンジニアさんのつきっきりで...

こんなにかかるのか！？とびっくりしました。
まぁ、これは序の口ですね。

### 2. 仕事の進め方どうする問題にぶち当たる
次は、仕事の進め方がわからないし、上手くできない問題にぶつかりました。
「どうしようかなぁ...」と仕事の進め方を調べてみると下記の記事に辿り着きました↓

https://qiita.com/jnchito/items/017487cd882091494298

そして僕は、全てをマネしました。
すると、仕事がさくさく進みました。

今でもカスタマイズはしてますが、大枠は同じようにやっています。
伊藤さん、最近何度もありがとうございます！

### 3. こんなことで質問してすいません案件
当然ながら、自分で解決できないことが出てくるわけです。
でもでも、「こんなことで質問してもいいのかな？」と思ってしまう自分がいました。

ただ、進まないので先輩、すいませんと思いながら質問文を送りました。
その時のテンプレートです↓
```
## 質問内容
## 実現したいこと
## やったこと
## 考えたこと
```
ざっとこんな感じで質問してました。
結構長文の質問することが多かったのですが、今思えばもっと削れたな...と反省しています。

今では質問の結論と状況を丁寧に説明するだけって感じです。
#### 対処法
この問題に対してはマインドチェンジで、トータルで見て生産性高く仕事すればいいと考えています。

先輩に聞いて早く解消するのと、自分で抱え込んで潰れてしまうのとでは前者の方がマシだと僕は思います。
なので、失礼のないように質問させていただきましょう。

### 4. インデントめちゃくちゃだが気にしない、細かいことは...気にしない笑
僕がよくやっていたのが、インデント深すぎor浅いというミスです。
これは、しょーもない割にレビューに気を使わせてしまうため避けたいところ。

ただ、僕はインデントの設定をミスっていました。
- 仕事のコードのインデント→`2`
- VSCodeのデフォルトインデント設定→`4`

なので、修正していきましょう。
[![Image from Gyazo](https://i.gyazo.com/c99a1926b973a5d2ddd9c1c85be1c7f8.png)](https://gyazo.com/c99a1926b973a5d2ddd9c1c85be1c7f8)

[![Image from Gyazo](https://i.gyazo.com/df61486d02a4330fcf3beeae6a45fcd3.png)](https://gyazo.com/df61486d02a4330fcf3beeae6a45fcd3)

[![Image from Gyazo](https://i.gyazo.com/a2f400a6ded6dcdbdb11478d365358af.png)](https://gyazo.com/a2f400a6ded6dcdbdb11478d365358af)

### 5. 不要なコードを書きたくる
これはただの技術力不足ですが、本来は必要ないコードを書きまくってました。
共通化してDRYにするとか以前に、コードが読めてなかったんです。

```ruby: Badな例
# Commentsモデルでメソッド化されている
def link_text
  completed_at? ? 'コメントする' : '終了のお祝いする'
end

# ビューファイルなどで
comment.completed_at? ? 'コメントする' : '終了のお祝いする'
```

```ruby: Goodな例
# Commentsモデルでメソッド化されている
def link_text
  completed_at? ? 'コメントする' : '終了のお祝いする'
end

# ビューファイルなどで
comment.link_text
```

こんな感じで、そもそもメソッドがあることを知らなかったりしてました。
こういうことが多かったので、先に使えそうなコードないかなぁと考えるようにしています。

また、こういった経験があるおかげで「使えそうなライブラリないかな〜〜」と考えれるようになってるのかもしれないです。

### 6. 初めてのチーム開発のGithubは緊張する
Githubは特に初めは僕緊張してました。
- コードが壊れないかなぁ...
- 変なところ押して、とんでもないことにならないかなぁ

なんか、可愛いですね笑
これの対処法は正しい知識を持っておくのと、慣れです。

ただ、そんな簡単にとんでもないことにはならないので安心してください。

### 7. Markdownてなんぞや
Githubでプルリクエストの説明などを書くときにマークダウン記法をします。
ただ、「Markdownてなんぞや！」と思っていました。

マークダウンとはHTMLをもっと手軽に書けるようにしたようなイメージです。
これだけ知ってたらなんとか書ける程度に参考を書いておきます↓
<pre>
## h2タグ
### h3タグ

- 箇条書き
- をする

1. 数字で箇条書き
1. をする

> 引用

[リンク](https://hoge.example)

`puts '1行程度の短いコードブロック'`

```ruby: main.rb
puts '複数行の'
puts 'コードブロック'
```
</pre>

ざっと使うはこのぐらいになります。
また、下記のチートシートがとっても参考になります↓

https://qiita.com/Qiita/items/c686397e4a0f4f11683d

### 8. タスク管理できず、爆破する
タイトル通り、タスクをうまく管理できずに何をすればいいのかわからない状態になることです。
タスク管理を仕事を始めたらしていきましょう。

参考までに僕のタスク管理を書いておきます。
#### タスク管理方法
僕のタスク管理は
- 1日単位→メモ帳で朝に整理する
- それ以外中長期的→Chatworkを使い、発生したとき

で管理しています。

メモ帳のサンプル
[![Image from Gyazo](https://i.gyazo.com/31d23bd729e23bf24e1879057da20171.png)](https://gyazo.com/31d23bd729e23bf24e1879057da20171)

Chatwork
[![Image from Gyazo](https://i.gyazo.com/c422ad63a373cdbac27823d0deeb7836.png)](https://gyazo.com/c422ad63a373cdbac27823d0deeb7836)

他にもNotionを使ったり、他のタスク管理ツールを使ったりしてもOKです！
なんせ、1日と中長期的なやつを管理できればいいと考えています。

ついでに、Googleカレンダーでスケジュール管理もしましょう。
これをすることで、時間管理もしっかりできるようになりますよ！

### 9. 体調管理をちゃんとしないと！と悟る
僕は仕事が始まって1週間ぐらいはパソコンにべったり張り付いてました。
そして、すっかり寝るのが遅くなっていたのです！

これでは長期的に仕事をしていくことができません。
きっと体を壊してしまうのと、パフォーマンス高く仕事ができませんね。

そこで、マイルールを作りました。
- 7:30分からナイトモード
- 寝る前2時間は画面を見ない
- 朝は筋トレとストレッチ
- 夜は走る
- 栄養バランスを考えた食事する

紆余曲折ありましたが、今ではこんな感じになっています。
体調管理はリモートワークの方は特に頑張りましょう！

### 10. 上司へどのぐらい丁寧に行くか悩む
最後はこれですね。
僕は、結構へりくだってました笑

今でも悩んでおり、若手の永遠のテーマかもしれないですね。
ちょっとずつ信頼関係ができてきたら、「コメントしました！」だけになってきてる気がします。

時間が解決してくれそうですね。

## おわりに
僕自身新米エンジニアを脱していないのにこんな記事を書いちゃって恐縮です。
ただ、まだ実務に入ってない方への参考になればと思います。

お互い頑張りましょう。
いいねなどしていただけると嬉しいです。

それでは！