未経験エンジニア1年目の振り返りをしてみた



# 1. はじめに
2021年12月に未経験からWebエンジニア(受託開発企業)に転職して、1年経過したので振り返りした内容を、記事にしてみました。


# 目次
[1.はじめに](#1-はじめに)
[2.本記事の対象者](#2-本記事の対象者)
[3.自己紹介](#3-自己紹介)
[4.入社後の流れ](#4-入社後の流れ)
[5.取り組んで良かったこと](#5-取り組んで良かったこと)
[6.先輩からよく言われたこと4つ](#6-先輩からよく言われたこと4つ)
[7.記事紹介](#7-記事紹介)
[8.おわりに](#8-おわりに)

# 2. 本記事の対象者
- 実務未経験でWebエンジニアを目指そうと思っている方

# 3. 自己紹介

- 実務未経験30代でWebエンジニアに転職して2022年12月で2年目のバックエンドエンジニア(言語はPHP)。
- プログラミングスクールでRubyを学習し、地方の受託開発企業へ転職。

# 4. 入社後の流れ

### 入社当日の流れ
研修や教育担当の方等ない状態のため、入社当日は下記のような感じでした。

午前10時に初出社
午前中：必要なアプリのインストール、開発環境構築
午後：開発に参加

わからないことは、タスクを振ってくださる先輩に聞いて解消する感じで毎日業務を進めていました。また、12月入社だったので、忘年会や納会、大掃除、年末年始があり、通常業務はほとんど出来なかった印象でした。

### 実際に実務で触った技術の一覧

- 開発環境構築
    - Docker / Multipass / Laravel / Eccube / Yii / WordPress / Git
- 言語、フレームワーク等
    - HTML / CSS / Sass / Pug 
    - JavaScript / jQuery / Vue
    - PHP / Laravel / Yii / Eccube / WordPress
    - SQL / RDB(MySql / PostgreSQL)

# 5. 取り組んで良かったこと
主に取り組んで良かったことを3つに絞って紹介したいと思います。

### 業務を通して学んだことは、言語化してメモしておく
- 時間が経過すると学んだことも忘れてしまうので、日々気づきや学んだことはメモをとって後から振り返りできるようにしています。メモには`notion`を利用してます。（綺麗に書くことを目的にしないように気をつけてます。)

### こまめに進捗報告する
- 教育担当者等がない環境でしたので、社内のコミュニケーションツールを活用して自分から積極的に報告していました。

### 入社半年間は、毎月上司と1on1して頂く機会を作る
- 毎月上司に「1ヶ月の報告」を社内のコミュニケーションツールで報告して、面談して頂く機会を作っていました。そのおかげで毎月、「困っていること」や「悩み」などを共有して、悩みを解消することができました。また上司から「積極的に行動してくれている」　との評価もしていただけました。自分のメンタルを維持するためにも相談できる環境を作る大切さを実感しました。


# 6. 先輩からよく言われたこと4つ
### 「10分悩んだら質問してね」

**「無駄に時間を消費しないようにしましょう」** ということです。

自分で考えることは大事なので、まずは考えるのは大前提ですが、悩んでいる状態になってしまった時は、時間を決めて質問した方が良いです。
忙しい先輩方の時間を奪うのは・・・っとつい悩んでいましたが、上司から「相手に悪いとか気を遣わなくて良いよ。質問はくる想定でみんなタスクを振ってると思うからわからないことは質問してどんどんタスクを進めてほしい。」とアドバイス頂いて、今は悩む状態になったらしっかり質問して、時間を無駄に消費せずタスクを進めることを意識してます。

「考える状態」と「悩んでいる状態」の違いについて、下記の記事がわかりやすかったので、一部抜粋してます。

> 「悩む」のはこんな状態
●頭の中がグルグル回っている、出口が見えない、何が問題なのかが見えない
●感情が中心である、困ったなあ、嫌だなあ、辛いなあ・・・
●自信がもてない。実は自分はこうだ！というものがあるんだけど、その結論に自信がない。
●ネガティブモード
 
>対して「考える」のはこんな状態
●前進している感じがある。結論に近づいている感じがする。
●事実が中心、あれがこうで、こんな情報があって、躓いているのはこの部分で・・
●作ってきた結論に対して、自信をもっている
●当然ポジティブモード

### 「コード読んだ？」
**「処理の流れ理解してる？」** ということです。

処理の流れを理解していない状態で追加機能の実装などしてしまうと、思わぬバグが生じたりするので、処理の流れを理解するためにしっかりとコードを読んで理解しましょう。複雑なシステムになるとコードも複雑なので、コードを書くよりも読む方が時間かかっている印象です。

### 「ドキュメントよく読んだ？」
**「ドキュメント確認した？」** ということです。

まずはとりあえず公式ドキュメントを読むようにしています。わからなければ、もう少し噛み砕いて易しく説明しているブログの記事等を読んでみてから、
公式ドキュメントをあらためて読んでみるように取り組んでます。

### 「小さく実装するのが大事」
**「タスクをばらして、小さく仮説→検証をやっていこう」** ということです。

例えば「登録処理」なら、下記のようなイメージです。

:::note alert
大きすぎるタスク例
登録処理を作成する
:::

:::note info
タスクばらしした例
登録フォームを作成する
DBに保存処理をかく
保存後の任意のページへのリダイレクト処理をかく
バリデーション処理をかく
HTMLとCSSを調整する
:::


# 7. 記事紹介
新人エンジニア向けにわかりやすくまとめられていた記事を紹介します。

- [未経験がWeb系エンジニアに転職して感じた、入社してから絶対にやるべき５つのこと](https://qiita.com/Miyayan/items/0eb7957907f944e02246)
- [成果を出すプログラマーが習得している「コードを書かない技術」](https://qiita.com/Fumi_Oc7/items/74f2791a4b6c832f9555)
- [初心者エンジニアにおすすめしたい「進捗どうなった？」と言われないための仕事の進め方](https://qiita.com/soyanchu/items/d1cb9785fc211941a009)
- [新人エンジニアに1年間で身につけて欲しい能力](https://qiita.com/mihooo24/items/d02b5388007629ed6912)
- [新人エンジニアが先輩に言われたこと4つ](https://qiita.com/mihooo24/items/d02b5388007629ed6912)

# 8. おわりに
ここまで読んでいただき、ありがとうございました。
どなたかのお役に少しでも貢献できれば幸いです。
2年目は少しでも成果が出せるように、日々頑張っていきたいと思います！

# 引用記事
- [「考える」と「悩む」の違い - NOKIOO [ノキオ]](https://www.nokioo.jp/president/106)