Description

Roles and Responsibilities

·       Contribute to the design and development of new cloud-based software architectures

·       Own and deliver complete features, including design, architecture, implementation, testability and deployment

·       Provide feedback pertaining to technical designs, proposals and code

·       Analyze existing applications / databases and identify areas for improvement

·       Design and contribute to APIs that can support user experiences on web and mobile applications

·       Participate across the entire software development lifecycle, taking features from concept to production release

·       Collaboratively create solutions with other teams

·       Troubleshoot software issues and debug a large codebase

·       Develop and execute unit and integration tests

·       Contribute to technical documentation to increase maintainability of software assets

 

Requirements

·       7+ years of software engineering industry experience building backend software, with exposure to microservices, event-driven architectures, and batch processing.

·       4+ years' experience / strong proficiency in Java and the Spring Boot framework

·       Strong fundamentals working with databases and data modeling, both relational (e.g. PostgreSQL) & NoSQL (e.g. DynamoDB)

·       Experience with building applications in the cloud with AWS and experience with serverless infrastructure such as AWS Lambda

·       Experience with containerization and orchestration infrastructure (e.g. Docker, Kubernetes, ECS)

·       Experience with distributed messaging systems such as Apache Kafka

·       Experience collaborating with Engineering and Product teams to turn complex business requirements into clean and extensible APIs

·       Nice to have: experience with Python as well as test frameworks such as pytest or unittest

·       Nice to have: experience with Node.js and Typescript

·       Possess strong technical, analytical, troubleshooting, and communication skills with the ability to visualize and document processes

·       Proficient at using appropriate security, documentation, and/or monitoring best practices

·       Familiar with Agile/Scrum methodologies

Education

Any Graduate