Comienza con el desarrollador construyendo algo
Los desarrolladores pueden construir cosas sin estar atrapados en la etapa de idea. Aquellos que no son desarrolladores a menudo no pueden apreciar completamente lo que eso significa. Es posible que el software no se vea bonito o tenga una experiencia de usuario intuitiva, pero será lo suficientemente útil como para demostrar lo que el desarrollador tiene en mente.
Verá, rara vez creamos software completamente desde cero. Cuando quiero construir algo, elijo entre varias bibliotecas preexistentes y API de terceros. Puedo dividir la idea en componentes, encontrar ejemplos con código y agregar interconexiones rápidas entre ellos. No será ideal, pero funcionará. Por cierto, esta es la razón por la cual los lenguajes de programación rara vez importan al construir prototipos. Puedo interconectar diferentes componentes en cualquier idioma. La biblioteca o API que tenga el código de muestra más relevante gana.
El ingeniero de software construye algo que considera lo suficientemente utilizable y se lo muestra a algunas personas o hace un anuncio en Internet. Esas personas pueden:
- ¿Dónde debo mudarme si quiero estar cerca de personas que desean iniciar negocios y crear productos?
- ¿Qué negocio debería comenzar sin ningún socio?
- ¿Cuál es el criterio para una nueva startup?
- ¿Cuánto se diluye una empresa de tecnología típica?
- ¿Qué buscas en las asociaciones para beneficiar a los fundadores cuando ejecutas un acelerador?
- gusta
- confundirse por eso
- quiero comprarlo
- tiene sugerencias sobre cómo mejorarlo
- conoce a alguien que lo necesita
- conoce a alguien que pueda ayudar
- ofrezca asociarse e integrarlo con algo
- ignóralo 🙂
Mi primer prototipo tardó varios minutos en explicarse. Fue una llamada API que devolvió datos y realizó una acción sin una interfaz de usuario. Ese es un ejemplo extremo, pero eso es lo que hice en las primeras 2 horas después de comenzar a construir la característica principal de mi producto. Sin embargo, eso todavía era lo suficientemente bueno como para interesar a algunas de las personas que pensé que podrían ser buenas perspectivas. Funcionó lo suficientemente bien como para que algunos comentarios que comenzaran con “imagine” llenen los espacios en blanco. Este es un ejemplo de “el desarrollador construye algo lo suficientemente utilizable y lo muestra”. Luego agregué una interfaz de usuario intuitiva y reduje el tiempo de tono a unos segundos.
Recientemente creé una nueva característica compleja que pensé que a mis usuarios les encantaría que aún no está implementada en mi prototipo. No está allí porque abandoné mi plataforma prototipo y me concentré en escribir código de producción para un lanzamiento comercial en una tecnología diferente. Tuve algunas oportunidades de ventas invaluables antes de poder implementarlo en el código, así que tuve que volver a decir “imaginar” mientras señalaba un espacio en blanco en el prototipo que se puede usar actualmente. Como esperaba, me dieron algunas perspectivas adicionales que normalmente no habrían estado tan interesadas en el producto antes de agregar esa característica.
Estoy haciendo hincapié en “desarrollador” o “ingeniero de software” en lugar de “fundador técnico” porque “técnico” puede significar muchas cosas. Era un consultor de TI profundamente técnico, pero tenía cero capacidad de codificación antes de comenzar a construir productos. Es importante comprender que mi experiencia técnica casi no tiene relevancia. Tuve que comenzar a aprender el desarrollo de software desde cero. Esa es también la razón por la que pedirle a un ingeniero de software que solucione los problemas de su PC a menudo significa que le está pidiendo a esa persona que aprenda cómo solucionarlo en el acto.