Revelando el mundo de las Startups Colombianas
Recursos Imprescindibles para el Escalamiento
Es 2020, y seguramente ya has escuchado la palabra startup. Personalmente me encanta la imagen mental de dicho concepto. En pocas palabras (in a nutshell), una startup es un negocio que provee valor constante en un mercado que lo requiere y de manera ágil (agile). Debido al hecho que cuenta con un componente fuertemente tecnológico, puede escalar fácilmente y con recursos limitados. Escalar significa que puede ser implementado en distintas regiones y soportar cientas o miles de transacciones sin tener que hacer una gran inversión en recursos (Overcoming Lack of Resources). También, el desarrollo de productos tecnológicos cuenta con un costo de producción mucho menor al costo de establecer una linea de producción para un producto físico. A continuación menciono algunas de las herrmientas más comunes que una startup utiliza en 2020 para crear productos tecnológicos escalables de manera ágil.
The most important thing, the team. Sí, lo más importante en una startup es el equipo que la compone, seleccionar un equipo de trabajo que sea altamente motivado es lo que un buen líder de equipo busca en cada miembro del mismo. Personalmente busco una combinación de proeficiencia en la rama de desempeño, capacidad de aprendizaje constante y cultural fit. Esto se debe a que en una startup el ritmo es acelerado, en este ecosistema las personas no trabajan por horarios, eso no es rentable. Se trabaja por objetivos, esto significa que cada miembro del equipo cuenta con un tiempo determinado (algunas veces estimado por ellos mismos) para realizar una actividad específica. Las empresas miden el desempeño en KPIs (Key Performance Indicators).
Esto tiene dos beneficios. Primero, genera la sensación de reto en la persona, quien al terminar la actividad se sentirá emocionalmente recompensada, reconociendose a si misma que es valiosa. El segundo beneficio de trabajar por objetivos es que eres medible, esto significa que las horas que te sientas en un escritorio tienen 0 valor, lo que realmente vale es lo que haces, como lo haces y si no lo puedes hacer, como te apoyas para terminar la actividad. Esto te da un poco más de flexibilidad para atender asuntos personales siempre y cuando logres el balance, y esto no afecte tu trabajo.
The basics, una laptop. La idea es ser ágiles, cada uno de los team members cuenta con un computador personal que lo acompaña a donde vaya. Los desarrolladores de software cuentan con multiples pantallas en donde en una pueden visualizar el código y en otra pueden compilar, renderizar o ejecutar el código. O leer y aprender nuevos conceptos para implementarlos.
Si ya eres parte del entorno tecnológico, y lo que mencioné anteriormente no es nuevo para tí. Éstas son las herramientas de software que se están utilizando en Colombia para crear productos de software en 2020.
- Git/Github, para controlar versiones de código,
- Docker, para el despliegue de imagenes virtuales en contenedores,
- Kubernetes, para la automatización de despliegues,
- Elastic Beanstalk (AWS) - Google App Engine (Google), para la gestión de Microservicios en la Nube.
- Las bases de datos que más me he encontrado en el ambiente son MongoDB, MSSQL, MySQL, Oracle, PostgreSQL.
- Apache Maven: Para manejar las dependencias y manejar los ciclos de vida de un proyecto. Nos olvidamos de los drivers, y demás .jars que eran realmente tediosos de descargar y agregar al ambiente. Todo se maneja desde el pom.xml.
- Un Framework backend robusto y escablable: Recomiendo Java Spring Boot, y todos los módulos de Spring, ya todo viene listo para usar.
- REST y Rest API: Estilo de Arquitectura para transferencia de información entre los componentes de una red.
- IDE: Va en gustos, yo prefiero IntelliJ, me parece una interfaz amigable, amo los colores pues facilitan la lectura del código, tambien cuenta con integraciones que permiten fácilmente realizar proyectos sin preocuparse por abrir consolas externas. También su integración con Git y Github es muy intuitiva. En 2020, se usa Eclipse y visual studio code.
En el siguiente articulo haré el discernimiento entre herramientas del front end y back end, explicaré algunos conceptos y hablaré sobre Scrum.
Daniel Olarte
Systems Engineer - IT Team Leader
www.trustingrisk.com