Atualmente, estou trabalhando para uma empresa de 2 pessoas, como desenvolvedor primário solo. Meu chefe recebe os clientes, zomba de alguns modelos de design png e os entrega para mim.
Este sistema está funcionando bem e estou gostando muito.
Os tipos de projetos em que trabalho são para pequenas e médias empresas e geralmente desejam um sistema CMS. Desenvolvido a partir do zero, criarei um back-end personalizado para o cliente adicionar / editar / remover categorias, tags, produtos etc. e depois enviá-los para o front-end de acordo com o modelo de design que me foi entregue. Com o passar do tempo, os projetos aumentaram em complexidade, com recursos de carrinho de compras / pedidos e outros recursos comuns do tipo comércio eletrônico.
Novamente, este sistema está funcionando bem e estou gostando muito.
Meu problema é meu desenvolvimento pessoal como programador. Passo muito do meu tempo livre lendo blogs de programação, verificando a troca de pilhas , lendo livros de programação sugeridos (atualmente em ' The Pragmatic Programmer ', muito bom até agora), fazendo exercícios cerebrais ( problemas de matemática lumosity.com e khanacademy ), fazendo muitos exercícios exercício físico e outras atividades do tipo desenvolvimento pessoal.
Não posso deixar de sentir que estou perdendo feedback, crítica. Meu chefe é ótimo e nunca retém elogios em relação ao meu trabalho, mas infelizmente ele está ocupado demais para verificar meu código ou, para ser sincero, não acho que seja uma de suas especialidades e, portanto, não pode fornecer feedback. .
Quero saber o que estou fazendo de errado e o que estou fazendo de certo. Devo colocar tanta lógica no controlador, estou modulando meu código o suficiente, etc.
Então, o que eu fiz foi desenvolver um pequeno aplicativo de 'Orçamento familiar' e tentei fazê-lo da maneira mais limpa e eficaz possível.
O que eu quero saber é que existe algum lugar para enviar este aplicativo e alguns desenvolvedores experientes fornecem feedback. Não é apenas uma subseção do meu código como 'codereview.stackexchange' parece exigir, é todo o meu fluxo de trabalho que eu quero que seja criticado.
Sei que isso é pedir muito, e espero que o principal conselho dado seja procurar um emprego dentro de uma equipe, o que certamente é algo que analisarei mais adiante, mas por enquanto quero persistir com meus conhecimentos atuais. situação de emprego, mas simplesmente não quero desenvolver muitos maus hábitos.
Deixe-me saber se posso fornecer mais informações para ajudar a esclarecer, ou se este não é o lugar certo para este tipo de pergunta, peço desculpas antecipadamente. Não queria usar o reddit, pois senti que essa comunidade promove respostas mais bem pensadas.
fonte
Respostas:
Você está no caminho certo para melhorar suas habilidades e é compreensível que não tenha certeza sobre a confiabilidade e a prontidão corporativa do seu código.
Esse é um processo normal para um desenvolvedor júnior, e seu interesse em melhorar é muito importante, pois é a chave para um dia se tornar um desenvolvedor estrela do rock.
Como referência para aprender as melhores práticas, eu recomendaria ingressar em projetos de código aberto que são hospedados gratuitamente para programadores apaixonados / curiosos. Eles realmente o ajudarão a entender como usar as práticas recomendadas e como decidir sobre o design do aplicativo. Além disso, tente se envolver no desenvolvimento de projetos de código aberto, pois isso aumentará drasticamente seu auto-aprendizado e aprimoramento.
Eu também recomendaria participar de eventos da comunidade local para desenvolvedores de software. Você pode encontrar alguns desses grupos em communitymegaphone.com . Converse com programadores locais, eles são na maioria pessoas boas que não se importariam em ajudar um colega.
fonte
À medida que você ganha mais experiência, certamente pode voltar e revisar seus projetos / códigos anteriores para ver onde errou. A retrospectiva é uma coisa bonita. Sei que de fato examinei o código / documentação que escrevi x atrás e percebi onde errei e onde poderia ter melhorado.
O fato de você ler blogs, livros, SE etc. deve fornecer uma melhor compreensão da programação como parte de seu próprio desenvolvimento pessoal, a tentativa e erro e a evolução de seus projetos e códigos certamente devem ser uma evidência do fato de que você ' está melhorando. A autocrítica pode ser uma coisa muito boa.
Dito isto, ter o olhar crítico de outro desenvolvedor sempre agrega valor e pode fornecer opiniões / opções nas quais você pode não ter pensado. Embora eu não conheça nenhum site em particular que possa despejar um projeto completo para uma revisão de código - você pode colocar trechos do que você considera suspeito em codereview.stackexchange por leitura e comentários, em seguida, leve esse feedback a bordo e aplique-o em outros lugares onde apropriado.
Como alternativa, você pode escrever algumas coisas de código-fonte aberto e lançá-las no github (ou equivalente). A comunidade de código aberto certamente criticará seu trabalho e o aprimorará onde achar melhor.
No final do dia, se os produtos que você está produzindo funcionarem conforme o esperado, atendem aos requisitos de negócios e são de manutenção - você está fazendo algo certo.
Para perguntas conceituais de programação, padrões etc. Você sempre pode postar essas perguntas aqui no PSE e para problemas de implementação de código no SO.
fonte
Deixe-me compartilhar minha opinião, algumas palavras de sabedoria e algumas perguntas para você refletir.
Sendo um programador experiente, descobri ao longo dos anos que o melhor código é o mais simples (veja o conceito do KISS) e mais fácil de ser modificado por outro programador.
Além disso, deixando espaço adequado para que o código não seja congestionado (espaço para respirar) e seja estruturado de maneira uniforme. Use uma convenção de nomenclatura bem conhecida para suas variáveis, fornecendo nomes compreensíveis (que outro programador possa entender) e escrevendo comentários que sejam importantes, nem muito nem muito pouco.
Se você seguir o acima, você já está em uma boa estrada.
Além disso, como os desenvolvedores são algo como arquitetos, darei a você um ditado muito importante sobre o qual você deve refletir;
e
Contudo,
Com o exposto, quero que você entenda que existe um bom equilíbrio entre esforço e efeito, custo e qualidade.
E as perguntas para refletir;
fonte
Você pode querer verificar https://codereview.stackexchange.com/
Esse seria um ótimo local para obter feedback sobre seu código ou design de profissionais experientes.
fonte
Continue lendo livros, blogs e Perguntas e Respostas sobre o Stack Overflow. Se você deseja melhorar a si mesmo de uma maneira mais social, por que não envolver o trabalho em um projeto de código aberto? Não quero dizer criar seu próprio projeto , mas trabalhar em um já existente.
Como você é o único desenvolvedor desta empresa, imagino que seria possível que um dia você contratasse alguém. Diga a si mesmo que neste dia o cara terá que ler seu código. Você já escreve alguma documentação sobre sua ferramenta? Tendo em mente que seu trabalho pode ser lido por outras pessoas, é uma coisa boa para desenvolvedores individuais e ajuda você a criar um código melhor.
fonte
Estou em uma situação semelhante à sua, fui contratado como o único programador de uma empresa para 5 pessoas e apenas um deles está diretamente envolvido com os aplicativos aos quais estou desenvolvendo / adicionando. Felizmente, não tive que criar nada do zero, mas até agora apenas aplicativos modificados criados por meu antecessor. Ao fazer isso, acredito que já me aprimorei reconhecendo quais partes do código dele eram boas, quais partes eram ruins e como alguém poderia melhorá-las.
A leitura de código é uma grande parte da melhoria de sua própria codificação; portanto, acima de tudo, sugiro que você pesquise um projeto de código aberto, leia o código, entenda-o e tente julgar o que é bom, o que é ruim e o que pode ser melhorado. Talvez até escreva uma revisão de código sobre isso no seu blog.
Felicidades!
fonte
Sair. Encontre um novo empregador, onde você trabalhará em uma equipe maior de desenvolvedores, incluindo alguns caras quentes que você pode aprender.
Você claramente tem todas as motivações certas para querer.
fonte