はじめに
この記事はこれまでの経験や携わってきた技術を棚卸しし、これから私が目指したい理想のエンジニア像とのギャップを明確にすることを目的としています。読むことで知識が得られるような記事ではないため、お忙しい皆様の時間を奪わないためにもブラウザバックしていただいて問題ありません。
ただ、かれこれ6年エンジニアをやってきましたが、まだまだ素人です。これから継続的に学習・アウトプットして成長していきたいと思っているため、もし同じ意識を持った方が読んでいたらフォローしていただけるとモチベーションになります。
自己紹介
はじめまして。nyoutkです。簡単に自己紹介をします。
- 働いている場所
- 東京ではない地方
- 経歴
- ・XXX製品のGUI開発(プログラマ)
→今思うと一番楽しかった - ・XXX証券業務システムの設計(SE)
→忙しかったけど人として成長した(飲み会が好きになった) - ・XXX銀行のインフラ導入(CE)
→暗黒時代。おもしろことなんて一つもなかった。 - ・XXX保険業務システムの設計(SE)
→特に目新しい技術もなく、スキルは上がらなかった。 - スキル
- ・Java読める。書いていたのは社会人2年目くらいまでなのでもはや設計やコーディングの仕方は忘れた。
- ・お客様へ自信を持って「これは仕様です。要件通りです。」と言えること。100万回は言った。
- ・深夜残業も休日出勤も苦ではない境地に達していること。
- ・プライベートでちょっとだけAngularを触ったくらい。フロントエンド側はほぼ無知。
- ・SQLは簡単なものなら読める(そもそも読みにくいSQLは悪かもしれないが、、)
- 興味のあること(今後増減するカモ)
- ・Java、Go、Typescript
- ・Spring、Angular
- ・AWS、Azure、GCP
- ・認証/認可周りのなにか
- ・分散トランザクション周りのなにか
- ・マイクロサービス
ロードマップ
自己紹介を書いてみて、自信を持って「自分の武器はコレです」と言えるものは何一つないことがわかりました。その分、やりたいこと・やらねばならないことが多い事にも気づきました。しかし、仕事をしながら全てやろうとすると何年もかかるし、もしかしたら結局何も身につかなかったとなるかもしれないです。そのため、興味のあることをもとに優先順位をつけながらこれからのロードマップを書いていこうと思います。
- マイクロサービス、分散トランザクション
まず、これを第一優先として学んでいこうと決めました。理由としては仕事で使いそうだからです。あとは、これらを学ぶ中で認証/認可やGoやTypescriptやクラウドを使っていくことになるであろうから、ここから始めるのが効率がいいと感じました。懸念点としては資格試験もないため、何を基準にマスターしたと言えるようになるのかが不明であることです。これについては目標をしっかりと定めて、グダらないようにしたいです。 - AWS、Azure、GCP
これらを第二優先で学んでいきます。理由としては市場価値が高そうだから。特にGCP知ってると給料高いらしい。知らんけど。また、資格試験もあるため、モチベーションの維持やゴールが明確になりそうなのでいいと思いました。 - Angular、Typescript
マイクロサービスをやっていると、フロントエンドがリッチになってくるイメージがあるためマイクロサービスを実装してみようとなったときに結果が見える画面があるとモチベーションになるかと思ったからです。 - 認証/認可
あまり今の所興味はないですが、かなり奥が深そうです。仕事でもこれだけを軸に案件が走っていたりするのを見るので、需要はあるのかなと思いました。
抱負
とりあえず思い浮かんだままに書き殴りましたが、軸としたいのは「実際に目に見える形で作ること」です。なぜなら昨今よくみるITエンジニアのように概念だけ知っていて概念だけで論破するようなおじさんにはなりたくないからです。また、これからの時代は口が達者であることも引き続き需要はありますが、実際に作ることができるスキルも重宝されるとなんとなく感じています。なので概念的なテーマであっても、実際に作って理解することを軸にやっていこうと思います。