I'm working in a small company, started as a developer and coded pieces of a big system being provided with detailed specs. Over five years I moved towards analyst position. I know how existing parts of the system are build, so when we need a new subsystem I know how to connect it to the existing things. So I analyse requirements for a new subsystem to be done, design a new module, then code main parts of it. After that me with my colleagues who are proper analysts write detailed specs for junior developers to finish the module.
The problem is that I don't see a new job for myself. I realise that jack-of-all-trades isn't considered to be good, and I don't see getting myself a job exactly like this in a big company. But if I look for a developer job, then I would be somewhat like junior again? Because if I will be provided with detailed description of what software has to do, all that seems to be left for me is merely translating spec to the code, which is plain boring. But developer is considered to solve problems, so which problems are those supposed to be? Only pure technical problems I can imagine is performance optimization.
So basically my question is - what problems developers are supposed to face and solve, if all decisions of how application should work to meet customers needs are considered to be an analyst job? What problems do you solve at work?