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/