Quais são as desvantagens de iniciar um projeto de código-fonte se não for um programador experiente? [fechadas]

12

Eu tenho muitas idéias para produtos a serem construídos. O problema é que tenho menos de um ano de experiência profissional e tenho medo de ser julgado negativamente no futuro com base no que produzo agora. Não tenho idéia se meu código é bom.

Não estou familiarizado com nenhum dos padrões de codificação. Tudo o que sei é construir produtos que funcionem. Eu quero ter um perfil público no github para meus projetos futuros e tentarei me certificar de que seja bem comentado, otimizado e limpo.

Essas são as coisas que eu temo serem expostas publicamente:

  1. Meu código pode não estar altamente otimizado.
  2. Uso incorreto de certas bibliotecas ou funções que, por coincidência, fazem o trabalho.
  3. Não conhecendo ou seguindo qualquer padrão de codificação.
  4. Muitos bugs / sem considerar cantos, casos extremos
  5. Falta fundamental de entendimento e aplicação de certos conceitos, como segurança de threads, problemas de concorrência na programação multithread, etc.

Devo seguir em frente e começar ou continuar com a construção de coisas local e privada até obter mais experiência. Não quero que os erros cometidos aqui assombrem minhas perspectivas de carreira a longo prazo.

endendend
fonte
4
Eu entendo de onde você está vindo. Quando você expõe seus projetos ao mundo, está efetivamente expondo uma parte de si mesmo. Considere isso, porém, praticamente todo o código do planeta possui bugs, a menos que trapaceiem ao verificá-lo formalmente. Você tem muito mais a ganhar do que a perder. Se um possível empregador descobrir que você cometeu um erro em um de seus projetos enquanto você era relativamente inexperiente, eles pensarão muito alto, assim como eu e todos os outros aqui. O cenário mais provável é que eles não terão tempo para examinar tudo o que você já escreveu.
22412 dan_waterworth
1
No meu ponto de vista, verificar formalmente um programa não é "trapaça".
4
All I know is to build products that work.- O que é uma coisa muito boa. É fácil ficar muito preso em padrões e design e acabam não entregar ...
Izkata
Eu digo: estrague o que as outras pessoas dizem e não se assuste. Se você deseja fazer algo positivo e acha que você ou outras pessoas podem se beneficiar do seu trabalho, basta fazê-lo. (Nike plug)
Snake

Respostas:

32

Após 30 anos de desenvolvimento profissional de software, ainda crio bugs. Ainda encontro padrões que não conheço. Ainda aprendo com meus colegas e encontro coisas que não sei todos os dias.

Os desenvolvedores mais experientes o julgarão como você responde a questões e críticas, se você aprende com seus erros e aprimora seu produto para atender às necessidades dos usuários ou da comunidade, se você admite o que não sabe e procura melhorar.

Uma das melhores habilidades para um desenvolvedor é a vontade de fazer perguntas idiotas e parecer um pouco tolo às vezes, a fim de encontrar boas respostas o mais rápido possível.

Todo mundo que é experiente e muito proficiente já esteve onde você está agora. Você aprenderá muito mais rápido se trabalhar e trabalhar com outras pessoas.

Não há razão para esperar. Faça seu projeto aberto.

Melhor ainda, contribua com outros projetos abertos e aprenda com eles.

Josh
fonte
+1. BTW, eu estou querendo saber por que o seu segundo parágrafo me faz pensar na equipe de desenvolvimento PHP.
Arseni Mourzenko
+1 Compreender e respeitar que todos podem fazer errado é uma das qualidades mais importantes como membro da equipe.
jgauffin
6

Eu acho que você se preocupa demais.

A comunidade do sistema operacional está mais preocupada com a utilidade de um aplicativo específico do que com a forma como ele é escrito. Se estiver mal escrito, a comunidade intervirá e ajudará a corrigir os erros. O mais interessante é o quão bem o aplicativo resolve problemas com os quais as pessoas estão enfrentando. Se o aplicativo / projeto fornecer uma solução elegante para um problema irritante, a qualidade do código se tornará um ponto discutível.

Coloque lá fora, veja o que acontece. Você não saberá o quão bom / ruim é o seu código até que outros o vejam e comecem a brincar com ele. Todo o código possui bugs. O mais interessante é a rapidez com que o autor trabalha na resolução desses bugs.

Considere isso um exercício de aprendizado. Você não vai descobrir o que não sabe até que enfie um pouco o pescoço e receba algumas críticas. Felizmente, a maioria das críticas pode se tornar construtiva. Dado que você está perguntando sobre isso em primeiro lugar, fico bastante confortável em dizer que você terá pelo menos um código de qualidade média ou melhor.


fonte
5

Encontramos pessoas com alto conhecimento no campo Código aberto. Isso é verdade e também intimidante para os novatos. Mas eles também são muito bons em fornecer ajuda para bons projetos, mesmo que o desenvolvedor principal não reflita os requisitos reais para que o software atinja uma alta qualidade.

Você já conhece suas limitações. Isso não é um começo ruim. Esse é um bom começo.

Entre na festa e encontre seu lugar lá.

Boa sorte!

rdconsolo
fonte