Como posso revisar meu progresso como desenvolvedor júnior solo [fechado]

38

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.

hoppipolla
fonte
3
Como um desenvolvedor júnior não muito tempo atrás, acho uma má idéia deixar um desenvolvedor júnior correr dessa maneira. Sem mencionar que uma simulação de PNG dificilmente fornece as informações necessárias para escrever um CMS eficaz. Além disso, por que escrever constantemente CMSes quando as configurações automáticas são desativadas de maneira mais eficaz do que um desenvolvedor solo poderia escrever em um tempo razoável para um cliente, incluindo micro CMSes.
Rig
2
Bem, inicialmente ele tinha o seu próprio CMS interno, que havia sido construído no Coldfusion. Aprendi o idioma por tentativa e erro e concluímos alguns projetos usando-o. Com o tempo, embora eu o tenha convencido, seria uma boa ideia avançar para o PHP, pois eu tinha mais experiência em usá-lo e há uma comunidade maior em que confiar (não tendo superiores, eu confio muito no Google). Desde então, tenho construído gradualmente um CMS modular reutilizável no ciBonfire. Está indo muito bem, o sistema de catalogação está praticamente completo. O problema é que eu estou aprendendo como eu vou, temos clientes para agradar.
precisa saber é o seguinte
2
@OliverHyde "O problema é que estou aprendendo, pois temos clientes para agradar." Também não será diferente em outros lugares.

Respostas:

21

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.

EL Yusubov
fonte
Hmm, talvez eu queira participar de alguns projetos de código aberto, sem saber por onde começar: / Tenho que fazer alguma pesquisa. Em relação aos eventos da comunidade, eu tenho ido a encontros locais, na Nova Zelândia eles são escassos em comparação com o que parece nos Estados Unidos, mas ocorrem e são muito úteis. Obrigado pelo feedback.
Hoppipolla
Definitivamente, envolva-se com outras pessoas reais olhando seu código. Não há substituto para isso.
jeffreypriebe
Sim, estou arrumando meu aplicativo de 'orçamento pessoal' e o enviarei para avaliação, talvez no redit ou em outros fóruns da comunidade.
Hoppipolla
9

À 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.

Deco
fonte
Saúde, acho que talvez eu quebre meu aplicativo de orçamento e publique alguns trechos na revisão de códigos.
Hoppipolla
3

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;

  1. “A perfeição é alcançada, não quando não há mais nada a acrescentar, mas quando não há mais o que tirar” - Antoine de Saint-Exupery.

e

  1. "Buscar a excelência o motiva; buscar a perfeição é desmoralizante" - Harriet Beryl Braiker.

Contudo,

  1. "Muitos eventos, aproximadamente 80% dos efeitos vêm de 20% das causas" - princípio de Pareto

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;

  1. O que eu gosto de fazer daqui a cinco anos?
  2. O esforço para melhorar minhas habilidades de codificação beneficiará minha carreira profissional a longo prazo?
kyrsid
fonte
1

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.

Jessica Brown
fonte
Sim, suponho que o cerne da minha pergunta era, é um aplicativo completo adequado para postar lá ou existe algum outro lugar em que eu possa fazer isso. Parece que a visualização de código é mais direcionada como trechos de código a serem examinados. Basicamente, forneça um link para o projeto github e solte-o. Estou arrumando hoje e procurarei em alguns fóruns da comunidade para postar o link. :)
hoppipolla
1
De uma só vez, pode ser muito para um desenvolvedor mastigar de uma vez. meta.codereview.stackexchange.com/questions/537/… diz tentar uma peça de cada vez. Não seria adequado para codereview si, mas documentação de projeto de alto nível o algum tipo pode ser útil para um revisor olhando para sua base de código para o primeiro ime
Jessica Brown
@OliverHyde Se você postar um arquivo de origem, digamos um dos mais intrincados, receberá um feedback sobre esse arquivo que se aplica a todo o projeto. Essa será uma boa maneira de obter feedback sobre a linguagem do programa e o estilo de codificação. Se você estiver procurando por comentários sobre o design geral do programa, você pode (de acordo com as Perguntas frequentes) publicá-los neste site.
1

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.

smonff
fonte
1
Sim, foi isso que comecei a fazer agora com a minha codificação. Meu chefe sugeriu que ele pode olhar para a contratação de um programador adicional no próximo ano .... aposta chegar no topo da minha documentação :)
Hoppipolla
1

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!

scd
fonte
Sim brinde! Estou trabalhando aqui há mais tempo e encontrei um bom ritmo de uso de sites de revisão de código on-line e de auto-revisão.
precisa saber é o seguinte
-1

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.

Dom Barker
fonte
4
Esta não deve ser a primeira opção. O OP está gostando de seu trabalho e ele aparentemente também tem um chefe decente, o que parece raro hoje em dia. Antes de pular, considere que você pode acabar com um emprego que não gosta, com um chefe ruim e sem garantias de que realmente aprenderá coisas novas.