Software Architect, Madrid
Role details
Job location
Tech stack
Job description
Responsibilities The Software Architect T A shall be responsible for the Design, implement, and maintain a robust Python-based automation framework. The responsibilities of the Software Architect for the Tools Automation Team will be the following: - Automation Framework Development: Design, implement, and maintain a robust Python-based automation framework used across multiple programs and environments. This includes defining architecture patterns, reusable components, libraries, and ensuring consistency, scalability, and maintainability across all automation projects. - End-to-End Automation Lifecycle: Lead the full development lifecycle of automation solutions - from requirements gathering and design to implementation, testing, deployment, and release to the end customer. - Software Design Architecture: Define and enforce software design principles, coding standards, and architectural patterns (e.g., modular, hexagonal, and event-driven architectures). - Programming Scripting
Requirements
Develop high-quality, production-grade code primarily in Python, complemented by strong Shell scripting (Bash/PowerShell) skills for system-level automation. - Containerization CI/CD Integration: Design and maintain Docker-based build environments and pipelines. Integrate automations into Jenkins CI/CD workflows, ensuring reliable build, test, and deployment processes. - Code Quality Testing: Promote automated testing practices, including unit, integration, and regression testing. Implement continuous integration strategies to ensure code quality and early detection of issues. - Collaboration Stakeholder Management: Work closely with internal customers and other DevOps teams to translate operational needs into software solutions. - Documentation Standards: Ensure that all developed tools and automations are properly documented - including architectural decisions, API contracts, and deployment procedures - maintaining traceability and compliance with engineering standards. - Innovation Continuous Improvement: Evaluate and integrate new technologies and methodologies to enhance the automation ecosystem. Required Skills - Degree in Software Engineering, Computer Science, or similar, with relevant experience in software architecture and DevOps environments. - 3+ years of experience in software development and architecture, ideally in automation or tooling domains. - Advanced level of Python programming, including design patterns, object-oriented programming, and modular architectures. - Strong experience with Shell scripting (Bash or PowerShell) for automation and integration tasks. - Proficiency with Docker and containerized development environments. - Experience designing and maintaining CI/CD pipelines (preferably Jenkins). - Solid understanding of software architecture patterns, API design, and versioning strategies. - Strong focus on code quality, testing, and maintainability. - Excellent communication and st