30歳エンジニア転職で役に立たなかった経験と役に立った経験

# はじめに
いつも聞いているポッドキャスト番組で、エンジニア転職について生々しくリアルな話が聞けたので、紹介します。**今の自分がやっている仕事が市場価値を上げられているのか？** と日々の業務を振り返るきっかけになりました。詳しく知りたい方は是非、聞いてみて下さい。

https://podcasts.apple.com/jp/podcast/227-30%E6%AD%B3%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E8%BB%A2%E8%81%B7%E3%81%A7%E5%BD%B9%E3%81%AB%E7%AB%8B%E3%81%9F%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E7%B5%8C%E9%A8%93%E3%81%A8%E5%BD%B9%E3%81%AB%E7%AB%8B%E3%81%A3%E3%81%9F%E7%B5%8C%E9%A8%93/id1601084785?i=1000647861441


# 転職の前提
かいちさん（転職した人）の紹介
- 情報系の大学院卒
- 中堅のバックエンド・エンジニア(30代)
- 社会人7年目
- 主に使っている言語: python, PHP
- アジャイル開発ができることを転職の軸に据えた

# 転職して感じたこと
① 30代は中堅の仕事を求められる
→ リーダー的立場が求められる

② 若い時の業務経験が転職の際に活きてくる
→ 20代はとにかく挑戦する回数を増やそう

③ 転職はどのタイミングでやってくるかわからない
→ 常に職務経歴書を更新し続けよう

# 結論

:::note warn
**技術的にも、人間的にもリーダーシップを発揮して内製開発の経験を積もう！**
:::


重要なポイント

・チームで開発した経験があるか？
・AWSなどのパブリッククラウドで自動試験やCI/CDパイプラインの構築をした経験があるか？
・チームリードした経験した経験があるか？

**中堅からはマネジメントの力も求められる**

今だけでなく、将来的にどう働くか？キャリアプランが求められる

# 役に立つこと 11選

転職で役に立つことは、大きく分けて3つに分類できます。
- 技術力
- ソフトスキル
- 実務経験

重要度の割合は、**実務経験が6割、技術力とソフトスキルが2割づつ**です。



## 技術力 3選

面接では基本的に実務経験を通して質問されます。

例えば、GraphQLをアピールしたい場合
✖「本読んでGraphQLを学習しています！」
△「個人開発でGraphQLを使いました！」
〇「ユーザーが〇人、クライアントで〇万件のリクエストがある
サービスにおいてGraphQLのアーキテクチャを設計して運用しました」

**商用のシステムに耐えうるサービスを実装した**経験が必要になる

ポイントは、
**お金になるモノづくり**が出来ること

### ① パブリッククラウド
AWSなどのパブリッククラウドはアジャイルには必須
（※アジャイルで開発している企業という条件で探した結果、もれなくパブリッククラウドを使用していたということだと推測します。）

要件に合わせて、
AWSのサービスの選定・組み合わせができる

「なぜその設計にしたのか？」根拠まで話せることが重要

### ② システム設計力

基本から詳細まで設計を担当した経験があるか問われる

基本設計：システムアーキテクトの設計ができるか？
詳細設計：クラス設計などができるか？

### ③ 保守性の高いコードを書く

以下の３つができればOK
・コーディング試験が突破できる
・面談で質問されるシステム試験の質問が突破できる
・**面接でリファレンスを参照せず**に、自分の開発に対する思想、技術的質問に答えられる

#### やってよかったこと

1\. コードをきれいに書くために技術書を読んで学習した

参考図書

- [リファクタリング](https://amzn.asia/d/abOc65v)
- [Clean Code](https://amzn.asia/d/dbvTfLP)
- [システム設計の面接試験](システム設計の面接試験)
- [A Philosophy of Software Design](https://amzn.asia/d/gHH0XEC)

2\. 社内のコードマニアにレビューしてもらった

さらに、
AWSの資格を取って、自ら手を挙げることで、
実務で開発チームのリードが経験できた

<font color="red">**アピールできる材料を手に入れてから、手を上げて行動することで実務経験が積める**</font>


## ソフトスキル 5選

### ①前向きなマインド

面接で伝わるように話を組み立てる

過去に出会った困難に対してどう対処したか？
前向きな解決策を提示できるか？

### ②チームマネージメント・育成の経験
後輩の育成や勉強会の開催など

### ③チャレンジ精神
面接で「やりたいです！」だけではダメ。
**チャレンジ精神 = チャレンジ実績**

ex) 新規事業コンテストで優勝した（若い時の実績、チャレンジが今に活きている）

面接テクニックとして、説得力を持たせる方法は2つある
・過去の実績
・将来のキャリア
→ 「10年後どうなっていたいか？」など、キャリアプランを論理的に説明できれば自分の発言に説得力が出る


### ④論理的思考
順序だてて喋ること
行動や選択に理由がある

（論理的な話し方を身に着けるにはポットキャストがおすすめ！
~~転職前に1年間、ポッドキャストを収録しよう！~~）

### ⑤継続的学習
技術をキャッチアップしたエピソードを持っている

記事を書く、ポッドキャストを取るなど、
学習した証拠を残していく生き方をする

参照：[SOFT SKILLS](https://amzn.asia/d/cLPAAGN)
<a href="https://amzn.asia/d/cLPAAGN"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3554678/9730a088-e8ca-34cb-ab46-e015e2a5f055.png"></a>
※不動産投資以外は役に立つ

## 実務経験 3選

### ①要件定義から運用までやった経験
小さなプロジェクトでもいいので、最初から最後まで経験していると転職時に強い

質問: 運用の具体例は？
→ AWSの監視、アラート設定など

技術的知見の広さを求められる

### ②スクラム開発、スクラムマスターの経験
スクラムマスターの資格自体はあまり意味がない
資格を通じて獲得したノウハウ・考え方が役に立つ

### ③ビジネスコンテストからの新規事業創設の実績
プレゼンテーションスキル・デザイン思考・リーンスタートアップの3つが特に役に立った

#### プレゼンテーション
喋るの上手・人を動かす話が出来る証明になる

#### デザイン思考
ユーザーと対話しながらモノ作りする姿勢
ユーザーファーストの考え方

従来の「多分、ユーザーは〇〇が欲しいだろう」と予想するのではなく、
プロトタイプを作って、ユーザーと直接コミュニケーションを取る

ex) 
・実際に使っているユーザーに話を聞きに行く
・試作品を使って潜在層にフィードバックをもらう



#### リーンスタートアップ
小さく始めていく
仮説検証を繰り返す
プロトタイプを出してから
ユーザーが本当に必要な機能だけリリースして検証する

### その他
プロダクトマネージャーの経験も役に立った

中堅になると、エンジニアリングだけでなく、**ビジネスサイドにも意見が言えることを求められる**


ハッカソンなどに参加して、ビジネスで何が求められているのかを実際に経験する

チャレンジ精神が最も重要

# 役に立たないこと 4選


## ①既存サービスのちょっとした修正

初めからやる業務が決まってルーティン化しており、
面接で話せる内容がない

## ②浅く触った技術

**「触ったことがあります」だけでは面接で使えない**

自分の知識を深めるためには、色んな技術に触れておくことは必要な経験
何に特化していくのか、軸は決めておく必要がある

## ③外注管理

契約や稼働管理などのめんどくさい作業が多い
誰かがやらなければならない必要な業務だが、**転職の役には立たない**

## ④社内稟議

物品購入、契約するなど調整関係の稟議が特に役に立たない
税金・経費に詳しくなるだけ
会社によって違うので、持ち越せないスキル

# 注意点
※上記４つは、ビジネスには大事だが、転職には活きない仕事なので、
これに忙殺されているとまずい・・・

必要な業務ではあるが、
**それをやってもいいキャラ付けしてしまっているのは、あなたですよね**

分散させる提案をする、他の人にやってもらうよう働きかけるなど、
雑務を押し付けられないようにうまく立ち回ることが必要

時には、ハードなコミュニケーションが必要とされる

# 最後に

転職の時に武器になるのは、
過去にやったことでしか戦えない

転職は次の職に就いてからすでに始まっている！！

番外編の記事も書いているので、よかったら読んでください！

https://qiita.com/hato-code/items/6cd2490fe2b28add8a1c