Startup Engineering, un curso que hay que tomar

Hace unos días arrancó el MOOC de Coursera: Startup Engineering impartido por 2 profesores de Stanford, con sus respectivas Startups a las espaldas. En él se abordarán todas las tecnologías necesarias para crear una app escalable y que pueda llegar a convertirse en una Startup.

logo

Es bastante interesante porque no es el típico curso Entrepreneurship que sólo te enseña datos y te vende humo, aquí aprenderemos a usar tecnologías de verdad que usan empresas como Twitter, Linkedin, Facebook, Foursquare, etc.

Esta es una lista de las tecnologías que vamos a usar durante el curso, muchas de ellas las conozco y otras solo las he visto por encima. No me cabe duda que aprenderé bastante con el, ya que si te tomas en serio estos cursos, se aprende más en unas semanas que en 4 años de carrera.

  • OS: Ubuntu Linux (La distribución más popular de Linux, v12.04.02)

  • IAAS: Amazon Web Services, lo usaremos para que todos los alumnos tengamos el mismo entorno de desarrollo. En concreto una instancia EC2 t1.micro

  • PAAS: Heroku, En lugar de configurar un AWS utilizaremos Heroku como plataforma de despliegue

  • Shell: Bash, como consola de comandos.

  • DCVS (Distributed Control Version System): Git, el rey del control de versiones

  • DCVS Web: GitHub, el Facebook de los programadores

  • Lenguaje: Javascript, I love it

  • Macro-lenguaje: CoffeeScript, hace un JS más elegante, aunque no me termina de convencer.

  • SSJS: Node.js, la implementación de JS en el lado servidor

  • Framework Back-End: Express, El más popular en Node.js

  • Back-End ORM: Sequelize.

  • Base de Datos: PostgreSQL, Popular, robusta, relacional y completamente Open Source

  • Formato de datos: JSON, El estándar de la web para las APIs

  • Servidor Web: Node.js, Node funciona perfecto como servidor web

  • Dev Browser: Google Chrome, las Chrome Dev Tools son ahora mismo las mejores

  • Scraping: Phantom.js, Una implementación de Web-kit en el servidor con JS

  • Framework JS Front-End, AngularJS, como alternativa a Backbone.js

  • Framework CSS Front-End, Bootstrap, rápido y sencillo de utilizar, ideal para prototipar

  • Objetivo: HTML5 Mobile-App, por todo lo dicho anteriormente