個人スキルの棚卸しの仕方と自分のスキルマップ2021年ver
ここ数年、毎年のように実務で扱う技術に変化があった。
少し時間は空いているが、改めて自分の現在地をまとめてみることにする。
現在のスキルの可視化と、これからどの分野を伸ばしていくかを考える。
目次
ここ数年の動き
- 〜2016年の途中:システムエンジニアとしてお仕事
- 2016年:Webエンジニアとしてのキャリアをスタート
- 2017年〜2018年:Webエンジニアとして色々とお仕事、要件をまとめるお仕事なども
- 既存サービスの保守中心、フロントエンド・サーバーサイド半分半分くらい。
- サービス最適化の文脈でA/Bテスト
- 技術的には、GoogleAnalytics/TagManager/HTML/CSS/JavaScript、など
- インフラ作業(サーバーのブルーグリーン入れ替え、など)を通してAWSの世界を体感
- 2019年:エンジニアリングマネージャ、ネイティブアプリの開発を経験
- iOS / Androidで小さな機能開発を担当
- ネイティブアプリで当時主流だったMVP、MVVMのアーキテクチャに触れる
- Active Storageの仕様(時間でキャッシュが消える、など)に苦しめられる
- 2020年:Railsを使ったプロダクトのリードエンジニア。少しFlutterに触れる。
- Rails 4.7系から5.2系へのアップデート
- フロントエンド周りでReactの採用・実装。Webpackerでなく、Wepackを採用。
- FirebaseAuth / JWT / 本格的なAPI実装
- 2021年:引き続きのRailsに加え、Flutterもガッツリ触れる
- MySQLの文字コード更新
- DDDのアプローチで開発(flutter)、オブジェクト指向の再理解が進む
※ 2020年〜はエンジニア以外に事業責任者もやっている
現在のスキルセット
得意
理解が進んでおり、ネット環境なしでも作業を70〜80%程度は進められる、あるいはキャッチアップが早い分野
- (サーバーサイド)
- プロジェクトの設計思想の決定、設計思想のキャッチアップや、それに沿ったコード記述
- O/Rマッパー(あるいはそれ相当のもの)を利用し、WebサービスやWebAPIの作成
- Railsの周辺知識をもってして、類似フレームワーク(Laravelなど)のキャッチアップ
- (フロントエンド)
- nodeプロジェクトのセットアップ(webpackなども含む)
- HTML/CSS/JavaScriptを使ったコーディング
- JavaScritpは、ReactやTypeScriptも比較的すらすらやれる(やりたいと感じた内容をすぐ形にできる)
- dart x Flutter でのネイティブアプリ開発
- (インフラ)
- herokuやVercelなどPaaS環境へのデプロイ、トラブルシューティング
- AWS環境へのデプロイ、トラブルシューティング
苦手(
経験はあり、ドキュメントやインターネット記事を頼りにすすめることはできるものの、自分自身の頭で理解の解像度が浅いため、すらすらできない、進捗が遅い分野。
また、理解の解像度が浅いため類似分野へのキャッチアップが遅い分野でもある。
雑にいえば、英語ドキュメント読む負荷が高い分野ともいえる。
- 新しいdocker環境の構築
- firebase(Authやfirestoreなど)との連携
- JWT等を使った認証系の実装
- 規模の大きいReactプロジェクトの開発(Fluxで混乱しがち)
- iOS/Androidの開発
今後どこを強化していくか
自身では、
– 「得意」に分類している内容に至るまでざっくり「レベル3」の経験が必要
– 「苦手」の分類は、レベル1と2の間
どういうことかというと、おおよそ学習レベルを3段階に分けて考えると良さそうで
- レベル1:プライベートだろうと、2〜3ヶ月分(= 300〜500時間)の間で、高密度で経験する
- レベル2:レベル1の繰り返し(ひりひりするプロジェクトを3回程度)
- レベル3:必死こいてやった内容が1年以上
こんな感じ。期間よりも密度が大事。(むしろ密度しか大事ではない、自分で必死こいて試したり、考えてリしていなければ、いくらやってもレベルは上がらない)
当たり前といえばそうだけど、経験の少ない分野に苦手意識をもっている。
興味がある技術
- Rails以外でAPI開発
- PHPやPythonでなく、JavaScriptでの開発を想定している
- python + 機械学習周り
- udemyやチュートリアルはやっている
- そこから先。実際にサービスを作るときにぶち当たる課題を解決できる状態。
興味がある分野
- 業務改善・効率化文脈におけるAR・VRの可能性
- 教育事業文脈におけるAR・VRの可能性
- AIや統計的アプローチを利用したサービス開発
- EC
強化しない、時間をかけない技術・分野
個人的にはやってみたいと思うことは何度もあるが、自分の学習スピードや定着スピード、そしてかけれる時間を考えると、片手間では、ものになるレベルに到達するのは難しいだろう。
そうであるなら、いっそのこと「やらない」と判断したほうが精神衛生上良い。
- Go/Rust
- AR/VR
- blendar
- unity
- C#
どう強化していくか
考え中
今は時間をかけてという解決パターンが中心になっているので、改めたい…
この記事へのコメントはこちら