Gracias a la gran ayuda de este sitio y SO, he podido hacer un prototipo de un software que quiero vender, pero desafortunadamente, aunque el prototipo funciona, creo que la calidad de mi código es muy baja. No utilicé muchos OOP o patrones de diseño, así que aunque mi código es comprensible para mí, creo que un desarrollador normal se desmayaría si tuviera que leerlo.
Por lo tanto, quería contratar a un desarrollador para que tuviera un poco más de calidad y mejorar algunas de mis implementaciones de API que tal vez no haya hecho correctamente. Aunque tengo problemas para contratar a un desarrollador.
Conocí a 2 desarrolladores y les pedí que leyeran las especificaciones de mi software. El problema es que carecían de los conocimientos de dominio de mi empresa (lo cual es completamente comprensible y nada importante), pero tampoco tenían conocimiento de los sistemas tecnológicos subyacentes que utilicé, como Hadoop, Hbase, Cuda, etc. Pasé mucho tiempo explicando map / reduce, bigtables y otras tecnologías que utilicé. Pensé que era de conocimiento común debido a mis interacciones con las personas en este sitio, pero las personas que conocí mencionaron que nunca tuvieron que lidiar con estas cosas, por lo que no lo sabían.
Mi pregunta es, para los proyectos de software que contratan desarrolladores de contratistas, ¿es peligroso si el desarrollador no tiene experiencia con las tecnologías subyacentes? ¿O puede un desarrollador general que se realiza en otra área de manera realista aprender nuevas tecnologías? Hice un cálculo muy rápido del reverso del sobre y creo que los costos iniciales serían similares si contratara a un estudiante o desarrollador sin experiencia en mis tecnologías que trabaje muchas horas en lugar de contratar a un desarrollador altamente experimentado que cobra el doble pero termina a la mitad el tiempo, pero ¿qué otros riesgos debería considerar o preocuparme? Además, si contrato a un generalista, debería estar pagando por el tiempo que les toma aprender hadoop o cuda si son contratistas (parece tener sentido comercial pero no estoy seguro de qué tan justo es para ellos si no usan el habilidad de nuevo).
Estoy un poco confundido, por lo que cualquier sugerencia sería genial.
I think a normal developer would faint if they had to read it
- Eso es algo de honestidad allí mismo.