James Hague has an interesting post on joining a work culture as a programmer.
[K]nowing how to program is a huge benefit if you want to create
something new and useful, but as a programmer you’re often viewed as
the implementer of someone else’s vision — as just the programmer
— and have limited say in crafting the application as a whole.
There’s an advantage to working somewhere where the science and the programming is the purpose, but that’s not possible in every job, or even most of them. Hague’s suggestions are good ideas when the expertise of the company is other than your main technical role.