Definirse a uno mismo sólo un programador web es bastante obsoleto, así como usar la palabra webmaster (que horror…se me cayó el carnet!!!) para mencionar al que hace webs, el tiempo ha evolucionado y hoy en día tenemos 3 tipos de desarrolladores cada cual con su nombre y roles bien definidos.

Si no sabes hacía donde orientar tu especialización te voy a contar un poco más sobre cada uno, para tenerlo claro y poder tomar la mejor decisión.

Cuando estudias desarrollo web no te explican que debes tomar un camino, definirte para poder mejorar tu perfil y así poder presentarte a las mejores empresas como el master absoluto en lo que haces. Sí porqué ser un desarrollador web no es sólo una cosa, si no que abarca diferentes áreas y un conjunto de habilidades.

Esta son las tres áreas más importantes que te voy a explicar: 

  • Front End
  • Back End
  • Full Stack

Front End

El desarrollador Front-end se encarga de la parte visual del sitio web, el lado Cliente. Lo que se ve y como sé ve, la parte visual. Transforma un diseño en una maqueta completa con su funcionamiento y acciones. Su trabajo se encarga también de minimizar los tiempos de carga y entregar una mejor experiencia de usuario.

Materias fundamentales e indispensables que necesita saber en front-end developer

  • HTML: Es la base para que una página web exista. Sin el html no tendríamos nada. Nuestro componente inicial, el andamio para empezar a construir. Al día de hoy el Html es bastante más complejo y gracias al utilizo de las APIs de Html5 podemos crear casi todo: manejar archivos, trabajar sin conexión, enviar notificaciones, realizar comunicaciones en tiempo real, hacer tratamiento gráfico a bajo nivel para manipular imágenes y vídeo, geoposicionar a los usuarios, crear animaciones y transiciones de estados, crear tareas costosas en segundo plano… Las posibilidades son enormes y conviene conocerlas y dominar muchas de ellas.
  • CSS: Es la parte visual. Los estilos que plasman el mismo diseño que teníamos pensado. Aquí entran en juego varios factores, conocer algún framework html y css como por ejemplo Bootstrap o Foundation y ejecutar los estilos con algún preprocesador como Saas o Less. Debemos hacer mucha atención en el diseño Responsive para adaptabilidad a todos los dispositivos y maquetar con Flexbox y Grid que es la última tecnología incorporada al css.
  • Javascript: para entregar el dinamismo y la interactividad y no dejar nuestra página web estática. Conocer bien alguno de los frameworks JavaScript más relevantes, ReactJS, AngularJS, Ember, Backbone y con librerías como jQuery, Prototype, Motools y otros.
  • Herramientas para el navegador, indispensables para poder depurar nuestro código, optimizar la interfaz, medir rendimiento y tiempos de carga. Son herramientas complejas si se quiere profundizar en ellas, y dominarlas es algo muy importante.

Si quieres ser un buen profesional necesitarás ahondar mucho en estos temas. Ya no es sólo un diseño hecho realidad es mucho más, y los conocimientos que se necesitan son muchos más exigentes que hace unos años atrás.

En internet hay muchos memes sobre la diferencia entre un Front y un Back…pero básicamente es así.

Back End

El trabajo del desarrollador back-end enfoca sus labores del lado servidor. Prácticamente es quien se encuentra detrás del escenario, y es el que permite que el usuario disfrute con la máxima comodidad la navegación. Sin él, el desarrollo llevado a cabo por su anterior compañero no se sostendría.

Para ser un back-end developer es necesario tener un amplio conocimiento en numerosos lenguajes, así como estar familiarizado con las bases de datos.

Materias fundamentales e indispensables que necesita saber el back-end developer

  • Conocimiento amplio de lenguajes y frameworks: Es importante que tenga conocimientos importantes en esta clase de lenguajes para el desarrollo completo y eficiente de su trabajo. Entre algunos de los más destacados pueden ser encontrados:
    • ASP.NET (una plataforma de desarrollo web de Microsoft)
    • PHP (WordPress y Magento emplea PHP, también Laravel es muy empleado con este lenguaje)
    • Python (es sencillo de aprender, sobre todo usando Django como framework)
    • Ruby (úsalo junto Ruby on rails, su framework)
    • Node.js (emplea el mismo lenguaje que el lado cliente, JavaScript)
    • Java (un lenguaje clásico, y de gran demanda)
  • Familiarización con bases de datos: Un desarrollador back end requiere conocer con precisión el funcionamiento de las bases de datos. Esto se debe a que toda aplicación web necesita almacenar datos de algún modo. Tomando en cuenta esto, entre las bases de datos más comunes a manejar se encuentran:
    • MySQL
    • SQL Server
    • PostgreSQL
    • Oracle

Como siempre digo lo mejor es especializarse en un lenguaje específico para no tratar de ahondar en todos.

Full Stack

El full stack developer es el encargado del desarrollo del proyecto. Algo que comprende desde el montaje de los servidores hasta llegar al diseño CSS. Se trata de un programador multiusos y de una gran versatilidad.

Como factor clave para llegar a ser un Full Stack, se encuentra la capacidad de dominar el Stack tecnológico, es decir, tener conocimientos profundos en tecnologías empleadas para el desarrollo: LAMP (Linux, Apache, MySQL y PHP) y MEAN (Mongo, Expres.js, Angular y NodeJs),

Este tipo de programador fue popularizado hace unos años por el departamento de ingeniería de Facebook.

Pero tal y como evoluciona hoy en día la tecnología, es casi inviable tener una pata en cada lado (Cliente/Servidor/Arquitectura) y dominar todos. Generalmente, los programadores que se hacen llamar full stack están más centrados en una de las dos partes, es decir, dominan una de las partes y de la otra tienen nociones, las justas para defenderse en su día a día. Estos perfiles suelen trabajar en pequeñas empresas donde ellos solos son los encargados de todo el desarrollo web.

Así que atentos a los trabajos que por buscar un full stack quieren un todo en uno….

No tomes la decisión tan rápido…

Como puedes ver el desarrollo web presenta múltiples facetas las cuales además evolucionan con el tiempo. Así que no te presiones ni intentes aprender todo a la vez.

Independientemente del tipo de programador web que hayas elegido ser, si quieres destacar entre tus compañeros, no olvides desarrollar tus habilidades sociales, lo que los angloparlantes llaman soft skills frente a las que hemos estado hablando en todo el post que eran hard skills. Las más importantes son: capacidad para aprender rápidamente, capacidad para resolver problemas de forma eficiente, atención al detalle y por supuesto, facilidad a la hora de comunicarse.

Recuerda en la mayoría de tus trabajos no estarás solo, sino que formarás parte de un equipo con lo que tu papel estará perfectamente definido. Por lo tanto, escoge en dónde quieres desarrollar tu carrera (Cliente o Servidor) y concéntrate en aprender y perfeccionar tus habilidades y conocimientos de desarrollo web de forma enfocada.

Ser desarrollador significa seguir en constante aprendizaje, siempre necesitarás aprender y crecer. La tecnología se mueve muy rápido y tu con ella.

Escrito por
Perla Simeone
Deja un comentario y conversemos

WhatsApp chat