CONEXIONHR

ID 4066 – Desarrollador Python – Django

Categoría del trabajo: Django Python
Tipo de trabajo Remote
Ubicación del trabajo Argentina

Somos una boutique digital formada por un equipo multidisciplinar de ingenieros, comunicadores y artistas apasionados por crear productos y experiencias digitales.

El rol:
Para este rol se deberá contar con una sólida experiencia en las tecnologías listadas a continuación, con un enfoque específico en Python 3.x y la programación funcional. Además, se requieren conocimientos avanzados en pruebas, optimización y herramientas de monitoreo.

Requisitos:
Python (3.x):
● Experiencia sólida en Python, específicamente en la versión 3.x. No se requiere experiencia en Python 2.x.
● Enfoque en Programación Funcional: Aunque se valoran conocimientos en Programación Orientada a Objetos (POO), el candidato debe estar orientado hacia el paradigma funcional. Debe ser capaz de escribir código limpio y reutilizable utilizando técnicas como:
– Funciones puras.
– Inmutabilidad.
– Uso de funciones de orden superior y expresiones lambda.
– Map, reduce, filter, y comprehension avanzados.
● Pruebas:
– Pruebas Unitarias: Experiencia con pytest o unittest para asegurar la calidad del código mediante la creación de tests automatizados.
– Pruebas End-to-End: Implementación de pruebas de extremo a extremo para simular flujos completos de usuarios y asegurar que el sistema funcione correctamente.
– Pruebas de Carga: Conocimiento en pruebas de carga utilizando herramientas como Locust para evaluar el rendimiento bajo estrés.
● Manejo de Excepciones: Eficiencia en el uso de manejo de errores y excepciones, con técnicas para asegurar la estabilidad del sistema.

Django:
● Tener un conocimiento profundo de Django, capaz de trabajar en proyectos complejos, optimizar su rendimiento y adaptarlo a diferentes entornos.
● Programación Funcional en Django: Aplicación de un enfoque funcional dentro del desarrollo con Django, utilizando las características avanzadas del framework.
● Modelo de Conexiones a Base de Datos: Comprensión profunda del modelo de conexiones en Django, cómo se manejan las conexiones a la base de datos, la gestión de transacciones y el manejo de múltiples bases de datos.
● Ciclo de Respuesta de Django: Conocimiento del ciclo completo de una solicitud en Django, desde el request hasta el response, incluyendo middleware y cómo se gestionan las excepciones.
● Optimización con ORM: Experiencia en optimización de consultas a través del ORM de Django, aprovechando características avanzadas como select_related(), prefetch_related() y transacciones para mejorar el rendimiento.
● Django como API: Dominio de Django REST Framework (DRF) para la creación de APIs escalables y mantenibles.
● Django con Sockets: Implementación de WebSockets con Django Channels para manejar conexiones en tiempo real.
● Pruebas en Django:
– Implementación de pruebas unitarias y de integración.
– Automatización de pruebas funcionales y de carga para evaluar el rendimiento de la aplicación bajo condiciones reales.

Bases de Datos:
● Experiencia con bases de datos relacionales y no relacionales, con un enfoque en la optimización y escalabilidad.
● PostgreSQL:
– Diseño y normalización de esquemas de bases de datos.
– Optimización de consultas SQL, uso eficiente de índices y manejo de vistas materializadas.
– Uso de características avanzadas como JSONB, particionamiento, y CTE (Common Table Expressions).
● Redis:
– Uso de Redis como caché para mejorar la respuesta de la aplicación.
– Uso de Redis como Message Broker para Celery, gestionando colas de tareas asíncronas y garantizando la entrega de mensajes.

Gestores de Colas y Tareas Asíncronas:
● Se requiere experiencia con sistemas de gestión de colas y ejecución de tareas en segundo plano.
● Celery:
– Configuración avanzada de Celery para la ejecución de tareas asíncronas utilizando Redis como broker de mensajes.
– Gestión y programación de tareas periódicas con Celery Beat.
– Optimización de tareas largas, manejo de reintentos automáticos y monitoreo del estado de las tareas.

Contenerización y Docker:
● Es fundamental que el candidato tenga experiencia avanzada con Docker y herramientas asociadas para la contenerización y gestión de entornos.
● Docker:
– Creación de Dockerfiles eficientes y optimizados para minimizar el tamaño de las imágenes.
– Uso de Docker Compose para la gestión de entornos locales y de producción.
– Manejo de redes, volúmenes y configuración de entornos multi-contenedor.

Entorno de Desarrollo en Linux:
● El desarrollo se realiza principalmente en Linux, por lo que se requiere experiencia profunda en su gestión y automatización de procesos.
● Scripting en Linux:
– Capacidad para escribir scripts en Bash para la automatización de tareas rutinarias, instalación de dependencias, y configuración de entornos.
● Manejo de Logs:
– Conocimiento en el manejo eficiente de logs, incluyendo la recolección, filtrado y monitoreo de logs de aplicaciones y del sistema.
– Experiencia con herramientas como Grafana, Prometheus, o ELK Stack para la visualización y análisis de logs y métricas.
● Monitoreo y Gestión de Métricas:
– Conocimiento en el uso de Grafana u otras herramientas para la gestión y visualización de métricas del sistema y aplicaciones.
– Experiencia en la configuración de alertas basadas en métricas para garantizar la estabilidad del entorno de producción.

Perfecto, seguí hablando con él.

Aplica para esta posición

Si ya estás hablando con un reclutador de CONEXIONHR, NO COMPLETES EL FORMULARIO.

es_ES
💬 ¿Necesitas ayuda?