WEB制作会社のフロントエンドエンジニアとして生きていくために最低限必要と思われること。そしてより生きやすくしていくために。
現場(WEB制作会社)からお送りいたします。
必要と思われる技術・知識・能力
マークアップ
- HTML
- セマンティックなマークアップ
- HTML5の理解
- CSS
- 基本的なプロパティの理解
- CSS3の理解
- CSSフレームワークの使い方
- メンテナンス性を考えて書ける
- sassの知識(またはless, stylus, postcss)
プログラミング
- JavaScript
- ライブラリの使い方
- 各種APIの知識
- パフォーマンスを考えて書ける
- テンプレートエンジンの知識(Jade, EJSなど)
- PHPの知識(WordPressとかで使う)
- DBの知識
- Node.js
- Gulpの知識(Gruntは用済)
- 自動化できるところは自動化できる
- MVCの理解
デザイン
- ある程度のセンス
- Photoshopなどツールの知識
ツール
- PCの効率的な操作(WindowsとかMacとか)
- エディター, IDEの効率的な操作
- バージョン管理ツールの知識(Git, Subversion)
- ブラウザの開発者ツール
- Photoshop
- Illustrator, flash(Photoshopほどではない)
その他
- タッチタイピング
- 各ブラウザの挙動・特徴(特にIE)
- 各モバイルデバイスの挙動・特徴
- SEO対策の知識
- 設計力(構造化力)
- 国語力、英語力(命名力、理解力)
- 折衝力、ディレクション力
- CMSの仕組み
- 画像に関する知識
技術を伸ばすには
行動
- 情報収集
- 勉強会(コミュニティ)に参加してみる
- コードを読む(技術の上限を上げる)
- コードを書く(技術の下限を上げる)
学習法
- トレンドの技術を試してみる
- 仕事以外でなにか作ってみる
- 自分が目指す環境に身をおく
- コピペせずトレースする。繰り返し書く
- レビューしてもらう
- 自分の頭だけで考えて作ってみる
- 参考書を読む→サンプルを作る
- 「リーダブルコード」みたいな本を読む
- 人月の神話
- 闘うプログラマー
- 短期集中
- 公式ドキュメントを読む
- 座学<実践
- ライブラリの中身をのぞいてみる(自分で書いてみる)
- UNIXの勉強
- 頑張ればできそうなくらいの仕事をこなしていく
- 英語の勉強(公式ドキュメントとか読めるようになる)
こころがけ
- なんのために作るかはっきりさせてから作る
- ほかの人がぱっと見て理解できるように書く
- 拡張・変更がしやすいように書く
- 動けばいい、では無い
- 難しいことに挑戦する
- やることを絞る
- ビジョンを持つ
- キャリアパス(方向性)を考える
- 目標を持つ
- 1ヶ月後にどうなるか
- 1年後にどうなるか
- 小さな成功体験を積み重ねることを意識
- コピペしない
- やっつけな仕事をしない
- 全体像を把握する
メンタル
- 楽しむ
- 自主性
- なにか作りたい
エンジニア育成
- レビューしてフィードバックする
- 出来る限り任せる。けど最終的な責任は取るよ的なスタンス
- 継続性・一貫性のある指導をこころがける
- 具体的な方法を指示するではなく、自然と成功にたどりつけるように導く
- 行動で示す
- 本気で人を育てようという意識をもつ
おわりに
とりあえず思いつく限りあげてみました。
随時更新予定です。
また、いつか社内でブレストするかもしれないので、そしたらまとめ直します。