misc

Web系エンジニアとしてのスキルポートフォリオをWeb Developer Roadmap2019でチェックしてみる【フロントエンド編】

投稿日:

はじめに

最近、日々の学習の成果や転職の際の履歴書代わりにポートフォリオを作るのが流行っていますね。

今現在自分が保持するスキルセットを明確に把握するのは安心感や向上心に繋がり、今後やるべきことが見えて来たりします。

ただざっくばらんに状況把握をし始めると、もっと細かい技術要素レベルで自分が時代にキャッチアップ出来てるのか知りたくなってきますよね。

「Web開発者ロードマップ2019」という素晴らしい資料をKamran Ahmedさんという方が作成してgithubに上げてくれているので、これに沿って自分の保持スキルや学習すべきことを確認していきたいと思います。

Thank you for making a gread roadmap, Mr. Kamran.

ロードマップ

青い実線に沿って進んでいき、破線から技術をチョイスする形式になっています。

チェック時のルール

  • 青い実線に沿って進んでいき、破線の選択肢から経験済みのものに〇を付ける。
  • 仕事で使ったことがなくても勉強してある程度理解しているものは〇してOK。
  • 載っている技術要素だけを対象にする。

チェック開始

1.HTML、CSS、Basics of JavaScript

HTML

  • 〇 基礎学習
  • 〇 セマンティックHTML
  • 〇 基礎SEO
  • 〇 アクセシビリティ

CSS

  • 〇 基礎学習
  • 〇 レイアウト作成(Floots、Positioning、Display、Box Model、CSS Grid、Flex Box)
  •   メディアクエリ
  •   CSS3仕様学習

Javascript

  • 〇 シンタックス、基礎構造
  • 〇 DOM操作学習
  • 〇 Fetch API、Ajax(XHR)
  • 〇 ES6 + Javascriptモジュール
  • 〇 ホスティング、イベントバブリング、スコープ、prototype、Shadow DOM、strict、ブラウザ挙動、DNS、HTTP

2.Package Manager

  • npm
  •   yarn

npmが弱点補強してくれたのでyarnは使わなくなりました。

3.CSS Pre-processors

  • 〇 SASS
  •   PostCSS
  •   Less

SCSSしか使ったことがありません。CSSは最低限のことだけ知っておくスタイルで知識を付けています。

4.CSS Framework

  • 〇 Bootstrap
  •   Materialize CSS
  •   Bulma
  •   Semantic UI

もっぱらAngulrar MaterialかIonicを使っていますがリストに無いです。

5.CSS Architecture

  •   BEM
  •   OOCSS
  •   SMACSS

全滅。今現在はCSSの設計概念まで勉強したことが無いです。CSSフレームワークか、デザイナさん任せな感じです。

6.Build Tools

Linter and Formatters

  • 〇 Prettier
  • 〇 ESLint
  • 〇 JSHint
  • 〇 JSLint
  •   JSCS

JSCS以外は普段使いをしています。というか初見でした、JSCS。

Task Runners

  • 〇 npm scripts
  • 〇 gulp

gulpは最近めっきり使わなくなり、npmスクリプトオンリーになっています。

Module Bundlers

  • 〇 Webpack
  •   Parcel
  •   Rollup

Webpack一択です。Parcelの追撃をWebpackが振り切った印象を持ってます。

7.Pick a Framework

  • 〇 Angular
  • 〇 React.js
  • 〇 Vue.js

AngularとVueは仕事ユースです。この三つ巴はいつまで続くんでしょうね。

8.CSS in JS

  •   Styled Components
  •   CSS Modules
  •   Emotion
  •   Glamorous

またもや全滅・・・。リストされているものは全部初見でした。専業デザイナーさんだったら使うんでしょうか。存在を知れただけで良しとします。

9.Testing your Apps

  • 〇 Jest
  •   Enzyme
  •   Cypress
  •   Mocha
  •   Chai
  •   Ava
  • 〇 Jasmine
  • 〇 Karma
  • 〇 Protractor

Jasmineで書いてKarmaで回す派でしたが最近Jestに手を付けました。

10.Progressive Web App

  • 〇 Storage
  • 〇 Web Sockets
  • 〇 Service Workers
  • 〇 Locations
  • 〇 Notifications
  • 〇 Device Orientation
  • 〇 Payments
  •   Credentials

PWAの中で使うW3C標準技術。リスト内のCredential Management APIはSafari12ではまだ未実装で実戦投入が厳しい印象です。

11.Type Checkers

  • 〇 TypeScript
  •   Flow

世の中の流れ的にも選択の余地無しでしょうか。

12.Server Side Rendering

  •   Next.js
  •   After.js
  • 〇 Angular Universal
  • 〇 Nuxt.js

ReactよりもAngular、Vueの方が使う機会が多いです。好みの問題ですね。

13.Static Site Generators

  • 〇 GatsbyJS

ただNetlifyと共に使い場所が無いんですよね・・・ブログ代替?

14.Desktop Application

  • 〇 Electron
  •   Proton Native
  •   Carlo

最近SwingやC#でGUIアプリを作ることがめっきり無くなりました。Webに技術が集約されるあおりはDesktopアプリが最も喰らっていますね。Swingは昔よく使って好きだったので頑張って欲しいです。

15.Web Assembly

  • 〇 (Goで試しに動かしたくらい)

時勢が来たら本気出す感じで。

まとめ

やってみて初見の技術要素名を知るだけで知見がありました。

個人的には普段デザイン関係に力を入れていないのでCSS関連がキャッチアップ以前に基礎が甘いなぁという感じで補強するモチベーションになりました。

2020年版のロードマップはどうなっているんでしょうね。Payment Request API、Web Share API他、HTML5仕様が来年も続々実戦投入されてそれにつれて重要視される技術ファクタも変わってくると思います。今から楽しみです。

karmanさん素晴らしいロードマップをありがとう。次回はサーバサイド編です。

-misc

執筆者:

関連記事

Web系エンジニアとしてのスキルポートフォリオをWeb Developer Roadmap2019でチェックしてみる【バックエンド編】

目次1 はじめに2 チェック時のルール3 チェック開始3.1 1.Pick a Language3.2 2.Practice what you learnt3.3 3.Learn Package Ma …

「エニアグラム」をチームレクリエーションに取り入れてみる

目次1 目的2 エニアグラムって何?3 やってみた結果4 潤滑油としてオススメ5 おまけ 目的 ITプロジェクトに限らず、上司部下関わらず、他人と仕事をしているとこんな状態になることがあります。 新規 …

「TIOBE Index」「RedMonk」「DB-Engines Ranking」のランキング調査方法

何かの裏付けを取りたくて自分でシェアの調査をする時があったりします。 Googleで汎用的な数値を出して、Githubのスター数、npm trendsなど、その分野に特化した数値をプラスアルファしてい …

Web系エンジニアとしてのスキルポートフォリオをWeb Developer Roadmap2019でチェックしてみる【DevOps編】

目次1 はじめに2 ロードマップ3 チェック時のルール4 チェック開始4.1 1.Learn a Programming Language4.2 2.Understand different OS C …

 

shingo.nakanishi
 

東京在勤、1977年生まれ、IT職歴2n年、生涯現役技術者を目指しています。健康第一。