C言語による開発を行う仕事では、単純にプログラミングの素養があるだけでは活躍することはできません。付け焼き刃の知識と多少の経験だけでは開発の中心に立って働けるエンジニアやプログラマとして認められるレベルには到達できず、ある程度の適性を持っていることが求められます。
重要な適性となるのが柔軟な思考力と想像力を兼ね備えていることです。ただコーディングを行うだけであれば時間はかかっても多くのプログラマに実践できます。実際に重要なのはC言語の特性を生かすことであり、複雑な構造のシステムを快適な動作で動かせるように設計することが必要になるのです。
このために大切なのがシステムの全体像をイメージすることであり、その想像力があることが合理的なコーディングを行うために役立ちます。
全体をつねにイメージできていないと新たな仕様を追加しただけで全体構造が揺らいでしまうことになり、安定した動作ができないシステムになってしまいかねません。想像力が豊かかどうかはシステムの最適化を行っていく過程でも重要であり、開発の過程で仕様の変更があったときにより良い構造に組み替えられる可能性を見出すことにつながります。
そして、システムの構築と最適化を行う上では可能性を追求できる柔軟な思考力が欠かせません。どのような構造に仕上げるかによって動作速度も安定性も大幅に左右されるため、あらゆる可能性を考えて最適なものを選べるような思考力が求められています。