Las empresas demandan un Full Stack developer cuando buscan una persona técnica, que conozca bien todos los aspectos del front-end, back-end, los diferentes sistemas operativos y componentes que quedan en el medio.

 

9-aspectos-que-debe-conocer-un-Full-Stack-DeveloperActualmente la demanda de desarrolladores de estas características va en aumento, ya que deben ser capaces de asumir diferentes tareas. 

De hecho, empresas como Facebook, Instagram, Twitter, Despegar.com, Google, Mercado Libre, entre otras, sólo contratan desarrolladores con este tipo de perfil.

El desarrollador Full Stack es el generalista de los desarrolladores, con mucho conocimiento técnico y no hay que confundirlo con el desarrollador Senior.

En resumen, es un desarrollador que puede crear aplicaciones complejas desde cero él sólo. Para ello debe ser una persona que entienda en profundidad cómo interactúan las distintas capas de una aplicación.

Estos son los 9 aspectos principales que debe saber un desarrollador Full Stack:

1. Desarrollo Web Lamp

El Kit más básico para ser un desarrollador 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 o Ruby on Rails en lugar de PHP.

Por supuesto que existe un equivalente en Microsoft que sería Windows + Microsoft IIS + .NET + Sql Server.

2. Desarrollo Web Mean

El siguiente kit de un Full Stack es el llamado MEAN, que consiste en MongoDB, Express, Angular y NodeJS.

A diferencia del conjunto 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

No hay que perder de vista el diseño del modelo y el análisis de requerimientos, estos dos skills son mandatorios. Obviamente estos no son sólo conocimientos teóricos sino que se tiene que conocer y manejar diversos tipos de diagrama de datos, mínimamente un buen manejo de UML.

4. Control de versiones

Además un desarrollador Full Stack debe saber utilizar herramientas de versionado como GIT, (SVN "ya pasó de moda" y es mirado despectivamente dentro de la comunidad), a su vez se tiene que saber vincular GIT con herramientas de testing y deployment, ya sea Jenkins, heroku, bizagi, Go Cd, etc.

5. PAAS Y Soluciones Cloud

Un buen desarrollador Full Stack debe entender de manejo de PAAS (Plataform as a Service) como Heroku y Amazon. No sólo cómo usarlas, si no que entender sus costos y cómo escalan y cuándo deben ser usadas estas soluciones y cuándo no.

6. Métricas

Debe entender cómo extraer datos de sistemas de métricas como google analytics. Hay que tener en mente que el desarrollador Full Stack no sólo es un desarrollador, es además un analista.

7. Aplicaciones móviles

El Full Stack Developer tiene que estar 100% actualizado, por lo cual, debe saber cómo crear aplicaciones móviles, tanto híbridas como nativas. Sumando a los requisitos el 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.

8. SEO (Search Engine Optimization) y SEM (Search Engine Marketing)

En blogs siguientes les voy a explicar la diferencia, pero un Full Stack tiene que tener en cuenta que no es suficiente sólo saber construir aplicaciones, hay que saber publicarlas.

Publicar en las appstores no es cosa de principiantes, y estar primero en Google es todo un desafío, y esto se hace mucho más difícil cuando internet está lleno de malas prácticas.

9. Seguridad

Un desarrollador que no saber realizar inyecciones de queries via SQL es el mismo desarrollador que dejará expuesta toda la base de datos de su aplicación. Es importante para un Full Stack saber de seguridad informática.

Desarrollador Full Stack en el mundo laboral

Es normal que las empresas quieran conseguir a los desarrolladores, por la menor cantidad de dinero posible, pero hay que tener en cuenta que este tipo de conocimientos no es trivial. Si bien se entiende que el Full Stack developer tiene más amplitud de conocimiento que expertise en los mismos, hay entender que adquirir conocimientos en 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 ciencias de la computación, 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 como un mínimo 5 a 10 de práctica.

Un "Full Stack developer" es un desarrollador con un perfil técnico muy completo que conoce bien tanto lo referente a back-end como lo referente a front-end, se maneja en sistemas y sabe entender. Se trata de un perfil cada vez más demandado y bien remunerado.

¿Te gustó esta publicación? Márcala como favorita