Nuevos profesionales digitales
¿Qué esperamos de un desarrollador Back-end?
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. En un artículo anterior les explicamos las características del desarrollador front-end, esta vez analizaremos las funciones del programador back-end.
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.
Autor
Maximiliano Villegas
Director de desarrollo
Investigo lo último en tecnología web, para ofrecer soluciones innovadoras en los proyectos. Encargado de resolver problemas de integración en diversas API's, servicios y plataformas que operamos. Me gustan los proyectos perfectamente terminados, con código bien estructurado, simple y legible.
Artículos relacionados
14 años y 2.550 posts después.
Sabíamos optimizar WordPress como nadie. Por eso lo dejamos
Accesibilidad cognitiva
Estás perdiendo a uno de cada cinco usuarios porque el modo oscuro no es una estrategia de inclusión
Diseño de Experiencia