Senior Software Engineer (Full Stack, JavaScript)
Viventium Software · Las Piedras, Canelones, Uruguay · CRC 36M/yr
Human Resources Services · 201-500 employees
About the role
You will be responsible for building and delivering improvements to the company's core scheduling product and innovating upon SMS communication features. Additionally, you will collaborate with cross-functional teams to migrate database systems and integrate with third-party technology partners.
What they look for
Requirements
The ideal candidate has 7 to 10 years of full-stack development experience with JavaScript/TypeScript and deep expertise in AWS Serverless technologies. You must be a passionate problem-solver with strong knowledge of React, GraphQL, and engineering operational excellence.
Full description
Senior Software Engineer (Full Stack, JavaScript)
The Role
We are seeking a Senior Software Engineer (Full Stack) to help our fast-paced, innovative, and remote-first company. You will be responsible for building and delivering improvements to the company's core scheduling product, integrating with third-party technology partners, and innovating upon SMS communication features while using the latest engineering practices and technologies.
In this role, you will work in an Agile environment with other skilled engineers, Product Managers, Product Designers, and Quality Assurance team members. You will design, implement, and deliver upon the shared vision.
Our ideal candidate is a passionate problem-solver and strong collaborator who is transparent about progress on tasks, seeks feedback early and often, and inspires colleagues to do better.
We believe in a highly collaborative and supportive team culture where ideas are celebrated, so it's important that you are not only an accomplished Senior Software Engineer but also a critical and strategic thinker—and, of course, an exceptional team player. We are dedicated to ensuring this opportunity aligns with Apploi’s goals and contributes to your career path. Thank you for considering this role!
Who You Are
Passionate about TDD (Test First Development).
Work daily with AI coding assistants (e.g., Claude, GitHub Copilot) to design, implement, and review code.
Have built complex data models in an environment that produced high-quality data output.
Have at least 7 to 10 years of full stack development experience with JavaScript/TypeScript
Understands SOLID principle well.
Works to not only fix defects, but prevent future issues.
Have built complex applications with AWS Serverless technologies (AppSync, DynamoDB, DynamoDB Streams, Lambda, Cognito, S3, CloudFront, Route 53, Amplify) and React (Redux, Hooks, Router, Cypress, JavaScript, Node.js, Jest, etc.).
Strong knowledge of GraphQL and Apollo Server.
Have knowledge in DevOps and Continuous Integration and Continuous Deployment (CICD)
Advanced analytical and problem-solving skills, and deep React application design experience (component layout, state, etc.).
Passionate about engineering operational excellence.
Experienced with writing quality, reusable, readable code.
Worked in an environment that produced high-quality data output.
Excellent communication skills, both verbal and written.
Strong work ethic, integrity, and desire to succeed.
Adaptable to new initiatives.
What You’ll Do
Use continuous delivery practices to deliver high-quality software as well as value to end customers as early as possible.
Write production-ready code that is easily testable, easily understood by other developers, and accounts for edge cases and errors.
Understand the testing pyramid and write unit tests as well as higher level tests in accordance with it.
Optimize access to our NoSQL database using AWS AppSync and companion products.
Play an active role in migrating our NoSQL database to PostgreSQL and AWS AppSync to Apollo Server.
Collaborate with the team on integration to third-party systems.
Work with the design team to create a responsive user interface in React.
Make pragmatic and data-driven decisions that will meet both business and technology needs.
Document key business workflows and software designs.
Communicate with the Quality Assurance (QA) team regularly. Work to deliver code in small chunks that can be tested early in development.
Collaborate with the Product and QA teams to realize feature designs.