大規模開発の役割分担
大規模な開発を行うとき、個人の力では限界があります。
*なおこの記事の定義は当組織のものです。
役割① PM
PMは「プロジェクトマネージャー」の略称です。企画の発案やプロジェクト全体を見渡し技術的、資金的、人員的な障害を取り除きプロジェクトを成功に導きます。
必要なスキル・能力
・インフラからデザインまでをある程度理解できる能力
・担当者の違うレイヤーがぶつかりそうになった時にちゃんと調停する能力
・エンジニア以外の(例えば経理や総務)などと折り合いをつけることができる交渉能力
・企画そのものを発想することができる発想能力
役割② デザイナー
デザイナーは実際に動作するWEBサイトをデザインする担当です。ユーザーにとって見やすく、使いやすいデザインを考案しプロジェクトを成功に導きます。
必要なスキル能力
・デザイン能力
・デザインを(例えばイラストレーターなどを用いて)アウトプットして他のレイヤーの担当に伝えることができる能力
役割③ フロントエンドエンジニア
デザイナーが作ったデータを実際にHTML,CSS,JSに起こす作業の担当です。デザイナーのデザインを崩さずできるだけ軽いコードを構成することでその後の開発を効率化しプロジェクトを成功に導きます。
必要な能力
・高度なHTML,CSS,JSの作成能力
・デバイスや解像度が変化することを想定したきめ細かい場合分けを行ったコーディング能力
・できるだけ画像やコードを軽くするこだわりを持つ能力
役割④ バックエンドエンジニア
フロントエンドエンジニアが作ったHTMLにバックエンドを組み込んでいく担当です。このあたりからセキュリティ意識やアプリケーションのメモリ管理などより細かなOSレベルの問題について考えなければなりません。またアプリ自体の動作もバックエンドエンジニアの腕前によって決まる部分です。
必要な能力
・バックエンドをフレームワークを用いて書くことができる能力
・その他周辺アプリケーションに関する能力
・その他ネットワークやブラウザのセキュリティ能力
役割⑤ インフラエンジニア
土方です。また、原因不明のエラーが一番多いイメージです。アプリ全体のパフォーマンスやセキュリティなどの知識が必要でプロジェクト全体の命運を分ける担当でしょう。
必要な能力
・サーバーやネットワークに関する高度な知識と技術
・ネットワークやOSセキュリティに関する高度な知識と技術
・割と根性
Discussion