スクールを卒業して実務経験4ヶ月で思ったこと

## はじめに
[Happiness Chain](https://happiness-chain.com/)というスクールを卒業してWebエンジニアとして4ヶ月働きました。
スクールと実務の違いや、未経験からエンジニアになった感想を書いていきます。
Web系エンジニアへの転職を目指している人の参考になれば嬉しいです。

## 私について
韓国人なので日本語がおかしいところがあると思います。
読みにくい点もあるかと思いますのでご了承ください。
未経験からエンジニアになった経緯は[この記事](https://qiita.com/parkon_hhs/items/5a63810866743cc7a3f6)で書いています。

## 実務の内容
自社開発に従事しており、ReactとRailsの両方を使う必要がある会社です。
そして、フルリモートでの業務になります。


#### 業界
金融関係のため、ドメイン知識も必要ですね。
#### スキル
実務で下記のスキルを使用しております。
- フロントエンド: React, Next.js
- バックエンド: Ruby on Rails
- インフラ: AWS
- その他:GitHub, Docker
#### コードレビュー
コードレビューもしっかりと行われており、私も先輩のコードをレビューする機会もあります。
#### コミュニケーション
主にSLACKでコミュニケーションをとります。
会議も比較的多く、コミュニケーション能力が重要ですね。

#### 仕事の流れ
大きなプロジェクトでは、開始前に概要を簡単に説明してもらい、GitHubのissueが割り当てられます。
そのissueを基に、気になる点を確認しながら実装を進めます。
一方、簡単な修正タスクについては、自分でissueを作成し、実装を進めたり他のメンバーに実装してもらったりします。Gitを使うスキルは非常に重要だと感じています。

毎日の業務確認会で、仕事に関する相談ができます。
わからないことは、Slackで質問したり、個別のミーティングを設定して聞いたりします。
初心者として、質問しないとわからないことが多いですね。

## 副業との違いは？
業務委託の副業では、部分的な開発が主で、全体像を把握していなくても対応可能な簡単な機能追加や小さなバグ修正が多かったです。
一方で、正社員としては、より重いタスクが任され、エンジニアとしての成長が期待される環境です！また、夜間の副業と違い、同僚たちと同じ時間に働くことができ、それが楽しいです。

## 入社して何が難しかったのか。

#### 質問しにくい
フルリモートのため、質問がしにくかったです。
副業でも同様でしたが、今回のタスクは特に難易度が高く、多くの疑問点がありました。
でも何回も聞いてしまうのが申し訳ないな、、と感じました。

しっかり学習してからエンジニアになることが重要ですね。
自分はスクールで1000時間以上学習をしたので、ある程度の自信はありましたが、その分周りに期待され、重いタスクも結構いただいたので、難しかったです。（笑）
でも頑張って学習したおかげで、すぐに慣れることができて、本当に楽しく仕事ができますね。。（もっと頑張るべきですが）

#### 要求されるスキルが多い
フロントエンド、バックエンド、インフラで分かれていますが、エンジニアが10人以下の組織ですので、いろんな仕事を任されます。
先週はNext.js、今週はRuby on Rails、来週はAWSでLambdaを作ってくれなど、、
バックエンドを修正したら、フロントも修正が必要になり、それも一緒に修正お願いされたりしました。
まぁ、、RailsとReact,Next.js,AWSなどの学習はスクールでしてきたので、しんどい、、という感じではないのですが、経験不足の状態で色々書かされてちょっと大変な思いをしたことがあります。

1年間スクールで、エンジニアは新しいことを学習する能力も大事だと耳が痛いほど先生から言われたのがこういうものか、、という感じですね。


#### コードレビューすること
スクールの課題で、死ぬほどコードレビューをされてきたので、実務でのコードレビューをされるのは大変ではなかったのですが、自分がコードレビューをするのはかなり大変でした。
コードレビューをするために、issueの内容も確認すべきで、コードをちゃんと読んで間違いはないかを見たり、動作確認して変な動きはしてないのかを確認するのが大変で、時間もかかりましたね。
でも、他の人のコードレビューをすることでより成長できていると感じているので非常に良い経験です。

#### ビジネス側とのコミュニケーション
規模が小さいため、ビジネスサイドから直接要件を受け、実装に移ることもあります。
企画理解とのギャップから後戻りが生じることもあるため、コミュニケーションは難しいですが、
コードがビジネスにどのように利用されるかの接点を持つことができ、学ぶべき点は多いです。

#### ドメイン知識
金融分野であるため、コード理解のためにはドメイン知識も必要で、それが一層の課題となっています。エンジニア転職時には、前職のドメイン知識がプラスとなることもありますね。

# 意外にやりやすかったこと。
#### コードレビューされる側の気持ち
スクールでの厳しいコードレビュー経験のおかげで、実務でのレビューは心地よく、流れもスムーズに進んでいます。

#### Slackの使い方
スクールでのSlack利用経験が役立ち、実務でも様々な機能をスムーズに利用できています。

#### メンタル面
新しい知識の習得が多く求められますが、スクールでの先生からの助言が心の支えとなり、メンタル面での問題は感じていません。

## 何を感じたのか。
エンジニアの仕事に就いて、その大変さを実感しましたが、
他の職種も同様に大変なのは当然のことですね。
エンジニアになれば人生が楽になるという夢を持つのは良いですが、現実を見据え、努力と学習が不可欠です。
仕事をしながらも常に学び続け、周囲の先輩エンジニアのように成長していくことで、夢が現実のものとなります。

実務に入る前に、以下のスキルや経験は非常に重要です。
- GitHub　⭐️⭐️⭐️⭐️⭐️
- フロントエンドの経験（課題をすることで結果物があるとよりいい）⭐️⭐️⭐️⭐️
- バックエンドの経験（課題をすることで結果物があるとよりいい）⭐️⭐️⭐️⭐️
- コードレビューの経験　⭐️⭐️⭐️⭐️

私の場合、1年間の厳しいスクール生活のおかげで、副業をスムーズに始め
、正社員としても実務に早く慣れることができました。スクールでの学びが実務に直結していたからです。
だからこそ、適切なスクール選びは重要です。

#### Q&A
Q: 採用時には、「フロントエンドエンジニア」または「バックエンドエンジニア」として分類されることが多いですが、初心者はどちらも学ぶべきですか？
A: 初心者が就職する際、小規模な企業が多いため、実務でフロントエンドとバックエンドの両方に触れることがよくあります。私が話を聞いた小規模企業のエンジニア4人も、みな同様の経験をしていました。

## 終わりに
徐々にエンジニアの仕事に慣れてきた今、どのようにエンジニアとしての人生を歩むべきかを考えるようになりました。
慣れてくると、エンジニアは本当に楽しい職業だと感じています。

ちなみに私が卒業したスクールはこちらです。
https://happiness-chain.com/

#### Happiness Chainの良いところ
- 豊富なロードマップ
- 安い
- コードレビューをしてもらえる。
- ブログや日報まで管理してくれる。
- 生徒同士で仲良くなれる。
#### 通った感想
課題が難しくて大変ですが、その分成長できて、実務に入って即戦力になれます。
オンライン、オフラインのミートアップが多くて、楽しく学習できる環境です。
先生たちが現役エンジニアなので、色々エンジニア業界の事情が聞けて良かったです。

#### 最後に一言
諦めずに続ければ必ずエンジニアになれます。
未経験の皆さん、頑張ってください！