What is the job of a computer programmer?
That really depends on the company you work for, your level of experience and skill level. Also, your level of ambitious and capability plays a big part. For example, in some of my experiences with outsources the programmers do exactly that, they code up the software (are given the design), debug to make sure it works and that is it. All the other portion, designing, defining requirements, testing & validating are done by other people. In many situations the developer (wouldn’t call them programmers) will come up with the design, implement (code and debug it) and do first level testing/validation. The more advanced the developer the more responsibility they are given in terms of size of implementation, scope in actually defining design and coming up with requirements, etc. Developers (I really hate that term programmer) will develop anything from low lever drivers, to system services/middleware, applications, games, etc.