Graças à grande ajuda deste site e do SO, pude criar um protótipo de um software que quero vender, mas infelizmente, embora o protótipo funcione, acho que a qualidade do meu código é muito baixa. Como não usei muito OOP ou padrões de design, embora meu código seja compreensível para mim, acho que um desenvolvedor normal desmaiaria se precisasse lê-lo.
Então, eu queria contratar um desenvolvedor para torná-lo um pouco mais melhor e melhorar algumas das implementações de APIs que talvez eu não tenha feito corretamente. Estou tendo problemas para contratar um desenvolvedor.
Conheci dois desenvolvedores e eles leram minhas especificações de software. O problema é que eles não tinham o conhecimento de domínio da minha empresa (o que é completamente compreensível e não é demais), mas também não tinham conhecimento dos sistemas de tecnologia subjacentes que eu usei, como Hadoop, Hbase, Cuda, etc .. Passei muito tempo explicando mapas / reduções, tabelas grandes e outras tecnologias que usei. Eu pensei que era de conhecimento geral por causa de minhas interações com as pessoas deste site, mas as pessoas que conheci mencionaram que nunca tiveram que lidar com essas coisas para não saberem.
Minha pergunta é: para projetos de software que estão contratando desenvolvedores contratados, é um perigo se o desenvolvedor não tiver experiência com as tecnologias subjacentes? ou pode um desenvolvedor geral que é realizado em outra área pegar realisticamente novas tecnologias? Fiz um cálculo muito rápido do verso do envelope e acho que os custos iniciais seriam semelhantes se eu contratar um estudante ou desenvolvedor sem experiência em minhas tecnologias, que trabalhará muitas horas em vez de contratar um desenvolvedor altamente experiente que cobra o dobro, mas termina pela metade o tempo, mas que outros riscos devo considerar ou me preocupar? Além disso, se eu contratar um generalista, devo pagar pelo tempo que eles levam para aprender hadoop ou cuda se forem contratados (parece fazer sentido nos negócios, mas não sabe o quão justo é para eles se não usarem o habilidade novamente).
Estou um pouco confuso, então qualquer sugestão seria ótima.
I think a normal developer would faint if they had to read it
- Isso é alguma honestidade ali.