Você diz em um dos comentários que este é seu primeiro emprego. Os gerentes geralmente não são técnicos em lugar algum, exceto na minha experiência em uma loja de software dedicada. Isso faz parte da vida, apenas se acostume com isso.
Você chora e se queixa porque não há ninguém que aprecie a elegância de suas soluções. O verdadeiro problema aqui não é que não haja ninguém para apreciar a elegância de suas soluções, mas que não haja ninguém para lhe ensinar que suas soluções não são tão boas quanto você pensa que são. Praticamente todos os novos programadores superestimam suas habilidades reais. Sem mentor, não há ninguém para ajudá-lo a melhores práticas. Se não houver ninguém lá para orientá-lo, participe de grupos de usuários locais, participe ativamente e leve alguém para orientá-lo. Melhor ainda, isso o ajudará a encontrar um emprego melhor eventualmente.
Você marca um zero no teste Joel? Se você é o único codificador (e parece que você escreveu), eles não estão usando o controle de origem? O que está impedindo você? Se você não é o único codificador, por que ninguém pode fazer análises de código? Todos os nossos desenvolvedores fazem revisão de código, não é uma função de gerenciamento, especialmente quando os gerentes não são técnicos.
Os requisitos mudam em praticamente todos os lugares. As necessidades comerciais mudam continuamente e os não programadores geralmente não conseguem visualizar o que o programa fará até que eles façam algo. Então eles percebem que não é o que precisam. É por isso que o Agile surgiu realmente porque os métodos mais antigos não estavam lidando bem com essa mudança.
Configure o rastreamento de erros, mesmo que o gerenciamento não queira inserir os dados. Seja responsável por inserir novos erros / recursos à medida que alguém os mencionar. Realmente ajuda poder dizer ao gerente, quando ele quer uma mudança, que lhe foram atribuídas outras 27 coisas, e aqui está a lista. Qual você deseja que eu mova para baixo na lista de prioridades para acomodar essa nova alteração? Isso ajudará no momento da revisão, pois você poderá contar o número de correções e recursos implementados. Se todo mundo não está usando, pelo menos você pode fazer o seu próprio trabalho. Se eles não permitirem a instalação de nenhum software, use uma planilha do Excel. Tome alguma iniciativa. Depois que você mostrar os resultados, outros ficarão mais interessados. Se você acha que há muito trabalho para uma pessoa, o rastreador de erros o ajudará a provar isso.
Não faça demonstrações de aparência polida! As demonstrações devem parecer rabiscadas com caneta em um pedaço de papel. Quanto mais polida a interface, mais a pessoa não técnica pensa que está concluída.
Mesmo que ninguém saiba se você não segue as práticas recomendadas e o código semi-difícil, por exemplo, você saberá e entrará em maus hábitos desleixados. Isso não o servirá bem em seu próximo emprego. Portanto, faça as coisas o mais próximo possível da maneira correta, dadas as circunstâncias. Certifique-se de escrever testes (considere isso como parte do tempo de desenvolvimento e reserve tempo para fazê-lo em qualquer estimativa que você administre, mesmo que você não diga especificamente que isso faz parte da estimativa) e use-os para garantir mudanças posteriores não quebram outra coisa.
Você precisa ver isso como uma oportunidade inestimável para crescer e melhorar. Você tem mais liberdade na codificação real do que muitas pessoas têm nessa fase da sua carreira. Portanto, considere isso uma oportunidade para criar um portfólio de projetos implementados com sucesso. Quando você procura o próximo trabalho, ser capaz de apontar realizações como controle de origem instituído, rastreamento de erros instituído, número X criado de implementações bem-sucedidas de projetos etc. fará com que você se destaque do resto.
Você também tem uma grande oportunidade aqui para aprender como gerenciar as expectativas para cima. Isso é algo que será útil no resto de sua carreira. Você não tem nada a perder ao tentar fazer isso aqui, as coisas já não são boas. Mas você pode aprender as habilidades políticas que o ajudarão em lugares melhores posteriormente. Aprenda a fazer uma análise de custo-benefício. Aprenda a subestimar o domínio comercial para que você possa ser convincente ao conversar com eles. Aprenda a falar em termos de benefícios para a empresa e lucro. Faça estimativas para todas as tarefas que lhe foram atribuídas e, mesmo que não correspondam ao que o gerenciamento lhe oferece, mantenha registros do que você estimou e do que foi realmente necessário para melhorar sua capacidade de estimar o trabalho. Depois de mostrar que suas estimativas historicamente foram mais precisas que as de gerenciamento, eles serão mais propensos a ouvir quando você diz que a estimativa é muito baixa. Mas é preciso construir um histórico primeiro de estimativas mais precisas e, mais importante, da capacidade de entregar os projetos e fazê-los funcionar. Novamente, é uma boa habilidade a ter à medida que você avança em sua carreira.
Acima de tudo, não seja passivo e espere que a melhoria venha de cima.