Senior Python Software Engineer – Software Architecture
BETWEEN Technology·Bilbao, Spain (Hybrid)
What they offer
Hybrid
Office and home days — the ad has the split.
What they ask for
Have the right to work in Spain
BETWEEN Technology doesn't mention sponsorship in the ad.
Be near Bilbao, Spain (Hybrid) for hybrid days
No relocation package mentioned.
Pulled from the advert automatically — the full ad is what counts.
About the role
At BETWEEN, we offer you the opportunities you need to achieve your professional goals. If you want to develop your skills in IT and Engineering, this is your next destination! #LI-LR1
We provide support in a wide range of areas such as Firmware, Software, BI, Design, Project Management and many more. Additionally, we develop custom technological solutions from our BETWEEN Labs.
We are looking for a Senior Python Software Engineer with a solid foundation in architecture and development best practices to participate in the industrialization of algorithms and applications created by research and Data Science teams.
We are looking for someone with the ability to transform research code into robust, decoupled, scalable, and production-ready applications. In addition to the hands-on component, this role will take on a technical reference position, helping to establish development, testing, and code quality standards.
What you'll do
- Design and maintain the execution architecture of applications, in collaboration with the software development team based in the United States.
- Transform algorithms, prototypes, and research code into applications ready for production environments.
- Clean, refactor, and optimize existing Python code, improving its readability, performance, security, scalability, and maintainability without altering its functionality.
- Design modular and decoupled solutions by applying SOLID principles, Clean Architecture, dependency injection, and other design patterns.
- Define and apply testing strategies that include unit, integration, and end-to-end tests, using mocking techniques when necessary.
- Perform code reviews and ensure compliance with software engineering standards and best practices.
- Act as a technical reference for research teams, guiding them in architecture, code quality, testing, and the development of production-ready solutions.
- Define development principles, standards, and procedures that facilitate the evolution and maintenance of applications.
- Work with both batch and streaming data architectures and processes.
- Collaborate with data scientists and platform specialists to align solutions with the corporate architecture and security requirements.
- Participate in the integration and deployment of applications within cloud environments and data platforms.
What we're looking for
- Bachelor's or Master's degree in Computer Engineering, Software Engineering, or similar technical education.
- At least 5 years of professional experience in software development.
- Advanced experience developing and maintaining Python applications in production, beyond scripts, notebooks, or data analysis tasks.
- Experience designing modular, decoupled, scalable, and maintainable software architectures.
- A strong command of English, both written and spoken, is essential.
- Knowledge and practical application of SOLID principles, Clean Architecture, dependency injection, and design patterns.
- Experience refactoring complex code and algorithms, ensuring existing functionality is preserved correctly.
- Experience with unit testing, integration testing, end-to-end testing, and mocking.
- Experience performing code reviews and promoting code quality and development best practices.
- Experience working with Git, branching strategies such as Gitflow, and CI/CD processes.
- Knowledge of distributed systems and modern data architectures.
- Familiarity with batch and streaming processes and patterns such as the Medallion architecture, Lambda, or other equivalent architectures.
- Ability to take on technical leadership responsibilities, define standards, and act as a reference for other team members.
- Strong communication, problem-solving, and collaboration skills within multidisciplinary teams.
Nice to have
- Experience deploying applications on Azure Cloud and Databricks.
- Knowledge of Spark, PySpark, and SQL.
- Experience with services such as Azure Data Lake, Azure Functions, Event Hubs, or Azure Data Factory.
- Experience with Azure DevOps or GitHub Actions.
- Knowledge of event-driven architectures.
- Experience working with data scientists and understanding model development, validation, and deployment processes.
- Experience industrializing algorithms or code originating from research teams.
What you'll get
Additionally, by joining BETWEEN, you will enjoy the following benefits:
- You will have access to a personalized training plan through our BTW University, including language learning via Speexx, ThePower Business School, Udemy, technical certifications, Pharos, and other platforms.
- You will have health insurance and be able to benefit from tax advantages through our Flexible Compensation system.
- You will have access to numerous discounts on travel, technology, leisure, and many other categories.
- You can enjoy special prices on wellness, fitness, and nutrition services through Gympass/Wellhub.
- And, on top of that, celebrating your birthday as a Betweener also comes with a reward!
About the role
En BETWEEN te ofrecemos las oportunidades que necesitas para alcanzar tus objetivos profesionales. Si quieres desarrollar tus capacidades en IT e Ingeniería ¡este es tu próximo destino! #LI-LR1
Damos soporte en una gran variedad de áreas como Firmware, Software, BI, Diseño, Project Management y muchas más. Además, desarrollamos soluciones tecnológicas a medida desde nuestros BETWEEN Labs.
Seleccionamos un/a Senior Python Software Engineer con una sólida base en arquitectura y buenas prácticas de desarrollo para participar en la industrialización de algoritmos y aplicaciones creadas por equipos de investigación y Data Science.
Buscamos una persona con capacidad para transformar código de investigación en aplicaciones robustas, desacopladas, escalables y preparadas para producción. Además del componente hands-on, asumirá un papel de referencia técnica, ayudando a establecer estándares de desarrollo, testing y calidad de código.
What you'll do
- Diseñar y mantener la arquitectura de ejecución de las aplicaciones, en colaboración con el equipo de desarrollo de software ubicado en Estados Unidos.
- Transformar algoritmos, prototipos y código de investigación en aplicaciones preparadas para entornos productivos.
- Limpiar, refactorizar y optimizar código Python existente, mejorando su legibilidad, rendimiento, seguridad, escalabilidad y mantenibilidad sin alterar su funcionalidad.
- Diseñar soluciones modulares y desacopladas aplicando principios SOLID, Clean Architecture, inyección de dependencias y otros patrones de diseño.
- Definir y aplicar estrategias de testing que incluyan pruebas unitarias, de integración y end to end, utilizando técnicas de mocking cuando sea necesario.
- Realizar revisiones de código y asegurar el cumplimiento de los estándares y buenas prácticas de ingeniería de software.
- Actuar como referente técnico para los equipos de investigación, orientándolos en arquitectura, calidad de código, testing y desarrollo de soluciones productivas.
- Definir principios, estándares y procedimientos de desarrollo que faciliten la evolución y el mantenimiento de las aplicaciones.
- Trabajar con arquitecturas y procesos de datos tanto batch como streaming.
- Colaborar con científicos/as de datos y especialistas de plataforma para alinear las soluciones con la arquitectura corporativa y los requisitos de seguridad.
- Participar en la integración y el despliegue de las aplicaciones dentro de entornos cloud y plataformas de datos.
What we're looking for
- Grado o Máster en Ingeniería Informática, Ingeniería de Software o formación técnica similar.
- Al menos 5 años de experiencia profesional en desarrollo de software.
- Experiencia avanzada desarrollando y manteniendo aplicaciones Python en producción, más allá de scripts, notebooks o tareas de análisis de datos.
- Experiencia diseñando arquitecturas de software modulares, desacopladas, escalables y mantenibles.
- Imprescindible buen nivel de ingles (escrito y hablado).
- Conocimiento y aplicación práctica de principios SOLID, Clean Architecture, inyección de dependencias y patrones de diseño.
- Experiencia refactorizando código y algoritmos complejos, garantizando que la funcionalidad existente se mantiene correctamente.
- Experiencia con unit testing, integration testing, end-to-end testing y mocking.
- Experiencia realizando code reviews y promoviendo estándares de calidad y buenas prácticas de desarrollo.
- Experiencia trabajando con Git, estrategias de branching como Gitflow y procesos de CI/CD.
- Conocimiento de sistemas distribuidos y de arquitecturas de datos modernas.
- Familiaridad con procesos batch y streaming y con patrones como arquitectura Medallion, Lambda u otras arquitecturas equivalentes.
- Capacidad para asumir responsabilidades de liderazgo técnico, definir estándares y actuar como referente para otros perfiles.
- Buenas habilidades de comunicación, resolución de problemas y colaboración con equipos multidisciplinares.
Nice to have
- Experiencia desplegando aplicaciones en Azure Cloud y Databricks.
- Conocimientos de Spark, PySpark y SQL.
- Experiencia con servicios como Azure Data Lake, Azure Functions, Event Hubs o Azure Data Factory.
- Experiencia con Azure DevOps o GitHub Actions.
- Conocimiento de arquitecturas orientadas a eventos.
- Experiencia trabajando con científicos/as de datos y comprendiendo los procesos de desarrollo, validación y despliegue de modelos.
- Experiencia industrializando algoritmos o código procedente de equipos de investigación.
What you'll get
Además, al incorporarte a BETWEEN disfrutarás de los siguientes beneficios:
- Dispondrás de un plan de formación personalizado a través de nuestra BTW University, con acceso a idiomas mediante Speexx, ThePower Business School, Udemy, certificaciones técnicas, Pharos y otras plataformas.
- Contarás con seguro médico y podrás beneficiarte de ventajas fiscales mediante nuestro sistema de Retribución Flexible.
- Tendrás acceso a numerosos descuentos en viajes, tecnología, ocio y muchas otras categorías.
- Podrás disfrutar de precios especiales en servicios de bienestar, fitness y nutrición a través de Gympass/Wellhub.
- Y, además, ¡celebrar tu cumpleaños como Betweener también tiene premio!
You'll most likely need Spanish to apply.This job was automatically translated to English, .
About the company
BETWEEN Technology
IT and Engineering Consulting