あくまでも私の独断と偏見です。
なんかごちゃごちゃ言ってんなって思ってください。
聴覚情報処理能力
耳で聞いたことを処理して適切な解釈ができる能力です。
顧客、PM、リーダからの指示を正しく解釈できる。
相手が思ってることと自分が解釈したことが間違ってると
相手の要求と違う成果物が出来上がります。
これが結構難しい、指示の仕方が曖昧だったりするとうまくいきません。
ただ指示が曖昧なのか、聞いてたやつが勘違いしたのかの切り分けも難しい。
読解能力
これは言わずもがな、要件定義書、設計書などあらゆる資料に記載されている内容を正しく理解する能力。これはSEだけでなくどの仕事にも必要ですね。
読めるだけじゃダメです、読んだうえで正しい解釈をすることが重要です。
説明力
めっちゃ重要、とにかく仕事してれば自分の知らないことは山ほど出てきます。
そうなったときは、必ずリーダやチームメンバに確認するのですが、
何がどうわからないのか、不明点を解決するためには何を教えてほしいのかをきっちり伝わるように説明しなければなりません。逆もしかり、答える側も相手に一意の解釈をしてもらえるように曖昧性を排除した説明が必要になります。
お客さんに説明する際も、相手がITに疎い人間ならばそのレベルに合わせた説明が必要になります。かなーり難しいですよね?
資料作成能力(文章力)
資料はただ作るだけでは資料とは言えません、お客様向けのシステム説明資料
を作成する場合、記載内容がシステムと矛盾する部分はあってはなりません。
また、一意な解釈ができる記載が必要です。ようは曖昧性を排除した文書や単語の選定能力が必要ってことです。
プログラミング能力は?
もちろん必要です。ただ、システムを作る場合はコーディングの割合ってそこまで多くないです。システムを作るよりもリリースした後の運用のほうがずっと長いです。
家を建てるとき、建築してる時間より、完成してから人が住んでる時間のほうが長いですよね?システムも世に送り出した後、アップデート等のメンテナンスやトラブった時の対応のほうがずっと多いです。ぶっちゃけ言うとプログラミング能力よりもお客さんの要求を引き出し、要求を満たすためのシステム構成考案能力のほうがずっと大事です。日本の大手Sierって自分でサービスを作って売るよりは、様々なベンダ(AWSとかMicrosoft,Google等)の製品を組み合わせてお客様の特注システムを作ってお金儲けしてるわけです。プログラムの理解は必要ですが現場におけるコーディング力の重要度は世間一般が思ってるより高くはありません。
ここを勘違いして、思ってたのと違う、もっとコーディングできると思ってたと言ってすぐに辞めちゃう新卒の人間が後を絶たない。
(ベンチャーでゴリゴリプログラム書くような仕事に就けば超重要だと思いますが。)
SEの能力って何が必要?と思ったらとりあえず基本情報受けるのが手っ取り早いです。
プログラムの問題のほかにネットワークやセキュリティ、データベース、問題文からシステムを理解する能力が必要とされるので。基本情報の問題を解いてみて嫌気がさすなら現場に配属されてから苦労するかもしれません。
以上、つらつらと書いてみました。