
El programador Full Stack es el generalista de los programadores, vendría siendo como el ingeniero civil industrial dentro del mundo de la informática con todo un arsenal de habilidades técnicas y no hay que confundirlo con el desarrollador Senior.
En resumen un programador full stack es un programador que puede crear aplicaciones complejas desde cero el sólo, para ello debe ser una persona que entienda en profundidad como interactúan las distintas capas de servicio de una aplicación.
1
Desarrollo Web laMP
El Kit más básico para ser un programador Full Stack es conocer desarrollo de aplicaciones WEB + LAMP, o sea Linux, Apache, MySQL y PHP, ahora muchas de estas tecnologías son intercambiables por otras similares, NginX en lugar de Apache, PostgreSQL en lugar de MySQL y Ruby on Rails en lugar de PHP, pero se entiende la idea.
Por supuesto que existe un equivalente Microsoft del Stack anterior, sería Windows + Microsoft IIS + .NET + SqlServer.
2
DESARROLLO WEB MEAN
El siguiente kit de un full stack developer es el llamado MEAN, que consiste en MongoDB (un motor de bases de datos no relacional) Express (que es un framework para Node y sólo se menciona antes que Node.js para que el acrónimo sea pronunciable), Angular el cual es un framework MVC (o MVVM) muy potente del lado cliente y Node, el famoso framework del lado servidor de javascript.
A diferencia del kit anterior este stack busca entregar la mayor cantidad de carga al lado del cliente pero requiere de una forma bien distinta de pensar las cosas.
3
Modelamiento
Claro, no se puede ser un desarrollador de aplicaciones independiente y no conocer de modelamiento y análisis de requisitos, Estos dos skills son mandatorios. Obviamente estos no son sólo conocimientos teóricos sino que se traducen en habilidades técnicas reales, conocer y manejar diversos tipos de diagrama de datos, partiendo como mínimo UML
4
Control de Versiones
Además un programador Full Stack debe saber ocupar herramientas de control de versiones como GIT, (SVN es mirado despectivamente dentro de los círculos snobs de programadores), y saber vincular GIT con herramientas de testing y deployment
5
Testing
Todos sabemos que la ley de murphy aplica siempre a menos de que estamos tratando de demostrar la existencia de la ley de murphy así que hay que testearlo todo y automatizar los testing.
6
PAAS y soluciones Cloud
Un buen programador Full Stack debe entender de manejo de PAAS como Heroku y Amazon, no sólo como usarlas si no que entender sus costos y como escalan y cuando deben ser usadas estas soluciones y cuando no.
7
Big Data, Scrapping y métricas
Este tipo de programador también debe saber de manejo de datos y cómo utilizar herramientas para análisis de ellos, o sea, sumemos a los requisitos conocer Hadoop y entender de operaciones map reduce. Además debe entender como extraer datos de sistemas de analíticas como googleanalytics, hay que tener en mente que el programador Full Stack no sólo es un programador, es además un análista.
Y como este tipo es un Rambo de la programación cuando no se tienen los datos debe saber scrappearlos de la web. Para analizar estos datos este Batman de la programación dispone en su cinturón herramientas decenas de algoritmos de Machine Learning e Inteligencia Artificial.
8
Aplicaciones Móviles
De Batman a Superman no hay mucha distancia, y como el full stack developer tiene que estar 100% actualizado obviamente debe saber como crear aplicaciones móviles, tanto híbridas como nativas, lo que suma a los requisitos conocer de frameworks web-mobile como PhoneGap y Titanium, de Frameworks Mobile como Ionic y Ratchet y obviamente debe saber Objective C (y Swift) y Java.
9
SEO y Sem
Hay que tener en mente que no es sólo suficiente construir, hay que publicar, y saber llegar a la gente y hay que saber ponerse en lugares para que la gente llegue aquí, publicar en las appstores es un arte, y estar primero en Google es una constante guerra y se hace mucho más difícil cuando la internet está llena de consejos malos.
10
Redes
Para que el arsenal esté completo, a este superheroe también se le pide que sea un experto en redes, y eso no es tan simple como montar una WIFI,hay que saber montar firewalls y hay que saber lidiar con iptables que definitivamente no es para novatos.
Las empresas cada día requieren de redes e infrastructuras más complejas y resistentes a ataques lo que me lleva al siguiente punto.
11
Seguridad Ofensiva
La mejor defensa es un ataque y ninguna persona que no esté constantemente leyendo los reportes de seguridad e intentando atacar sitios web puede estar al día en la defensa de su sitio, Un programador que no saber realizar inyecciones de queries via SQL es el mismo programador que dejará expuesta toda la base de datos de su aplicación. No digo que haya que andar por la vida haciendo daño sólo digo que es importante saber de seguridad informática.
Programadores Full Stack Vs Mundo Laboral
Es normal que las empresas quieran conseguir a los mejores trabajadores por la menor cantidad de recursos posibles puesto que en pedir no hay engaño, pero tener este tipo de conocimientos no es trivial, si bien se entiende que el full stack developer tiene más amplitud de conocimiento que profundidad entender de todos estos temas demora de muchos años de práctica por lo tanto no existe ni existirá algo así como Full Stack Developer Junior.
Hoy en día los alumnos salen de sus carreras de computer science, o ingeniería informática sin conocimientos de estos temas, por lo que una empresa los pida significa que este alumno debe tener 4 años de estudios universitarios y cómo un mínimo 5 a 10 de practica, o sea un Full Stack Developer tiene la misma experiencia de un Senior y como son técnicamente inexistentes les llaman los Unicornio de las programación.
Como empresa En1mes entiende de las necesidades de la falta de personas capacitadas en la industria, tanto en las areas de emprendimiento como en la industria formal TI y es por eso que hemos armado un Bootcamp especial para aplanar la curva de aprendizaje de estas tecnologías.
- ¿Por qué Twitter fue hecho en Ruby on Rails? - abril 15, 2016
- Construyendo una landing page en Ruby on Rails desde cero. - febrero 11, 2016
- Pair programming (de a dos es mejor) - febrero 11, 2016
- Creando un wordpress en hostinger - abril 18, 2015
- Login con facebook en rails 4.1 y 4.2 - febrero 3, 2015
- EL ASSET PATH DE RAILS - enero 26, 2015
- Entendiendo los objetos en Ruby - enero 21, 2015
- La verdadera educación Tecnologica - enero 14, 2015
- Kit Digital del gobierno de Chile - enero 14, 2015
- ¿Como diseñar un buen Layout para tu página web? - enero 13, 2015