Emprendimientos 3
El Peor Proyecto Que Un Informático Puede Aceptar.
Escoger Bien A Un Socio Es Clave Para Emprender.
Esta historia se repite muy seguido, alguien se entera de que eres informático o le han contado que tienes las capacidades para hacer un sitio o aplicación e inmediatamente te dice, “mira te puedo ofrecer el 50% (el porcentaje varía de historia a historia) de mi empresa si me desarrollas este proyecto x”.
La oferta casi siempre viene acompañada de un “Ya tengo la idea validada, o tengo todo listo sólo me falta el desarrollo, o ya tengo hecho un plan de negocios” y, otras veces la oferta viene acompañada de un “Tengo muchos contactos en este ambiente”.
La primera vez que uno escucha esta oferta parece casi irresistible, lo que todavía no sabes y muy pronto te enterarás es que hay varios locos como este dando vueltas y si rechazas una oferta todavía tienes la oportunidad de escoger entre miles más, así que no te apures.
¿Por qué debes rechazar esta oferta?
Es muy atractiva la idea de trabajar en una Startup o emprendimiento, pero si estas trabajando en un proyecto donde eres la única persona que corres el riego probablemente ese proyecto no llegará lejos y habrás gastado cientos de horas de tu vida construyendo un programa que nunca nadie utilizará.
Como escoger un buen socio.
No todas las personas que buscan un socio informático están locos y no todo loco es un mal socio, cierto grado de locura es necesario en un socio. Hay emprendedores buenos en este ecosistema y proyectos muy interesantes en los que puedes participar, pero asegúrate de encontrar uno bueno antes de dedicarle uno o dos años de tu vida a un proyecto que nunca verá la luz.
El truco para identificar a un buen socio es que sea proactivo, por ejemplo da lo mismo que no haya estudiado informática, si levantó una primera página sólo o ha tomado cursos al respecto es buena señal de que está interesado en meterse en el mundo de los emprendimientos digitales.
Obviamente las señales no se dan únicamente en el mundo digital, si la persona ha logrado ventas con su prototipo aún cuando este no esté terminado es una buena señal de que ese proyecto verá luz.
Evita a los chantas !
El mundo del emprendimiento es un mundo de caballeros, donde la palabra vale mucho, pero eso no quiere decir que dentro de el no haya chantas(palabra chilena que describe a una persona que no cumple sus promesas).
Para detectar a los chantas basta con un poco de google y contactar a su red de contactos, Antes de firmar una sociedad puedes hablar con los amigos de tu potencial futuro socio y ver cuantas personas realmente ponen las manos al fuego por él.
Minimizando riesgos
Si el proyecto parece ser interesante pero la persona no te da confianza siempre puedes cobrar por tu participación, o sea en lugar de que te den un 50% de la empresa puedes pedir el 25% más un sueldo fijo, si la persona está dispuesta a pagar para desarrollar el proyecto es porque realmente cree en el.
Otras opciones
Si estas interesado en emprender pero no encuentras ningún proyecto que se vea interesante siempre puedes apoyar un proyecto existente, existen decenas de miles de proyectos de software libre que necesitan de tu ayuda y haber ayudado a un proyecto de software libre suma muchos puntos en el Currículum.
Y si realmente quieres trabajar sin que te paguen entonces apoya a una fundación, hay muchas de ellas que necesitan apoyo en informático.
Por qué elegimos Rails
Un poco de historia
Después de haber fracasado en nuestro primer emprendimiento, con mi amigo y socio Felipe Salamanca decidimos que está vez íbamos a crear una startup que aprovechara más nuestras aptitudes. Ambos ingenieros industriales TI habíamos desarrollado aplicaciones cuando éramos universitarios, por lo que con nuestra formación crear un SaaS (software como servicio) no parecía mala idea, a pesar de que no habíamos desarrollado nada en los últimos 6 años. Con mucho optimismo e ingenuidad decidimos crear un software para optimizar la publicidad en Facebook y lo llamamos RocketAd.
La elección de Rails
Con un producto “definido” en mente empezamos la búsqueda del framework que se ajustara a nuestras necesidades. Sin entender mucho las razones por detrás, nos decidimos por un framework para desarrollo ágil con lenguaje dinámico, porque eso en teoría era lo más rápido. Así que después de mucho google, foros, blogs, stackoverflow, quora, etc… llegamos a dos candidatos: Rails y Django. Lo que concluían la mayoría de estos sitios es que ambos frameworks son espectaculares y opciones seguras, por lo que la decisión final dependía de razones personales. Finalmente nos quedamos con Rails por dos razones específicas:
- La comunidad en Chile de Rails es mucho más grande que la de Django, por lo que cualquier duda o contratar un desarrollador sería más simple
- Justo apareció un emprendimiento que enseñaba Rails (sí, se llama En1Mes), así ambos nos podiamos poner al día al mismo tiempo y con profesores para sacar dudas
6 Meses más tarde
Hace 6 meses atrás realmente no sabíamos que construir, nuestra aplicación tiene más de 60 migraciones en la base de datos y lo que nosotros definimos como MVP ha tenido muchas mutaciones. De hecho ya no “optimizamos” la publicidad en Facebook, simplemente la “automatizamos”, aunque parezca un detalle menor, eso cambió totalmente nuestra startup. Ahora entendemos mejor lo que significa el desarrollo ágil y las virtudes de un lenguaje dinámico. Pero no todo ha sido amor con Ruby on Rails, hay ocasiones que hemos odiado su “magia”, sobre todo cuando no sabemos de donde vienen las cosas. Pero sumando y restando claramente fue una excelente decisión. Jamas diría que Rails es el mejor framework del mercado, pero sin dudas es una opción segura para el 90% de los casos. Hay mucho hype dando vuelta con nuevos frameworks, stacks y guerras religiosas, pero al final del día lo único que realmente importa es que alguien esté interesado en lo que estas creando. Y para trabajar en ese mundo iterativo Rails sigue siendo uno de los grandes.
¿Cómo Escoger Un Lenguaje De Programación Para Tu Emprendimiento?
Muchos emprendimientos y empresas han partido construyendo su software en el único lenguaje de programación que manejan, como los institutos y universidades en Chile enseñan .NET, Java la mayor cantidad de empresas construye su software en estos lenguajes, pero esto no tiene nada que ver con que sean buenos lenguajes para construir software.
Debería aclarar que no son malos lenguajes, de hecho son muy buenos, pero en el mundo del software existen herramientas de propósitos generales como los son .NET y Java y herramientas para propósitos específicos como lo son los frameworks de Ruby on Rails y Django. Y, aunque parezca un poco obvio, lo voy a señalar igual, el ocupar una herramienta de propósito específico es más eficiente que ocupar una herramienta de propósito general.
Los informáticos llevan tanto tiempo discutiendo sobre este tema que incluso han integrado a su jerga la expresión “no reinventes la rueda” esto quiere decir que cuando estés programando no gastes tiempo en hacer lo que ya está hecho, y si dentro de tus planes está construir una aplicación web deberías ocupar una herramienta específica para ese propósito, o sea una framework de programación web.
Hay frameworks de programación web para muchos lenguajes, los más famosos del momento son Laravel para PHP, Ruby on Rails para Ruby,Node para Javascript y Django para Python, pero hay muchos más.
El gran error que cometen muchos emprendedores a la hora de escoger dentro de los cientos de lenguajes y frameworks que existen es estar más preocupados de características generales de los lenguajes, o del escalamiento de demanda de ellos antes de estar preocupados de lo más importante. Qué tan factible (y eficiente) es la herramienta para resolver el problema.
Así que vamos a simplificar un poco el esquema con cuatro simples recetas.
1) Para páginas simples:
Si sólo necesitas una página web para mostrar tu producto no es necesario que te compliques, la puedes hacer simplemente con HTML y dejarla bonita con CSS, es más puedes ocupar una plantilla y ahorrarte el trabajo de diseño.
2) Para blogs:
Si necesitas escribir contenido hay dos opciones muy simples que me gustan mucho, Medium y WordPress. Medium es la más simple, requiere saber cero de programación y me gusta porque me permite enfocarme en lo que escribo y entrar en contacto con mucha gente de mis redes sociales, WordPress en cambio me permite agrupar todo los artículos escritos bajo la imagen coorporativa de En1mes y potenciar el SEO de mis sitios.
3) Para aplicaciones web:
Cuando necesito hacer algo un poco más potente, con conexión de Facebook u otras redes sociales y manejar yo mismo la lógica de lo que sucede ocupo Ruby on Rails, es un tremendo framework de programación con mucha magia detrás que permite hacer grandes cosas en poco tiempo, ahora no hay problema en ocupar otro framework si ya lo conoces, pero si vas a partir desde cero yo te recomendaría darle un vistazo a Ruby on Rails.
Es por eso que nosotros hemos enfocado los cursos de en1mes específicamente en estas tecnologías puesto que con el paso del tiempo son las que han demostrado ser las más útiles a la hora de desarrollar rápido.
4) web mobile:
Una estrategia híbrida con Phonegap o Titanium para el desarrollo de aplicaciones móviles puede ahorrarte cientos de horas de trabajo de desarrollo, claro, es cierto que no sirve para todos los casos, pero cuando quieres probar un prototipo es lo ideal:
Un buen aviso:
Evita cualquier tecnología que esté mal documentada y por ningún motivo aceptes que un programador imponga como tecnología un framework propio de el.