Dice is the leading career destination for tech experts at every stage of their careers. Our client, Aroha Technologies, is seeking the following. Apply via Dice today!
Role: Staff Software Engineer (Back-End)
Location: USA/Canada-Remote
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