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.