Software Engineer for AI Project
Summary
emagine is hiring a Python Software Engineer for an AI project in Lisbon: designing, building, and maintaining scalable Python applications, contributing to architecture, code reviews, and cloud deployments within an agile, AI product-focused team. Core stack: Python (Django/Flask), SQL/NoSQL databases, REST APIs, Git, Docker/CI-CD, and cloud platforms (GCP, AWS, or Azure).
We are looking for a skilled Python Software Engineer to design, develop, test, and maintain scalable software solutions. You will work closely with cross-functional teams to deliver high-quality features, improve system reliability, and contribute to technical excellence across the AI innovation team.
This role is ideal for engineers who enjoy solving real-world problems, writing clean and maintainable code, and collaborating in an agile, AI product-focused environment.
Main Responsibilities:
Design, develop, and maintain high-quality, scalable, and maintainable Python applications.
Contribute to architecture and technical design discussions, with an eye toward performance, reliability, and long-term maintainability.
Write clean, well-tested, and well-documented code, following team standards and best practices.
Participate actively in code reviews, providing constructive feedback and continuously raising code quality.
Integrate, test, debug, and maintain software across development, staging, and production environments.
Collaborate with product managers, designers, and other engineers to translate requirements into technical solutions.
Evaluate, estimate, and help prioritize feature and technical improvement requests.
Identify and address performance, scalability, and security issues.
Contribute to improving development processes, tooling, and engineering practices.
Maintain clear and up-to-date technical documentation.
Key Requirements:
Bachelor’s degree in Computer Science, Engineering, or a related field.
3+ years of professional experience developing software with Python.
Strong understanding of software engineering fundamentals (data structures, algorithms, design patterns).
Experience with Python web frameworks such as Django, Flask, or similar.
Solid experience working with relational and/or NoSQL databases.
Familiarity with RESTful APIs, integration patterns, and basic distributed system concepts.
Proficiency with Git and collaborative development workflows (pull requests, code reviews).
Experience working in Agile/Scrum development environments.
Good understanding of testing practices (unit, integration, automated testing).
Experience deploying or operating applications on cloud platforms (GCP, AWS, or Azure).
Familiarity with CI/CD pipelines, containerization (e.g. Docker), or infrastructure-as-code concepts.
Strong problem-solving skills and ability to work autonomously.
Clear communication skills and ability to collaborate effectively in a team.
Fluent in English (written and oral).
Nice to Have:
Exposure to front-end technologies such as HTML, CSS, and JavaScript.
Interest in system performance, observability, and reliability.
A growth mindset, curiosity, and willingness to learn new technologies.
Other Details:
This position offers the opportunity to work in a dynamic environment, focusing on AI technology.