Startup Engineering

10
Startup engineering Introducción ¿Qué es una Startup? (Paul Graham) Es un negocio construido para crecer extremadamente rápido. Y dicho crecimiento usualmente requiere algún tipo de nuea tecnolog!a. Startups en el pasado. "#$$% Petróleo& acero& 'armac uticas& tel gra'o. " $$% *utomóiles& aiación& tel 'ono. El pro+lema de reali,ar una startup en industrias emergentes del siglo pasados son dos% -apital. egulaciones. Startups en el presente. *ctualmente las industrias emergentes no son petróleo ni automóiles& sino so't/are 0 computación. 1a industria del internet 'ue promoido por%

description

Startup Engineering

Transcript of Startup Engineering

Startup engineeringIntroduccin

Qu es una Startup? (Paul Graham) Es un negocio construido para crecer extremadamente rpido. Y dicho crecimiento usualmente requiere algn tipo de nueva tecnologa.Startups en el pasado. 1800: Petrleo, acero, farmacuticas, telgrafo. 1900: Automviles, aviacin, telfono.El problema de realizar una startup en industrias emergentes del siglo pasados son dos: Capital. Regulaciones.

Startups en el presente.Actualmente las industrias emergentes no son petrleo ni automviles, sino software y computacin.La industria del internet fue promovido por: El colapso de la URSS lo cual permiti el libre mercado en Europa del Este, India, China y la Antigua URSS. La derogacin de la NSF AUP que haba prohibido el comercio por internet.Startup de internet: Un negocio que puede empezarse en un dormitorio y escalar al mundo entero.Caractersticas claves de las Startups de internet. Escalabilidad operacional.No necesitas empleados ni colas, solo una base de datos y la habilidad para llevar a cabo las transacciones. Tamao del mercado.Es mucho ms fcil mediante internet ahora poder vender productos o servicios en cualquier parte de mundo siendo tericamente posible venderle a todo el mundo que usa internet. No hay fuertes barreras entre pases. Generalidad.El software es el producto ms general imaginable. Las habilidades de ingeniera de software son altamente porttiles y su industria es transversal a cualquier otra industria. Bajas barreras de capital.Existe una hiperdeflacin de los precios de hardware lo cual genera una Ley de Moore que se sigue manteniendo. Bajas barreras regulatorias.Es muy difcil regular el internet y por el momento casi nada es regulado. Cdigo libre.Permite la escalabilidad. La larga cola.Ahora no es solo posible hacer frente a mercados de tamaos sin precedentes sino tambin a una especificacin sin precedentes de ese mercado usando herramientas como Google Ads, Facebook Ads, o creando un blog para personas con un determinado inters. Tolerancia al fracaso.Hay una colosal diferencia en la penalidad al fracaso y eso permite que las Startups de internet se muevan rpidamente. Si algo falla en el mundo virtual no generara en la mayora de casos, muertes reales o accidentes reales lo cual permite experimentar ms que en el mundo real. Susceptibles a la titulacin.Se puede construir un negocio hbrido en el cual algunos aspectos se mantienen constreidos al mundo fsico y con aspectos de una startup de internet los cuales son titulados lo mximo posible.

Tendencias tecnolgicas: Movilidad y descentralizacin.

Ingeniera de Startup.Ingeniera del startup significa conseguir algo que funcione suficientemente bien para que las personas lo compren.Se trata de oscilar entre: Tecnologa. Diseo, marketing y ventas.Tan anlogo como el juego de chessboxing o ajedrez boxeo.

La importancia de la versatilidad.En una startup uno tiene que ser verstil porque se tiene que trabajar en cosas como lo que son ventas, conseguir financiamiento as como el ordenar comida para todos los que trabajan en la startup o pagar el alquiler, etc. Mientras pasa por lo que es realizar la codificacin para que el producto funcione.Uno tiene que realizar las cosas de diseo y marketing a un nivel aproximado de 7/10 lo suficiente para que te diga oh, no est mal y as poder reclutarlo para conseguir un 10, ya que en cambio, hacerlo a una calidad 2/10 no permitir que puedas reclutar a las mejores personas.Debe definirse uno no solo como un ingeniero sino como un tipo de persona que consigue que las cosas se hagan.Diseo, marketing y ventas.Tener un equipo de 30 ingenieros en una startup a los cuales les pagas 100,000 dlares por persona por ao, significa 3 millones de dlares al ao, lo cual solo podra ser pagado mediante 30,000 productos que cuesten 100 dlares la unidad. As que a menos de que ya se tenga una buena cantidad de ingresos, ms vale ser verstil y ya cuando uno llegue a ser escalable uno podr ya ser ms especializado.HTML5 Mvil: Objetivo de plataforma para el proyecto final.La mayora de los dispositivos que tienen las personas o estn empezando a comprar a partir del ao 2011 son dispositivos mviles en vez de computadoras personales (Android, iPhone, iPad, etc.).Razones? Los dispositivos mviles son el futuro. El diseo responsive nos da una interfaz de usuario de computadora de escritorio gratis. La localizacin independiente incrementa el alcance. Simplicidad. Ubicuidad. JavaScript es el futuro.

Inicio interactivoTu primera aplicacin web.

Pasos:1. Instalar Cygwin (Windows).2. Conectar va SSH al Servicio web de Amazon.3. Alquilar un espacio compartido por tiempo de una mquina virtual ofrecida por AWS.4. Almacenar y recibir el cdigo en github.com mediante lneas de comando.5. Implementar el sitio mediante Heroku.6. Ver la pgina web en http://your-app.herokuapp.com

Una vez instalado Cygwin debemos empezar registrndonos en 4 sitios webs: Github: Almacenar el cdigo. Gravatar: Identificacin personal en los git commit y solicitudes pull. Amazon Web Services: Ambiente de desarrollo para escribir el cdigo. Heroku: Desplegar el cdigo en la web.Linux y JavaScript del lado del servidor

Linux y caractersticas clave.La convencin en Silicon Valley es usar mquinas OS X para desarrollo local y uso diario, con mquinas Linux para la implementacin de la produccin y mquinas Windows solo para testear IE o para interconectar con algn tipo de hardware (p.e. Kinects).Caractersticas claves: Interfaz de lnea de comando. No pago de licencias. Cdigo abierto. Lagunas del lado del servidorMientras que el software est corriendo detrs de un servidor web, como Google, el trmino GPL no te considera un distribuidor del cdigo. A partir de ello se cre la licencia AGLP. Linux y StartupsLa laguna ASP permite generar beneficios a las modernas compaas de internet aun usando Linux y software libre. Esto siempre y cuando no se haga una distribucin del cdigo, sino solo su uso, por ejemplo, mediante una aplicacin web. Cliente OS X, servidor LinuxLa norma en Silicon Valley es usar una laptop Macbook Pro para desarrollo local y usar servidores corriendo en Linux para la implementacin de la produccin. Se usan Las Macbook Pro porque permiten correr BSD que es una variante de Unix lo suficientemente similar que permite para la mayora del cdigo, correr el cdigo sin cambiar la laptop con el OS X al servidor remoto Linux. Ubuntu: distribucin del escritorio/servidor Linux Android: distribucin mvil de Linux

Mquinas virtuales

Usa un procesador de los, digamos, 8 procesadores de una computadora y al vitalizarse, lo que hace es usa un procesador como una computadora independiente la cual puede ser borrada y reiniciada sin afectar a las dems.Permite el mximo uso de una computadora con varios procesadores.La Nube e IAAS/PAAS/SAASLas tres capas de la Nube:1. IAAS: Proveen acceso directo mediante lneas de comando al hardware.2. PAAS: Proveen un API con lo cual esconden y abstraen las lneas de comando.3. SAAS: Interactas solamente con un API o GUI y no hay control en el hardware.

Conceptos bsicos del sistema de archivos.

cd: Navegar entre directorios. pwd: Imprime el actual directorio donde se est. cat: Imprime el contenido del archivo. ls: Lista de los contenidos del archivo. cp: Copia los archivos. mv: Renombra los archivos. mv: Mueve los archivos. rm: Remueve los archivos y directorios.