エンジニアリングスキル
エンジニアリングスキル
能力指標
コンピュータサイエンス
データ構造
アルゴリズム
システムプログラミング
ソフトウェアエンジニアリング
ソースコードのバージョン管理
ビルド自動化
自動テスト
プログラミング
問題の分解
システムの分解
コミュニケーション
同一ファイル内におけるコードの秩序
ファイル間におけるコードの秩序
ソースツリーの秩序
コードの可読性
防御的プログラミング
エラー処理
IDE
API
フレームワーク
要求仕様
スクリプト言語
データベース
経験
業務レベルで使用経験のある言語
業務レベルで使用経験のあるプラットフォームの数
職業プログラマとしての経験年数
専門知識
知識
ツール知識
触れたことのある言語
コードベースの知識
最新技術に関する知識
プラットフォームの内部
読んだことのある書籍
ブログ
http://postd.cc/programmer-competency-matrix/
適当に考えたエンジニアとして必要そうなスキル
突破力
自分のやったことない領域でも自主的に動いて実装,インテグできる
システムデザイン力
曖昧な要求から(モダンな)システムの概要を設計できる(耐障害性やスケーラビリティとかも)
業務プログラム作成力
プログラムを適切な粒度で構造化できる、テスト書ける、CIできる
不具合分析力
バグの概要からどこに問題があるかあたりをつけることができる(コードリーディング力)
アルゴリズム記述能力
ソートとか、二分木とか書ける
作業効率化力
作業環境をどこまで効率化しているか
継続的学習能力
GitHubとか、プロダクトとか、読書実績(Twitterにつぶやいたやつとか)見るしかない
ググり力
つまったときに適切なワードで検索できて解決につなげられるかとかツール選定を適切にできるかとか
できないエンジニア
優先順位がつけられない
疑問や課題感を感じない、感じても放置する
失敗やうまくいかなかったケースを共有しない
過去の自分(過去の技術)を過信している
IT技術やプログラミングが嫌い・興味が持てない
エンジニアの成長曲線
http://yshibata.blog.so-net.ne.jp/2013-10-10
ITエンジニアが「成長できる」環境と「成長できない」環境
https://itjinzai-lab.jp/article/detail/856?p=3
作業効率化
日本語入力
Google日本語入力を入れる
サジェストを9件(Max)にする
職場環境
バカ環境
作業に使うPCのメモリ容量とディスプレイの画素数と枚数を教えてください。
メモリ8GB未満→論外。「我々は、たかだか数千円の費用をケチって従業員の作業効率や快適性を下げているバカの集団です」と言っているも同然。
フルHD未満→論外。「我々は、たかだか1〜2万円の日用をケチって(同上)」
フルHD以上のディスプレイが1枚→可もなく不可もなく。ノートPCと外部ディスプレイ(フルHD以上)ならまあ可か。
フルHD以上のディスプレイが2枚以上→合格
設計やコーディングや試験項目のレビューを行う体制が整っていますか? 「レビューをしてください」とお願いしたらしてくれるのではなく、組織としてレビューを行うように決まっていますか?
開発用の仮想環境・試験用の仮想環境・本番の環境の3つは少なくとも用意されていますか? また、それらを構築するためのマニュアルが整備されていたり、スクリプト等で自動的に構築されるようにしていますか?
派遣社員・契約社員・正社員を問わず、定期的に不満や改善してほしい点を吸い上げるためのミーティングの場を設けていますか?
開発用のPCは、OSがWindows/Mac/Linuxなど選べるかどうか?キーボードがJISかUSか選べるかどうか?
職場にウォーターサーバーはあるか? コーヒーやお茶などは無料か? また、椅子は1万円以下のものではなく、少なくとも数万円以上のものを貸与しているか? パーティションはあるか?
スーツや、ワイシャツ&スラックス着用が必須か? また、男性従業員のみがそうであって、女性従業員は比較的自由な服装か?
言語のバージョンは、最新のメジャーバージョンに比べてせめて1世代前程度か?(例えばJavaなら7以上、PHPなら5.6以上か?)
Last updated