SlideShare a Scribd company logo
1 of 16
Download to read offline
Takuya Tejima
March 28th, 2023
モダンフロントエンド開発者に
求められるスキルとは
● 略歴
○ 新卒でIBMソフトウェア開発研究所でソフトウェアエンジニア
○ LINEでフロントエンドエンジニア
○ 共同創業者兼CTOとして起業(東南アジアへ)
○ 現在2社目の起業としてGAOGAOを創業(シンガポールベース)
■ 「グローバル」を強みにした60名規模のエンジニアが参画する開発会社
■ 最近はエンジニア業務以外に、大手企業のエンジニア組織立ち上げやマネージメント業務が多め
● 書籍執筆
○ 共著: Vue.js入門
○ 共著: TypeScriptとReact/Next.jsでつくる実践Webアプリケーション (1-2章 担当)
About Me
Takuya Tejima | GAOGAO Co-founder&CEO
@tejitak
モダンフロントエンドとは
(本書1章の内容+α)
世界的なフロントエンドのトレンド
“Frontend Engineer”というキーワードのGoogle検索トレンドの推移
jQuery全盛期
- jQueryが大多数のWebサイト・アプリケーションで使用されていた理由はブラウザの互換性解消が大きな理由だった
- アプリケーション開発の多くの処理はサーバー側で実装されていた
- コンポーネント指向ではなく、特定のDOMに対してグローバルに処理を追加していく形式だった
- SPAの例は増えてきていたもののAjaxがメインで包括的なアプリケーションフレームワークなどは浸透していなかった
jQuery全盛期からReact全盛期へ(モダンフロントエンド)
React全盛期 (現在)
- ブラウザの性能の向上と共に高いUI/UX・DX(Developer Experiece)を実現できるようになった
- UI/UXの向上: コンポーネント設計、ステート設計、インフラ設計、パフォーマンス測定の重要性
- DXの向上: ビルドツールからデプロイ・テストまで周辺ツールの拡充
- 結果、サーバー・クライアント型Web開発において、フロントエンドの比重が大きくなってきた
(参考: https://roadmap.sh/frontend)
フロントエンド開発そのもののあり方が変わってきている
本書1章から抜粋
モダンフロントエンドを構成する要素
● 設計
○ 1 要件/UX・UI定義
■ Spec(UI・UX)の理解 (企画・デザイナーとのコミュ
ニケーション)
○ 2 API設計
■ インターフェース設計 (BEとのコミュニケーション)
○ 3 コンポーネント設計
■ atomicデザイン設計
○ 4 ステート設計
■ props/redux/provider/container component
○ 5 ルーティング設計
■ URL定義/パラメーター設定
○ 6 レンダリング設計
■ CSR/SSG/SSR
○ 7 SEO設計
■ メタ情報設定
● 実装
○ 8 UI実装
■ ページ & atomicコンポーネントの書く
■ tailwind & CSS moduleを書く
■ TS型定義
■ mockデータとstorybookファイル作成
■ i18n/アクセシビリティ実装
○ 9 ロジック実装
■ ステート管理
■ APIとの接続
○ 10 テスト実装
■ Unitテストを書く
■ E2Eテストを書く
○ 11 deploy
■ ビルドする
■ CI/CDを通じて動作確認
○ 12 QA
■ デザインQA・ブラウザ互換性・バグ修正
フロントエンドエンジニアの日々の業務。一機能追加するだけでも工数が多い
モダンフロントエンド開発現場での実装例
Next.jsの機能範囲
本書1章から抜粋
Tips: フロントエンドライブラリの世界的なトレンド
モダンフロントエンドエンジニア
に求められるスキル
コーディング面
● レガシーJavaScriptコード→TypeScript化への必要性(型定義を始めとした導入コストが高い)
● 新しいライブラリの学習コストが高い
● 報告される問題の総量が多くデバッグが大変 (UI側から問題報告は入りがちのため)
● サポートデバイス・ブラウザの対象が多い
設計面
● 学ぶべき知識の範囲が広い (CSS含めたUI/UXコンポーネント設計領域から, API・CDN/SSR, i18n, E2E etc.)
● サーバー通信・ステート管理のベストプラクティスの模索の必要
● フロントエンド内複数人開発における効果的な開発環境ツールの整備が複雑
組織面
● 関わる担当組織が多い(主に、企画担当者、UI/UXデザイナー、BE担当者、インフラ担当者、QA担当者)
● チーム内を構成するフロントエンドエンジニア同士のコミュニケーション(タスク分担・Sprint設計など)
フロントエンドエンジニアが抱える課題
ハードスキル面だけでなくソフトスキル面もバックエンドエンジニア以上に求められるケースが多い
React / Nextやwebpack / Viteなどのツー
ルを代表としたライブラリ固有の知識。長
期記憶のストックを増やすことで開発を効
率化に繋がる
ライブラリそのものの知識
ライブラリに依存しない
根本理解力・問題解決力
なぜ?を繰り返し、コードの根本を理解でき
る汎用的な実装スキル。ライブラリに依存し
ないコアロジックの開発やデバッグなどにお
ける高い問題解決能力につながる
フロントエンドコーディング以外
の知識 (サーバー・基盤など)
モダンフロントエンドに求められるハードスキルとソフトスキル
API・CDN・PWA・CI/CD・UI/UXなどなど
FEの領域が本来のFEだけに留まらず拡がっ
ている中で、さらにバリューを高められる
ハードスキル
未知の知識を幅広く・速く吸収
できる探索学習力
新しいものを学習して自身をアップデート
していく意欲・マインド。進化の早い領域
で市場価値を高く持つために重要となる素
質
他部署と共通認識をとれる
コミュニケーション力
特にUI/UX領域、サーバーサイドの必要な知
識を持ち合わせた上で他部署のエキスパート
および開発チーム内とコミュニケーションを
取り推進できる力
自分自身で考え実行できる力
流行っているから、と流されず、技術選定
など新しいものを自分自身で咀嚼した上で
意思決定ができる力。現場特性から最適な
ソリューションを合理的に判断・提案する
ことでチームの成功に導くことができる
● フロントエンドエンジニアの面談対策はコーディング面以外も判断するための対象要素が多い
○ ハードスキル面
■ コーディング能力を問う
● 簡単なアルゴリズムの問題など、JSコーディング試験
■ 知識を問う
● React Hooksはなんですか? Cookieとローカルストレージの違いはなんですか?
■ 設計力を問う
● Reduxのメリットはなんですか?どのようにコンポーネント設計を行いますか?
■ 問題解決力を問う
● その時に起こった問題を教えてください?どのように解決をしましたか?
○ ソフトスキル面
■ マインドを知る
● 今注目しているライブラリはありますか?新しい技術の習得はどのように行いますか?
■ コミュニケーション能力を知る
● チーム開発経験はありますか?ビジネスサイドと仕様策定に関わることはありますか?
■ 自分自身で考えられる力を問う
● 選択した技術スタックのメリット・デメリットは?テストを書かなかったのはなぜですか?
Tips: あなたがもし面接官だったら、どうやって判断する?
● 現状、以下フルスタックをフロントエンドエンジニアとして意味していることが多い
エンジニアロール マークアップエンジニア 例: tailwind・アニメーションなどHTML/CSS周りの実装
FEアプリケーションエンジニア 例: ステート・rendering設計含むアプリケーション実装/PWA開発
FE OSSエンジニア 例: React/Reduxなどフレームワーク自体の実装
BFFエンジニア 例: nodeレイヤー・SSR・SSG設計などサーバーと関連する実装
FEインフラエンジニア 例: ビルド / CI・CDレイヤー/CDN含む開発環境基盤周り
E2Eエンジニア 例: Cypress・Playwrightなどの設計・テストコード運用
マネージャーロール FEアーキテクト 例: 技術選定、設計・レビュー
FE EM 例: フロントエンドエンジニアのマネージメント
FE TPM 例: 他部署との連携重視のマネージメント
フロントエンドエンジニアのロールとキャリア
上記は極端な分類かもしれないが需要のさらなる拡大に伴いエンジニアの関心の強い分野で細分化されていくのは自然
- さらにその先は..?
○ レガシースタックのままでは、技術負債が蓄積され、企業としては技術者も採用できない状況になる
○ サーバーレス・PWAの普及によりフロントニーズがさらに加速する
○ モダンフロントエンド開発の共通基盤とそれぞれの技術要素領域の細分化に合わせて職種も定義されていく
○ バーティカル(AI, VR/AR, Web3, ネイティブアプリ)化が顕著になっていく
○ フロントエンドエンジニアのキャリアの設計もこれらの現状を俯瞰的考える必要性が高まる
- 現状 (本日の話まとめ)
○ TypeScript化を筆頭にモダンフロントエンドへの変遷期 (業界全体でモダナイズが進行)
○ 昨今のモダンフロントエンドの領域に伴い、フロントエンドエンジニアの仕事が広範囲になってきている
○ Next.jsはその一翼を担う存在になってきている
○ フロントエンド人材には広く深いハードスキル・ソフトスキルが必要になってきている
モダンフロントエンドの今後
まずはNext本を手に取って読んでみましょう
Thank you

More Related Content

What's hot

モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版MOCKS | Yuta Morishige
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説Livesense Inc.
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?Yoshitaka Kawashima
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてJava EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてShigeru Tatsuta
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with KarateTakanori Suzuki
 
IT系エンジニアのためのプレゼンテーション入門
IT系エンジニアのためのプレゼンテーション入門IT系エンジニアのためのプレゼンテーション入門
IT系エンジニアのためのプレゼンテーション入門Masahito Zembutsu
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていることonozaty
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
「顧客の声を聞かない」とはどういうことか
「顧客の声を聞かない」とはどういうことか「顧客の声を聞かない」とはどういうことか
「顧客の声を聞かない」とはどういうことかYoshiki Hayama
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうRyuji Tsutsui
 
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチYoshiki Hayama
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveTokoroten Nakayama
 
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)NTT DATA Technology & Innovation
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 

What's hot (20)

モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてJava EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行について
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
 
IT系エンジニアのためのプレゼンテーション入門
IT系エンジニアのためのプレゼンテーション入門IT系エンジニアのためのプレゼンテーション入門
IT系エンジニアのためのプレゼンテーション入門
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
「顧客の声を聞かない」とはどういうことか
「顧客の声を聞かない」とはどういうことか「顧客の声を聞かない」とはどういうことか
「顧客の声を聞かない」とはどういうことか
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
はじめてのPRD
はじめてのPRDはじめてのPRD
はじめてのPRD
 
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
 
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 

Similar to モダンフロントエンド開発者に求められるスキルとは

Next.js Storybook Driven Development
Next.js Storybook Driven DevelopmentNext.js Storybook Driven Development
Next.js Storybook Driven DevelopmentTakuya Tejima
 
GAOGAO (ガオガオ) サービス事業概要 2018年8月
GAOGAO (ガオガオ) サービス事業概要 2018年8月GAOGAO (ガオガオ) サービス事業概要 2018年8月
GAOGAO (ガオガオ) サービス事業概要 2018年8月Takuya Tejima
 
21-11-17 東大工学部 産業総論 問題把握・解決力を鍛え、将来を自分の手でつかむには?
21-11-17 東大工学部 産業総論 問題把握・解決力を鍛え、将来を自分の手でつかむには?21-11-17 東大工学部 産業総論 問題把握・解決力を鍛え、将来を自分の手でつかむには?
21-11-17 東大工学部 産業総論 問題把握・解決力を鍛え、将来を自分の手でつかむには?ブレークスルーパートナーズ 赤羽雄二
 
GAOGAO事業のご紹介
GAOGAO事業のご紹介GAOGAO事業のご紹介
GAOGAO事業のご紹介Takuya Tejima
 
kintoneフロントエンド開発 モダン化への道
kintoneフロントエンド開発 モダン化への道kintoneフロントエンド開発 モダン化への道
kintoneフロントエンド開発 モダン化への道Yusuke Amano
 
経験ゼロのWeb企業が機械学習に取り組んだ話
経験ゼロのWeb企業が機械学習に取り組んだ話経験ゼロのWeb企業が機械学習に取り組んだ話
経験ゼロのWeb企業が機械学習に取り組んだ話Yoshihiko Shiraki
 
プログラミングを学ぶと何が良いのか
プログラミングを学ぶと何が良いのかプログラミングを学ぶと何が良いのか
プログラミングを学ぶと何が良いのかHaruo Sato
 
GAOGAOゲート2期生サービス概要資料
GAOGAOゲート2期生サービス概要資料GAOGAOゲート2期生サービス概要資料
GAOGAOゲート2期生サービス概要資料Takuya Tejima
 
ManuTech_for_Manufacturer_v1.1
ManuTech_for_Manufacturer_v1.1ManuTech_for_Manufacturer_v1.1
ManuTech_for_Manufacturer_v1.1gCompass Inc
 
メンテナンス性の良いWebシステムを構築するためにjavaとフロントエンドでやるべきこと
メンテナンス性の良いWebシステムを構築するためにjavaとフロントエンドでやるべきことメンテナンス性の良いWebシステムを構築するためにjavaとフロントエンドでやるべきこと
メンテナンス性の良いWebシステムを構築するためにjavaとフロントエンドでやるべきことMitsuru Ogawa
 
子供達と プログラミングをはじめよう
子供達と プログラミングをはじめよう子供達と プログラミングをはじめよう
子供達と プログラミングをはじめようMasao Niizuma
 
rakumoソーシャルスケジューラーの紹介
rakumoソーシャルスケジューラーの紹介rakumoソーシャルスケジューラーの紹介
rakumoソーシャルスケジューラーの紹介Gigei rakumo
 
「コリビング&コワーキング / スキルアップ / ジョブマッチング / 起業支援」GAOGAO(ガオガオ)エンジニア事務所 18
 「コリビング&コワーキング / スキルアップ / ジョブマッチング / 起業支援」GAOGAO(ガオガオ)エンジニア事務所 18  「コリビング&コワーキング / スキルアップ / ジョブマッチング / 起業支援」GAOGAO(ガオガオ)エンジニア事務所 18
「コリビング&コワーキング / スキルアップ / ジョブマッチング / 起業支援」GAOGAO(ガオガオ)エンジニア事務所 18 Takuya Tejima
 
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法Yuta Matsumura
 
WebエンジニアのReactNativeでの戦い方
WebエンジニアのReactNativeでの戦い方WebエンジニアのReactNativeでの戦い方
WebエンジニアのReactNativeでの戦い方PIXTA Inc.
 
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門陽一 滝川
 
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門PIXTA Inc.
 
3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~Takuro Wada
 
マネージャーになってからの技術を磨く戦略と戦術
マネージャーになってからの技術を磨く戦略と戦術マネージャーになってからの技術を磨く戦略と戦術
マネージャーになってからの技術を磨く戦略と戦術PIXTA Inc.
 

Similar to モダンフロントエンド開発者に求められるスキルとは (20)

Next.js Storybook Driven Development
Next.js Storybook Driven DevelopmentNext.js Storybook Driven Development
Next.js Storybook Driven Development
 
GAOGAO (ガオガオ) サービス事業概要 2018年8月
GAOGAO (ガオガオ) サービス事業概要 2018年8月GAOGAO (ガオガオ) サービス事業概要 2018年8月
GAOGAO (ガオガオ) サービス事業概要 2018年8月
 
21-11-17 東大工学部 産業総論 問題把握・解決力を鍛え、将来を自分の手でつかむには?
21-11-17 東大工学部 産業総論 問題把握・解決力を鍛え、将来を自分の手でつかむには?21-11-17 東大工学部 産業総論 問題把握・解決力を鍛え、将来を自分の手でつかむには?
21-11-17 東大工学部 産業総論 問題把握・解決力を鍛え、将来を自分の手でつかむには?
 
GAOGAO事業のご紹介
GAOGAO事業のご紹介GAOGAO事業のご紹介
GAOGAO事業のご紹介
 
LIGでのDocker活用
LIGでのDocker活用LIGでのDocker活用
LIGでのDocker活用
 
kintoneフロントエンド開発 モダン化への道
kintoneフロントエンド開発 モダン化への道kintoneフロントエンド開発 モダン化への道
kintoneフロントエンド開発 モダン化への道
 
経験ゼロのWeb企業が機械学習に取り組んだ話
経験ゼロのWeb企業が機械学習に取り組んだ話経験ゼロのWeb企業が機械学習に取り組んだ話
経験ゼロのWeb企業が機械学習に取り組んだ話
 
プログラミングを学ぶと何が良いのか
プログラミングを学ぶと何が良いのかプログラミングを学ぶと何が良いのか
プログラミングを学ぶと何が良いのか
 
GAOGAOゲート2期生サービス概要資料
GAOGAOゲート2期生サービス概要資料GAOGAOゲート2期生サービス概要資料
GAOGAOゲート2期生サービス概要資料
 
ManuTech_for_Manufacturer_v1.1
ManuTech_for_Manufacturer_v1.1ManuTech_for_Manufacturer_v1.1
ManuTech_for_Manufacturer_v1.1
 
メンテナンス性の良いWebシステムを構築するためにjavaとフロントエンドでやるべきこと
メンテナンス性の良いWebシステムを構築するためにjavaとフロントエンドでやるべきことメンテナンス性の良いWebシステムを構築するためにjavaとフロントエンドでやるべきこと
メンテナンス性の良いWebシステムを構築するためにjavaとフロントエンドでやるべきこと
 
子供達と プログラミングをはじめよう
子供達と プログラミングをはじめよう子供達と プログラミングをはじめよう
子供達と プログラミングをはじめよう
 
rakumoソーシャルスケジューラーの紹介
rakumoソーシャルスケジューラーの紹介rakumoソーシャルスケジューラーの紹介
rakumoソーシャルスケジューラーの紹介
 
「コリビング&コワーキング / スキルアップ / ジョブマッチング / 起業支援」GAOGAO(ガオガオ)エンジニア事務所 18
 「コリビング&コワーキング / スキルアップ / ジョブマッチング / 起業支援」GAOGAO(ガオガオ)エンジニア事務所 18  「コリビング&コワーキング / スキルアップ / ジョブマッチング / 起業支援」GAOGAO(ガオガオ)エンジニア事務所 18
「コリビング&コワーキング / スキルアップ / ジョブマッチング / 起業支援」GAOGAO(ガオガオ)エンジニア事務所 18
 
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
 
WebエンジニアのReactNativeでの戦い方
WebエンジニアのReactNativeでの戦い方WebエンジニアのReactNativeでの戦い方
WebエンジニアのReactNativeでの戦い方
 
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
 
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門
 
3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~
 
マネージャーになってからの技術を磨く戦略と戦術
マネージャーになってからの技術を磨く戦略と戦術マネージャーになってからの技術を磨く戦略と戦術
マネージャーになってからの技術を磨く戦略と戦術
 

More from Takuya Tejima

Nest.js Introduction
Nest.js IntroductionNest.js Introduction
Nest.js IntroductionTakuya Tejima
 
グローバルエンジニアキャリア はじめの一歩
グローバルエンジニアキャリア はじめの一歩グローバルエンジニアキャリア はじめの一歩
グローバルエンジニアキャリア はじめの一歩Takuya Tejima
 
GAOGAO発表資料〜エンジニアギルドミートアップ〜
GAOGAO発表資料〜エンジニアギルドミートアップ〜GAOGAO発表資料〜エンジニアギルドミートアップ〜
GAOGAO発表資料〜エンジニアギルドミートアップ〜Takuya Tejima
 
Laravel管理画面ジェネレーター
Laravel管理画面ジェネレーターLaravel管理画面ジェネレーター
Laravel管理画面ジェネレーターTakuya Tejima
 
エンジニア・コミュニティ・ドリブンで会社を成長させていくGAOGAO
エンジニア・コミュニティ・ドリブンで会社を成長させていくGAOGAOエンジニア・コミュニティ・ドリブンで会社を成長させていくGAOGAO
エンジニア・コミュニティ・ドリブンで会社を成長させていくGAOGAOTakuya Tejima
 
Global Creators Workshop in Asia
Global Creators Workshop in AsiaGlobal Creators Workshop in Asia
Global Creators Workshop in AsiaTakuya Tejima
 
Global Startup Creators vol.5 - Facebook bot development handson
Global Startup Creators vol.5 - Facebook bot development handsonGlobal Startup Creators vol.5 - Facebook bot development handson
Global Startup Creators vol.5 - Facebook bot development handsonTakuya Tejima
 
How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0Takuya Tejima
 
Vue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.jsVue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.jsTakuya Tejima
 
Parseでちゃんとアプリを作るコツ
Parseでちゃんとアプリを作るコツParseでちゃんとアプリを作るコツ
Parseでちゃんとアプリを作るコツTakuya Tejima
 
React Canvasで作るFlappy Bird
React Canvasで作るFlappy BirdReact Canvasで作るFlappy Bird
React Canvasで作るFlappy BirdTakuya Tejima
 

More from Takuya Tejima (12)

Nest.js Introduction
Nest.js IntroductionNest.js Introduction
Nest.js Introduction
 
グローバルエンジニアキャリア はじめの一歩
グローバルエンジニアキャリア はじめの一歩グローバルエンジニアキャリア はじめの一歩
グローバルエンジニアキャリア はじめの一歩
 
GAOGAO発表資料〜エンジニアギルドミートアップ〜
GAOGAO発表資料〜エンジニアギルドミートアップ〜GAOGAO発表資料〜エンジニアギルドミートアップ〜
GAOGAO発表資料〜エンジニアギルドミートアップ〜
 
Laravel管理画面ジェネレーター
Laravel管理画面ジェネレーターLaravel管理画面ジェネレーター
Laravel管理画面ジェネレーター
 
エンジニア・コミュニティ・ドリブンで会社を成長させていくGAOGAO
エンジニア・コミュニティ・ドリブンで会社を成長させていくGAOGAOエンジニア・コミュニティ・ドリブンで会社を成長させていくGAOGAO
エンジニア・コミュニティ・ドリブンで会社を成長させていくGAOGAO
 
Global Creators Workshop in Asia
Global Creators Workshop in AsiaGlobal Creators Workshop in Asia
Global Creators Workshop in Asia
 
Global Startup Creators vol.5 - Facebook bot development handson
Global Startup Creators vol.5 - Facebook bot development handsonGlobal Startup Creators vol.5 - Facebook bot development handson
Global Startup Creators vol.5 - Facebook bot development handson
 
How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0
 
Vue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.jsVue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.js
 
Parseでちゃんとアプリを作るコツ
Parseでちゃんとアプリを作るコツParseでちゃんとアプリを作るコツ
Parseでちゃんとアプリを作るコツ
 
DevMorning
DevMorningDevMorning
DevMorning
 
React Canvasで作るFlappy Bird
React Canvasで作るFlappy BirdReact Canvasで作るFlappy Bird
React Canvasで作るFlappy Bird
 

Recently uploaded

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (12)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

モダンフロントエンド開発者に求められるスキルとは

  • 1. Takuya Tejima March 28th, 2023 モダンフロントエンド開発者に 求められるスキルとは
  • 2. ● 略歴 ○ 新卒でIBMソフトウェア開発研究所でソフトウェアエンジニア ○ LINEでフロントエンドエンジニア ○ 共同創業者兼CTOとして起業(東南アジアへ) ○ 現在2社目の起業としてGAOGAOを創業(シンガポールベース) ■ 「グローバル」を強みにした60名規模のエンジニアが参画する開発会社 ■ 最近はエンジニア業務以外に、大手企業のエンジニア組織立ち上げやマネージメント業務が多め ● 書籍執筆 ○ 共著: Vue.js入門 ○ 共著: TypeScriptとReact/Next.jsでつくる実践Webアプリケーション (1-2章 担当) About Me Takuya Tejima | GAOGAO Co-founder&CEO @tejitak
  • 5. jQuery全盛期 - jQueryが大多数のWebサイト・アプリケーションで使用されていた理由はブラウザの互換性解消が大きな理由だった - アプリケーション開発の多くの処理はサーバー側で実装されていた - コンポーネント指向ではなく、特定のDOMに対してグローバルに処理を追加していく形式だった - SPAの例は増えてきていたもののAjaxがメインで包括的なアプリケーションフレームワークなどは浸透していなかった jQuery全盛期からReact全盛期へ(モダンフロントエンド) React全盛期 (現在) - ブラウザの性能の向上と共に高いUI/UX・DX(Developer Experiece)を実現できるようになった - UI/UXの向上: コンポーネント設計、ステート設計、インフラ設計、パフォーマンス測定の重要性 - DXの向上: ビルドツールからデプロイ・テストまで周辺ツールの拡充 - 結果、サーバー・クライアント型Web開発において、フロントエンドの比重が大きくなってきた (参考: https://roadmap.sh/frontend) フロントエンド開発そのもののあり方が変わってきている
  • 7. ● 設計 ○ 1 要件/UX・UI定義 ■ Spec(UI・UX)の理解 (企画・デザイナーとのコミュ ニケーション) ○ 2 API設計 ■ インターフェース設計 (BEとのコミュニケーション) ○ 3 コンポーネント設計 ■ atomicデザイン設計 ○ 4 ステート設計 ■ props/redux/provider/container component ○ 5 ルーティング設計 ■ URL定義/パラメーター設定 ○ 6 レンダリング設計 ■ CSR/SSG/SSR ○ 7 SEO設計 ■ メタ情報設定 ● 実装 ○ 8 UI実装 ■ ページ & atomicコンポーネントの書く ■ tailwind & CSS moduleを書く ■ TS型定義 ■ mockデータとstorybookファイル作成 ■ i18n/アクセシビリティ実装 ○ 9 ロジック実装 ■ ステート管理 ■ APIとの接続 ○ 10 テスト実装 ■ Unitテストを書く ■ E2Eテストを書く ○ 11 deploy ■ ビルドする ■ CI/CDを通じて動作確認 ○ 12 QA ■ デザインQA・ブラウザ互換性・バグ修正 フロントエンドエンジニアの日々の業務。一機能追加するだけでも工数が多い モダンフロントエンド開発現場での実装例
  • 11. コーディング面 ● レガシーJavaScriptコード→TypeScript化への必要性(型定義を始めとした導入コストが高い) ● 新しいライブラリの学習コストが高い ● 報告される問題の総量が多くデバッグが大変 (UI側から問題報告は入りがちのため) ● サポートデバイス・ブラウザの対象が多い 設計面 ● 学ぶべき知識の範囲が広い (CSS含めたUI/UXコンポーネント設計領域から, API・CDN/SSR, i18n, E2E etc.) ● サーバー通信・ステート管理のベストプラクティスの模索の必要 ● フロントエンド内複数人開発における効果的な開発環境ツールの整備が複雑 組織面 ● 関わる担当組織が多い(主に、企画担当者、UI/UXデザイナー、BE担当者、インフラ担当者、QA担当者) ● チーム内を構成するフロントエンドエンジニア同士のコミュニケーション(タスク分担・Sprint設計など) フロントエンドエンジニアが抱える課題 ハードスキル面だけでなくソフトスキル面もバックエンドエンジニア以上に求められるケースが多い
  • 12. React / Nextやwebpack / Viteなどのツー ルを代表としたライブラリ固有の知識。長 期記憶のストックを増やすことで開発を効 率化に繋がる ライブラリそのものの知識 ライブラリに依存しない 根本理解力・問題解決力 なぜ?を繰り返し、コードの根本を理解でき る汎用的な実装スキル。ライブラリに依存し ないコアロジックの開発やデバッグなどにお ける高い問題解決能力につながる フロントエンドコーディング以外 の知識 (サーバー・基盤など) モダンフロントエンドに求められるハードスキルとソフトスキル API・CDN・PWA・CI/CD・UI/UXなどなど FEの領域が本来のFEだけに留まらず拡がっ ている中で、さらにバリューを高められる ハードスキル 未知の知識を幅広く・速く吸収 できる探索学習力 新しいものを学習して自身をアップデート していく意欲・マインド。進化の早い領域 で市場価値を高く持つために重要となる素 質 他部署と共通認識をとれる コミュニケーション力 特にUI/UX領域、サーバーサイドの必要な知 識を持ち合わせた上で他部署のエキスパート および開発チーム内とコミュニケーションを 取り推進できる力 自分自身で考え実行できる力 流行っているから、と流されず、技術選定 など新しいものを自分自身で咀嚼した上で 意思決定ができる力。現場特性から最適な ソリューションを合理的に判断・提案する ことでチームの成功に導くことができる
  • 13. ● フロントエンドエンジニアの面談対策はコーディング面以外も判断するための対象要素が多い ○ ハードスキル面 ■ コーディング能力を問う ● 簡単なアルゴリズムの問題など、JSコーディング試験 ■ 知識を問う ● React Hooksはなんですか? Cookieとローカルストレージの違いはなんですか? ■ 設計力を問う ● Reduxのメリットはなんですか?どのようにコンポーネント設計を行いますか? ■ 問題解決力を問う ● その時に起こった問題を教えてください?どのように解決をしましたか? ○ ソフトスキル面 ■ マインドを知る ● 今注目しているライブラリはありますか?新しい技術の習得はどのように行いますか? ■ コミュニケーション能力を知る ● チーム開発経験はありますか?ビジネスサイドと仕様策定に関わることはありますか? ■ 自分自身で考えられる力を問う ● 選択した技術スタックのメリット・デメリットは?テストを書かなかったのはなぜですか? Tips: あなたがもし面接官だったら、どうやって判断する?
  • 14. ● 現状、以下フルスタックをフロントエンドエンジニアとして意味していることが多い エンジニアロール マークアップエンジニア 例: tailwind・アニメーションなどHTML/CSS周りの実装 FEアプリケーションエンジニア 例: ステート・rendering設計含むアプリケーション実装/PWA開発 FE OSSエンジニア 例: React/Reduxなどフレームワーク自体の実装 BFFエンジニア 例: nodeレイヤー・SSR・SSG設計などサーバーと関連する実装 FEインフラエンジニア 例: ビルド / CI・CDレイヤー/CDN含む開発環境基盤周り E2Eエンジニア 例: Cypress・Playwrightなどの設計・テストコード運用 マネージャーロール FEアーキテクト 例: 技術選定、設計・レビュー FE EM 例: フロントエンドエンジニアのマネージメント FE TPM 例: 他部署との連携重視のマネージメント フロントエンドエンジニアのロールとキャリア 上記は極端な分類かもしれないが需要のさらなる拡大に伴いエンジニアの関心の強い分野で細分化されていくのは自然
  • 15. - さらにその先は..? ○ レガシースタックのままでは、技術負債が蓄積され、企業としては技術者も採用できない状況になる ○ サーバーレス・PWAの普及によりフロントニーズがさらに加速する ○ モダンフロントエンド開発の共通基盤とそれぞれの技術要素領域の細分化に合わせて職種も定義されていく ○ バーティカル(AI, VR/AR, Web3, ネイティブアプリ)化が顕著になっていく ○ フロントエンドエンジニアのキャリアの設計もこれらの現状を俯瞰的考える必要性が高まる - 現状 (本日の話まとめ) ○ TypeScript化を筆頭にモダンフロントエンドへの変遷期 (業界全体でモダナイズが進行) ○ 昨今のモダンフロントエンドの領域に伴い、フロントエンドエンジニアの仕事が広範囲になってきている ○ Next.jsはその一翼を担う存在になってきている ○ フロントエンド人材には広く深いハードスキル・ソフトスキルが必要になってきている モダンフロントエンドの今後 まずはNext本を手に取って読んでみましょう