Full Stack Engineer
The figure will be included in the group responsible for developing Ammagamma's AI-powered product line and will be responsible for all aspects of product development, interacting frequently with colleagues to integrate artificial intelligence features within applications.
The Full-Stack Engineer will be responsible for:
- Software lifecycle management from the beginning (requirements gathering and architectural design) to the end (deployment and monitoring);
- Setup of data analysis environments in Linux to enable Data Scientist to make analysis;
- Architecture design and implementation, both at the infrastructure and application levels;
- User interface implementation;
- Design of scalable, modular and maintainable applications;
- Design and implementation of application backend APIs;
- Integration of user interface with backend APIs;
- Design and implementation of CI/CD pipelines;
- Active participation in all phases of solution definition;
- Basic management of cloud environments and resources including through infrastructure as code;
- Containerized deployment of developed applications;
- Monitoring and bugfixing of developed applications once in production;
- Writing documentation of his/her own developments.
We would like to get in touch with resources who meet the following requirements:
- Previous experience in this job, gained in dynamic and innovative environments;
- Great familiarity with web development in Python for the backend, preferably with FastAPI framework, and React for the frontend;
- Great familiarity with backend API development;
- Great familiarity with relational databases, preferably PostgreSQL;
- Familiarity with database management techniques (indexing; partitioning; SQL query optimization; etc.);
- Autonomy with the command line for both development tasks and basic configuration of Linux environments;
- Autonomy with Git;
- Familiarity with Docker for web application development and deployment;
- Familiarity with development and management of cloud resources, preferably AWS, specifically:
- Creation of resources via infrastructure as code, preferably via CDK;
- Creating serverless and cloud-first infrastructure (e.g., use of Lambda functions, API Gateway and services such as Glue, Athena...);
- Connecting cloud services to create architectures suitable for the use case under development;
- Preferably, creation of CI/CD pipelines.
- Management of roles, utilities and permissions in the cloud environment;
- Familiarity with CSS and, preferably, the Tailwind CSS framework;
- Familiarity with development patterns and architecture for creating modular applications and reusable code;
- Curiosity in exploring new technologies and creativity in approaching novel problems that may need solutions that are not immediately evident;
- Mindset that can combine business and technical needs;
- Flexibility, proactivity and excellent problem-solving skills.
Constituting a plus:
- Knowledge of orchestration technologies (e.g. Kubernetes);
- Experience in development with Kafka and event-driven systems.