Background of my working environmentMy 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 problemsThe 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 questionWhat should be done? Especially regarding there being no one who would point out improvements in my code.UpdateTo 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.
Manager keeps changing requirement specification after every demo
requirements;management;communication
The short version: Run. The somewhat longer version: If the manager doesn't know how to run a project, and if the senior goes along with it, then you have next to no chance of fixing things. In order to manage software projects, a manager does need to understand something about software. If managers don't, they need to learn first. What are your chances you could persuade your management and your senior(s) that they got it all wrong? What are the chances you will teach them something? I have been in a similar situation once (only there was no senior). I quit after a terrible year, and never looked back (except in disgust). 