Manager keeps changing requirement specification after every demo.
- by Jungle Hunter
Background of my working environment
My manager has no background or understanding of computers or software whatsoever. It is highly likely he hasn't seen code in any form (not even from a physical distance of 10 feet or less) in his life.
There is no one who understands the complexity of what I am asked to implement. To the point that if I semi-hardcode no one would know.
On Joel's test we score an unbelievable score 0.
The problems
The manager and at times other "senior" keep changing the requirement specification. Changes which, if good engineering be done and not patchy "fixes", require change in the underlying design.
There is absolutely no one who looks at code (probably because no one knows how to, or even if it should be done) which means no one will ever be able to:
Appreciate the complexity of the problem or the elegance of the solution.
Suggest improvement to the approach.
Appreciate the quality of the code.
Point out where the code can be improved.
A lot of jargon is used which makes sense grammatically but fails to make any sense any other way.
Doesn't feel, behave or work like a software company.
The question
What should be done? Especially regarding there being no one who would point out improvements in my code.
Update
To answer HLGEM's (and possibly others) question about what I've done to try and fix it. I offered to set up Redmine and introduce source control to everyone. I said I would recommend distributed (git or mercurial) but will also talk about centralized ones and let the team decide. Response was that things are being done and will be done within weeks. Haven't seen that nor am I aware if other parts of the company use it.