Diario de un CTO – Capitulo 1 Bootstrapping

Dado que escribo poco en este blog, he decidido dar un poco de vida y escribir cosas interesantes que puedan ayudar a otras personas en las mismas situaciones que yo experimentando, con anotaciones de lo que me salió bien y lo que salió mal (indicando que debería haber hecho), nunca deis por sentado que lo que me haya salido bien a vosotros os salga igual pero os servirá de guia.

Primero una breve presentación:

Mi nombre es Carlos Pérez Fernandez, soy CTO y socio fundador de CoverManager, en el momento de escribir estas palabras la empresa cuenta con 5 años, y sus principales servicios están destinado a cubrir las necesidades tecnológicas de los restaurantes en materia de gestión de reservas, colas virtuales, gestión de herramientas para evitar los NoShow, gestión de pedidos para el Take Away y el Delivery, gestión de reservas en canales de terceros o ChannelManager… en definitiva todo lo que los restaurantes nos solicitan entorno a la tecnología para mejorar su revenue, automatizar procesos o conocer mejor a sus clientes.

StartUp

Una StartUp se define como una gran empresa en su etapa temprana, a diferencia de una PYME, una StartUp es un negocio escalable mediante tecnologías digitales.
Por tanto toda gran empresa ha tenido su momento StartUp, por ello me centraré en el proceso que lleva una StartUp a convertirse en una gran empresa.

Empecemos por el principio:

Cuando se inicia un proyecto de base tecnológica tipo Saas (software como servicio), es fundamental tener claro dos conceptos principales:
– Conocer el sector
– Conocer la tecnología

Cuando empezamos con este proyecto ya veníamos de haber montado otra empresa del mismo sector pero destinado a diferentes clientes, ello nos ayudo en gran medida a orientar y poner foco en lo que nos haría crecer.

Así que centrémonos en la tecnología, que es el campo que mejor domino.

Cuando montas un proyecto por primera vez sueles destinar mucho tiempo a lo que crees que tienes que hacer y no en lo que realmente te piden, por tanto destinas un primordial tiempo en defender tus ideas y no en escuchar.
Por eso cuando no es tu primer proyecto dedicas el tiempo a escuchar que necesitan, y tu mente empieza a desechar tecnologías que no se adaptan a lo que necesitas construir, y casi sin seguir un orden lógico empiezas a crear el primer prototipo adaptando alguno de los proyectos anteriores.
Para poder desechar es necesario conocer muchas tecnologías, frameworks y lenguajes, por lo que generalmente escoges las opciones acertadas porque conoces opciones acertadas, en definitiva, tendrás que haberte curtido en estas materias con una gran experiencia.

Roadmap (hoja de rura)
Cuando vas de una ciudad a otra y tardas varios días, trazas los puntos donde tienes que descansar, por los caminos o vías más rápidos, generalmente escogerás hoteles para dormir, restaurantes donde comer y cenar, y areas de descanso para descansar, que para eso las han creado.
Pues en la tecnología igual, usa servidores que ya tengas de otros proyectos, o usaras hosting de bajo coste, usa lenguajes de programación que domines, y no escribas todo desde cero, usa frameworks tanto para frontend como backend… que para eso los han creado.

Bootstrap
Técnica de carga de un programa en base a unas pequeñas instrucciones iniciales el cuál permite la carga del resto del programa.
¿Qué quiere decir esto?
Que emplees el mínimo tiempo en programar cosas superfluas que seguro que otra persona ya ha programado y te centres en aquello que realmente te han pedido.

Si ahora tuviera que poner un orden lógico para crear un roadmap para crear un prototipo diría que siempre me basé en el Bootstrapping.

Servidores
En un principio no destines tiempo a pensar en una infraestructura compleja, planifica lo básico que necesitas:
– Hosting de código (PHP, NodeJS, Python…)
– Base de datos (MySQL, MaríaDB, PosgreSQL, MongoDB)
En un principio incluso lo puedes poner todo en una misma instancia que puede ser hasta compartida.
No necesitas en un principio nada autoescalable, ni caché, sesiones en base de datos, a veces qué ni certificado SSL de pago (usa el que te proporcione tu hosting que indique correcto y listo)….

Backend
Se denomina backend al código alojado en el lado del servidor, en la mayoría de los negocios aquí se encuentran los algoritmos propios que hará la magia que necesitan los clientes.
Básate en un Framework que dominies o al menos con una curva de aprendizaje rápida y que a la vez te proporcione la escalabilidad que necesitas.

Frontend
El frontend es algo sumamente importante, ya que pone en valor la magia del Backend, y como le dedicarás poco tiempo al principio, te recomiendo que te bases en framework comúnmente establecidos o que incluso compres alguna plantilla basada en estos frameworks.
Mi recomendación es usar Bootstrap, un conjunto librerias HTML, CSS y JS, que te permiten crear algo bonito y rápido. Concretamente me decantaría por comprar alguna plantilla de ThemeForest.
Sé que vais a decir que es más sencillo que la vista la hagáis vosotros desde cero, poniendo cajitas bla, bla, bla…
La primera impresión es muy importante, así que debe estar bonito, aunque en verdad conquistaréis a vuestros clientes con el tiempo por vuestras funcionalidades.

A lo largo de los siguientes capítulos exploraremos desde los primeros problemas habituales que suelen aparecer, hasta los mas complejos basados en la escalabilidad.

carlospf

Ingeniero Técnico en Informática de Sistemas, especializado en desarrollo de soluciones software y comercio electrónico. Director técnico y cofundador de CoverManager, software de gestión de reservas en restaurantes de alta ocupación.

Deja un comentario