ウェブにおける、Fullstack Enginear とは何か?
ウェブに関わる知識、技術全般を備えた技術者。
フルスタックエンジニアとは下記のエンジニアと呼ばれる職種の知識やスキル全てを有したエンジニアと言えます。
- フロントエンジニア
- バックエンドエンジニア
- システムエンジニア
- サーバエンジニア
- データベースエンジニア
- ネットワークエンジニア
通常は一つ一つに専門の技術者が分業してプロジェクトを進めますが、フルスタックエンジニアはすべて一人で開発を行います。
しかし、フルスタックエンジニアの定義は、かなり難しいです。 ここ数年のウェブの動向を見ても、レスポンシブルデザイン、スマホの復旧、回線品質の向上による高画質画像、動画の導入などウェブの世界をとりまくハード環境はどんどん進化しています。 また、技術的にもhttp/2,amp,pwaなどスピードや使い勝手を向上させる規約や仕様などが、どんどん投入されています。もちろんフロント以外、バックエンドやネットワークにおいても同じです。
この変わりゆく物をしっかり追いかけながらも、基本を抑えるためには幅広い知識とスキルが必要になります。
フルスタックエンジニアの為のセグメント
フルスタックエンジニアになる為には下記の項目を幅広く理解する必要があります。
Index
Developer Skill
- 1 ClinentsSide(クライアントサイド)
- 2 ServerSide(サーバサイド)
- 3 Service(外部サービス)
- 4 Network(ネットワーク)
- 5 Others(その他、基本概念、学習方法)
Project Management
大きくは上の10に分ける事ができます。
フルスタックエンジニアの為のセグメントの詳細
1
1 ClinentsSide(クライアントサイド)
- 01-Browser & Device / 対応ブラウザ・デバイス問題(W3Cとブラウザの挙動、デバイス)
- 02-Language / 各種言語( HTML,CSS,JS )
- 03-UIUX / Design UI UX,MobileFirst
- 04-Accessvility / アクセシビリティ(8341他)
2
2 ServerSide(サーバサイド)
- 2-1 Middleware and Config / ミドルウェアと設定ファイル
- 01-Outer / 外部からの接続(HTTP,FTP,SSH・・・)
- 02-Conf / 設定ファイル(htaccess,各種conf)
- 03-Server / 各種サーバ
- Webサーバ、DBサーバ、メールサーバ、DNSサーバ
- アプリケーションサーバ、PUSHサーバ ※
- プロキシサーバ ※
- 04-Others / その他(vHost,NTP,CRON/バッチ処理,NFS,SYNC,Samba,WebDav)
- 05-SearchEnging/検索(Namazu他)
- 2-2 CMS(wp,mt他)
- 2-3 Ohter Package(EC,CRM,MA)
- 2-4 Language(各種言語)/ PHP,JAVA,Ruby,Python・・・
- 2-5 Ops(運用)
- 仮想化(xen,docker・・)
- セキュリティ(WAF,IDS,IPS,Firewall・・・)
- 冗長化(LB,アベイラビリティ・・・)
- BCP対策(バックアップ、コールドスタンバイ・・・)
- 24/365対応(一次対応、2次対応・・・)
- LOG監視(アクセスログ・・・)
- 2-6 OS
3
3 Service(外部サービス)
- 01-API / API利用(googlemap・・・)
- 02-Servers / レンタルサーバ,VPS,AWS,CDN
- 03-Contents Service / コンテンツサービス単位(スマホ対応:mobify,IR:pronexus)
- 04-Delivery Contents / 動画配信サーバ、コンテンツ配信サーバ
- 05-Different Venders / 選定業者やサービスによる特性の違い(手順、有料無料、サポートの範囲が異なる)
- 06-Domain / ドメイン
- 07-Geo location(どこどこ)
- 08-Mail / メール配信(sendgrid)、メール暗号化の問題(awsでの未対応等)
- 09-Search / 検索(Mars,Probo・・・)
- 10-SSL / SSL証明書
- 11-Virtualization Container / 仮想化、コンテナ技術
- 12-Web Font / ウェブフォント
4
4 Network(ネットワーク)
- 01-OSI Reference Model / OSI参照モデル ネットワーク技術概念
- 各種ポート,SSL
- HTTP1.1(Request Header,Bodyなど HTTP通信の形式) HTTP2
- Cookie,loacalstrage,session・・・・
- Socket
- 02-Network Equipments / ネットワーク機器と技術
- VPN
- ルーター、Hub
- 03-File Share / ファイル共有
- WebDav
- 04-AWS でのネットワーク構築
5
5 Others(その他、基本概念、学習方法)
6
6 Develop/制作、開発時
6-1 System Develop / システム設計(要件定義(機能要件、非機能要件)、基本設計、詳細設計、課題管理、議事録 〜 納品、請求)
6-2 Develop Skill / 開発技術
7
7 Analyze(解析、戦略、MA)
- 01-SEM,SEO,SMS
- 02-LP,A/B test
- 03-Analytics / 解析ツール(アナリティクス,ヒートマップ・・・他)
- 04-MAツール(Hubspot,Salesforce)
- MA integration Tool(web to lead,zoom)
8
8 SystemApp(システム、アプリ制作)
- システム制作
- Linux,Windows,Mac
- C,C++,C#,VB,VBA,Java
- アプリ制作
- iOS,Android,WindowsApp
- C#,Swift,Java
9
9 NewTech(新しい技術)
10
10 Mainframe(基幹系)
- メインフレーム
- シンクライアント
11
11 経営やビジネスに関わる知識、技術 / Strategy and Business Tools
特集・講座
Webエンジニアを目指す為の読み物
今からWEBエンジニアを目指す人の為のコンテンツです。
フルスタックを目指す為の読み物
フルスタックエンジニアを目指すにはスキルと知識の積み重ねが必要です。しかし、それは簡単ではありません。 ではどうすれば良いでしょうか?
- 第1回 フルスタックエンジニアを目指すにはどうすれば良いか? 必要な心構えとは?
- 第2回 フルスタックエンジニアを目指すにはどうすれば良いか? 勉強法とは?
- 第3回 フルスタックエンジニアになる為に必要な知識、技術