こんにちは mtjです
プログラマーの仕事のメインはやはりプログラムを打つことがメインになると思います。
自分も他人に職業を説明する時は基本プログラマーと説明しています。
しかし実際にはプログラマーも範囲があり
本当にコードを打つ人、システムを作る人(メインはプログラミング)のような人もいるかと思います。
コードを打つ人であれば仕様書を理解して コーディングできる能力。
場合によっては軽く設計する力が必要かと思います。
システムを作る(設計する)人であればシステム周りの知識が必要でかなり広い範囲で知識が必要に感じます。
上記のような感じでシステムを作るにも段階的に知識が異なります
また上記のコードを打つ、設計、システムを考える等の境界はかなり曖昧だと思います。
コードに落とし込めるような仕様書を書くという話もどの程度書くのかでかなり所要時間に差が出ます。
但し、プログラマーを目指すならばシステム一連を作る知識も大事ですが 個人的には一日中PCの前で考えたり キーボード叩けるかが大事かと思ってます。
最終的にはどのような仕事も少しでも好きじゃないと成り立たないんじゃないかと思います。