Software Engineer – AI-Assisted Full-Stack Developement
Summary
Build and maintain full-stack apps using Python, FastAPI, React, and Node.js while leveraging AI coding tools to accelerate development and ensure quality.
This position is listed on behalf of a partner company, who manages all applications and next steps. Our partner is looking for a Software Engineer – AI-Assisted Full-Stack Development based in Italy.
This role offers the opportunity to build modern software solutions while leveraging AI-assisted development tools to accelerate engineering workflows.
You will contribute to the design, development, testing, and deployment of scalable full-stack applications.
The position combines backend engineering, frontend development, cloud technologies, automation, and AI-powered coding practices.
You will work in a remote, agile environment alongside engineers, product teams, QA specialists, and data professionals.
By combining strong engineering principles with emerging AI capabilities, you will help deliver reliable and maintainable digital solutions.
This is an excellent opportunity for both experienced engineers and talented developers looking to grow in a forward-thinking technology environment.
Accountabilities
The Software Engineer – AI-Assisted Full-Stack Development will be responsible for designing, developing, and maintaining reliable software solutions while using AI-assisted tools to improve productivity, quality, and engineering efficiency.
- Design, develop, test, deploy, and maintain scalable web applications using technologies such as Python, FastAPI, React, JavaScript, TypeScript, and Node.js.
- Build and maintain REST or GraphQL APIs, including authentication, authorization, validation, schemas, resolvers, and error handling.
- Use AI coding agents such as Claude Code or similar tools to accelerate development while ensuring code quality, security, maintainability, and test coverage.
- Work with SQL and NoSQL databases, including data modeling, migrations, query optimization, and performance troubleshooting.
- Implement asynchronous processing solutions using message queues such as RabbitMQ.
- Investigate and resolve production issues, complex bugs, and performance bottlenecks.
- Create and maintain technical documentation covering APIs, system behavior, and implementation decisions.
- Develop and maintain automated tests, including unit, integration, API, and end-to-end testing.
- Validate AI-generated code through testing, security reviews, performance analysis, and engineering best practices.
- Participate in code reviews and contribute to consistent quality standards across development processes.
- Support CI/CD workflows using tools such as GitHub Actions or similar platforms.
- Contribute to application deployment and maintenance within cloud environments such as AWS, Azure, GCP, or DigitalOcean.
- Work with infrastructure concepts including containers, environment configuration, secrets management, networking, and deployment pipelines.
- Monitor applications using logging, observability, error tracking, and performance tools such as Grafana and Sentry.
- Collaborate within Agile Scrum teams, participating in planning, refinement sessions, stand-ups, reviews, and retrospectives.
- Practical software development experience gained through professional work, internships, academic projects, open-source contributions, or strong technical portfolios.
- Experience using AI coding assistants or similar AI development tools to build, debug, test, or maintain software.
- Strong proficiency in Python and experience with FastAPI or similar Python web frameworks.
- Experience developing frontend applications using React and JavaScript or TypeScript.
- Experience building backend services using Python, Node.js, or both.
- Understanding of REST or GraphQL API design principles.
- Experience writing unit and integration tests and applying testing practices throughout development cycles.
- Knowledge of relational databases and SQL.
- Familiarity with Git, GitHub, pull requests, and code review workflows.
- Understanding of software engineering principles including modularity, maintainability, security, and separation of concerns.
- Strong analytical thinking, problem-solving abilities, and communication skills.
- Ability to work independently and effectively in a remote environment.
- Professional working proficiency in English.
- Bachelor’s degree in Computer Science, Software Engineering, or a related technical field is preferred, though equivalent practical experience and strong portfolios are also considered.
- Experience designing GraphQL schemas, queries, mutations, subscriptions, and resolvers.
- Familiarity with GraphQL libraries such as Strawberry, Graphene, Ariadne, Apollo, or similar technologies.
- Experience with Playwright or other end-to-end testing frameworks.
- Knowledge of CI/CD platforms such as GitHub Actions, GitLab CI, or Jenkins.
- Experience deploying applications on cloud platforms such as DigitalOcean, AWS, Azure, or GCP.
- Familiarity with Docker and container-based deployments.
- Experience with observability and production support tools.
- Experience with message queues such as RabbitMQ, Kafka, or Redis.
- Experience integrating AI or machine learning capabilities into production applications.
- Knowledge of authentication, role-based access control, API security, secrets management, and data protection practices.
- Experience working in Agile Scrum product development environments.
- Fully remote work opportunity within the United Kingdom or compatible EU time zones.
- Flexible remote-first working environment.
- Opportunity to work with modern AI-assisted development practices.
- Exposure to full software development lifecycle activities, from design to production support.
- Collaboration with international engineering and product teams.
- Opportunity to work with modern cloud technologies and scalable architectures.
- Continuous learning environment focused on innovation and technical growth.
- Contractor FTE engagement model.
- Opportunity to contribute to impactful software solutions using emerging technologies.
Requirements
The ideal candidate is a software engineer with strong full-stack development foundations, curiosity for AI-assisted engineering, and the ability to deliver reliable solutions in a remote environment.
Nice-to-have skills: