O fato de você estar preocupado é um bom sinal. Vamos começar com isso. Você mencionou que gosta de programar, mas você gosta de ser um programador profissional? Há uma grande diferença entre um entusiasta e um profissional. Como profissional, você estará sob constante escrutínio do seu produto de trabalho.
Our team is composed of 5 programmers, and 4 of us are new
O fato de você ter trabalhado dois anos sem nenhum confronto me diz que você está trabalhando em um emprego muito descontraído, o que não é tão bom se você está realmente querendo avançar como profissional. Lembre-se, alguns dos melhores programadores do mundo trabalham para a fundação Linux e tenham certeza de que eles não são tratados com gentileza quando cometem erros marginais ... muito menos 'código confuso'.
Para uma rápida revisão de algumas diretrizes de codificação bastante padrão, os Padrões de Contribuidores da Comunidade Linux devem fornecer uma idéia do nível de responsabilidade a ser aspirado pelo seu produto. Consulte OBTER O CÓDIGO CERTO.
Para aprofundar essa afirmação, você deve aprender a adotar a revisão, pois a maioria dos bons softwares é completamente revisada. Isso apoia a Lei de Linus, que declara ...
"Se houver revisores suficientes, todos os problemas são fáceis de resolver."
Pessoalmente, eu vi desenvolvedores altamente qualificados, responsáveis e confiáveis pegarem o machado por algo tão simples como esquecer de deixar comentários ... por isso, se alguém lhe disser uma bagunça nos seus códigos, provavelmente será ... Supere isso ... Refatoração. Faz parte do show.
I feel so sad and hurt.
Vá fazer uma aplicação de tristeza para avaliar como você fica chateado quando não se aplica.
Você respondeu ao seu problema ... Você não testa!
Depois de ver um comentário que você fez afirmando que você é um desenvolvedor java, eu quase fiquei chateada. Portanto, se eu entendi corretamente, você está dizendo que você e sua equipe de desenvolvimento estão trabalhando em uma loja java e não têm uma estrutura de teste para seus aplicativos ...
Aí reside a fricção
"Implementamos nosso programa no programa sem testes completos".
Criador de UML Criador Grady Booch ...
O engenheiro de software amador está sempre em busca de magia, algum método ou ferramenta sensacional cuja aplicação promete tornar trivial o desenvolvimento de software. É a marca do engenheiro de software profissional saber que não existe essa panacéia.
Alistair Cockburn fornece diversas informações em seu site sobre o uso de metodologias ágeis para aumentar o desempenho e a qualidade para você e sua equipe.
Um dos aspectos mais importantes da programação e da vida é conhecer seus pontos fortes e fracos. Se você não trabalhar em suas fraquezas, não terá um conjunto de habilidades completo.
Outro ... Você está indo bem - apenas não lamente. Avance no desenvolvimento de seu ofício e deixe sua paixão pela programação mantê-lo. Boa sorte :-)