システムエンジニアには、顧客からの要望を正確に理解してからシステムを構築することが求められる。プログラマがプログラミングしやすいように工程を組むことも大切だ。プログラマの立場に立って設計するためには、自分自身もある程度のプログラミング能力を待っていなければならない。プログラム言語を理解していることはもちろん、オフィスソフトを自在に使えることも必要となる。
ハードの面から言えばサーバーの理解が特に重要である。サーバー内のデータベース、そのセキュリティー、端末とつながるネットワークにも詳しくないと、顧客が求めるシステムを設計するのが難しくなるからである。
システムエンジニアにはプログラマよりも深い知識と広い視野が求められる。始めからシステムエンジニアとして働くこともできるが、プログラマを経験してからステップアップした方が即戦力として働きやすい。
プログラマには求められない知識として、依頼のあった業界のことを知っている必要がある。自分が働くIT業界には詳しいだろうが、顧客はどの業界から依頼してくるか分からない。医療や金融、教育など、これから作るシステムの業界についても一定の知識を持っていなければならない。
顧客とのコミュニケーション力も重要であるし、顧客が求めることを正確に理解するヒアリング能力も欠かせない。顧客からシステムへの意見を求められた時に備えて、論理的思考力と提案力も磨いておくことが求められる。