El desarrollador back-end es el responsable de la programación de un sitio web en todos sus componentes dinámicos ¿Qué habilidades y conocimientos debe tener para realizar bien este trabajo?

La evolución de las plataformas y herramientas para la creación de sitios web ha expandido las posibilidades del desarrollo, especializando sus partes y dividiendo las tareas principales del webmaster en dos grandes áreas: La interfaz visible para los usuarios y las configuraciones “backstage” de un proyecto web. E

Se trata de un profesional fundamental en los proyectos digitales, responsable de la programación de un sitio web y todos sus componentes, coordinando páginas, formularios, funcionalidades, bases de datos y servidores web, evitando problemas en las capas más profundas del proyecto. En su día a día trabaja con lenguajes del lado del servidor como PHP, Ruby, Python y con bases de dato relacionales del tipo SQL o no relacionales como MongoDB. Además, maneja JavaScript en el lado del browser, como un puente entre la interfaz y el motor del desarrollo, muchas veces con un framework como Zend o Cake o un CMS como WordPress o Drupal.

¿QUÉ HABILIDADES DEBE TENER?

Contrario a lo que se podría pensar, las habilidades del desarrollador back-end están más relacionadas con la lógica y el diseño de soluciones que con conocimientos técnicos. Para lograr un buen trabajo, el profesional debe tener:

Conocimientos técnicos:

  • Capacidad de abstracción lógica: Debe visualizar el inicio y final de acciones y plantear los recorridos posibles para luego determinar la estrategia más eficiente.
  • Conocimientos y capacidad de estudio de lenguajes: Estar constantemente estudiando PHP, Ruby, Python, Perl y/o JavaScript.
  • Manejo de al menos un CMS: Como por ejemplo WordPress o Drupal (en IDA nos inclinamos por el primero).
  • Manejo de al menos un Framework:  Como referencia tenemos Zend o Cake.
  • Conocimientos básicos de configuraciones de servidores web: Para poder adaptar elementos como la capacidad de memoria, la capacidad para subir archivos, el nivel de demanda e instalar librerías como APC (para el caché) y GD (para la manipulación de imágenes). Si bien no es imperativo, estos conocimientos son bien valorados.

Habilidades blandas:

  • Capacidad de escuchar y entender requerimientos del cliente: Debe identificar sus problemas y ofrecer soluciones, sin ponerle barreras. En IDA sabemos que todo es posible, tal vez sea difícil y involucre tiempos y costos distintos, pero partimos de la base de que estamos para ayudar a los clientes a llevar a cabo sus ideas, por muy complejas que sean.
  • Eficiencia y proactividad bajo presión: Al ser el último eslabón de la cadena, debe enfrentar todos los problemas derivados de las etapas anteriores, manteniendo una actitud analítica que le permita encontrar soluciones de forma ágil y creativa.
  • Capacidad para trabajar en equipos multidisciplinarios: Esto le permitirá entender y aportar en todos los procesos previos a su trabajo.
  • Habilidad de ser ordenado para trabajar: Tener el hábito de comentar el código, escribir manuales y trabajar con estándares, entendidos como acuerdos de los métodos definidos por los equipos para comunicarse con códigos y trabajar siguiendo la misma lógica.

Además, el desarrollador debe tener conocimientos sobre Node.Js, un intérprete JavaScript del lado del servidor que permite a los programadores construir aplicaciones altamente escalables. Esta es la nueva tendencia del desarrollo web, donde se mezcla la interfaz con el servidor, por lo que empieza a desaparecer la diferencia entre front-end y back-end.

¿CUÁLES SON SUS RESPONSABILIDADES?

Sus tareas no se limitan simplemente a las etapas finales del proyecto digital, el desarrollador debe participar en todas las etapas anteriores aportando con su perspectiva para evitar posibles problemas a futuro. Sus responsabilidades principales son:

  • Buscar todas las soluciones posibles a un problema, analizarlas y determinar la más efectiva y eficiente. En IDA tenemos la premisa que cuando se trata de problemas complejos, la primera solución que se encuentra es siempre la equivocada, sobre todo si se hace contra el tiempo.
  • Aplicar las mejores soluciones para programar acciones y funciones.
  • Mantener siempre una actitud de autoaprendizaje y actualización de conocimientos, estudiando los lenguajes de programación vigentes.
  • Indagar las necesidades de los clientes y ofrecer las mejores soluciones en forma de proyectos factibles.
  • Identificar problemas en la cadena productiva, analizando todos los procesos, para definir dónde se generó y cómo solucionarlo.
  • Proponer soluciones en etapas tempranas para evitar problemas.

CONCLUSIÓN

Un buen desarrollador back-end entenderá, tal como dice WordPress, el código como poesía. Es decir, no se quedará con lo primero que encuentre, sino que estudiará y probará opciones para diseñar armoniosamente las soluciones que resuelvan de forma más efectiva y eficiente los problemas planteados.

Nota original: https://blog.ida.cl/desarrollo/que-esperamos-de-un-desarrollador-back-end/