Desarrollador Node.jsResponsabilidades
El Desarrollador de Node.js para el middle-tier estará a cargo del desarrollo , pruebas, empaque y entrega de software funcionando de acuerdo a las especificaciones establecidas con el equipoe.
El desarrollador trabajara como miembro de un eqiipo pero también trabajara en forma remota y de manera independiente. La mayoría del trabajo estará centrada en desarrollar herramientas para la manipulación de importe de datos a las bases de datos o en el desarrollo de RESTful APIs para conectar nuestra tienda a nuestras bases de datos del back-end ( MongoDB , PostgreSQL ) .
Cualificaciones requeridas
• Un conocimiento profundo de las mejores prácticas de ingeniería, diseño de algoritmos y estructuras de datos .
• Diseño para la velocidad, escalabilidad y el rendimiento general
• Comprensión de los problemas de seguridad en aplicaciones web
• Comprensión de los problemas del lenguaje( javascript ) y cómo desarrollar de manera apropiada para evitar problemas.
• Conocimiento profundo de javascript: comprensión de las cuestiones de gestión de memoria las fugas de variable a el espacio global de Nombres (Global Namespace), los patrones comunes de javascript (patrón de módulo, patrón de cierre (closure) , call-back , funciones anónimas)
• Desarrollo de las API de REST y JSON
• Se requiere de la comprensión de la programación dinámica , la recursividad , el modelo de objetos basado en prototipos y modelos asíncronos en javascript.
• Conocimiento del modelo , impacto en el rendimiento de JavaScript asíncrono de las decisiones de diseño
• Conocimiento del método de desarrollo basado en pruebas (test-driven development) incluyendo el uso de herramientas de prueba de unidad (ej., buster.js, Jasmine, Karma). Capacidad para entregar el código de trabajo rápido y probado a fondo .
Cualificaciones deseables
• Conocimiento del desarrollo de Metodologías Ágiles un plus.
• Capacidad para trabajar de forma independiente , de forma remota, y con poca supervisión.
• Capacidad para terminar y entregar de forma rápida el código documentado funcionando, con baterías de prueba y de acuerdo a las especificaciones
• Capacidad para comunicarse con claridad y entender cómo entender los requerimientos ya sean en casos de usuario o historias y así garantizar la entrega de acuerdo con las expectativas .
• Capacidad para priorizar el “backlog” y entregar historias en os “sprints” de acuerdo a un plan acordado con prioridad
• Habilidad para investigar de forma independiente para llegar a soluciones o presentar opciones
• Capacidad para trabajar con las comunidades de código abierto para encontrar soluciones de forma rápida
• Experiencia de conexión utilizando los conductores de node.js a Mongo y PosgreSQL un plus.
• Comprensión de la necesidad de trabajar dentro de un marco que requerirá la escalabilidad , capacidad de respuesta , la flexibilidad , la internacionalización del sistema. Asi entender las implicaciones de las decisiones de codificación es un plus. Como se necesita un mínimo de comprensión de la necesidad de comunicar esas decisiones antes de la implementación .
• Comprensión del motor V8 y el uso de navegadores sin cabeza (headless browsers)
• Conocimiento de las herramientas básicas de desarrollo y medio ambiente como:
IDE (Eclipse), o editores como emacs or vim , Git y Github , Unix shell , la NPM ,
AWS , Heroku / NodeJitsu ( ☺ ), entre otros .
• El español es suficiente , pero ya que algunos miembros del equipo hablan ingles únicamente, la comprensión de Inglés es un plus
Julián David Duque
Developer by Passion