The Software Engineer is responsible for developing information systems by studying operations, designing and developing software components, and collaborating with others in a global software development team to ensure that solutions are maintainable, scalable, and tested.
You will collaborate with several cross-functional teams, to deliver high-quality solutions internally (for several departments and units) and externally (for our clients).
Main Responsibilities
Implement new features within one of our software development squads.
Work in a distributed team with a strong focus on quality and scalability.
Conduct and participate in code review sessions, ensuring that the team adheres to best coding practices and maintains high-quality standards.
Design, implement, and manage database schemes.
Document progress and propose solutions or suggestions for improvement.
Optimize queries, manage indexes, and ensure data integrity and security.
Collaborate with product management to design and evolve use cases.
Collaborate with QA Engineering to guarantee the quality of the deliverables.
Key Requirements and Competencies-
At least 1 year of experience developing Back-End solutions with NodeJS.
Used to work with AWS ecosystem (Lambdas, Secrets, API Gateway, etc.).
Relational databases like Postgresql or MySQL.
Used to work in remote and distributed environments using tools like Jira, Confluence, and GitHub.
Demonstrable professional experience implementing complex features in large software systems, following the software development life-cycle.
Experience shipping code in an agile SDLC.
Able to apply continuous integration, development, and automated testing concepts.
Knowledge of paradigms, languages, and trends in the relevant domain.
Familiarity with design patterns.
Familiarity with asynchronous programming, queuing, caching, logging, security, and persistence.
Awareness of algorithms, big O complexity, and the CAP theorem.