Description

Must have qualifications:
At least 10+ years of software development experience with 2 years in cloud development 
Solid skills in hands on design, development, testing, scripting, deployment, and maintenance/support of Java applications
OOP 
Concurrency
Good understanding of Design Patterns and usage
Dependency Injection
Junit (or other unit testing framework), Mockito
The application server/container configuration management and application deployment (Tomcat, Jboss, etc)
Distributed Patterns (Caching, Transactions, Message queues, Partitioning, Sharding) 
Scaling Application under load (Partitioning, Sharding) 
Microservices in-depth (scaling, transactions, session handling)
Experience with high traffic applications and IO throughput
Experience with event streaming (e.g., Kafka, Kinesis, Storm etc.)
MySQL – advanced
Caching - deep knowledge and experience
Solid experience with Relational Databases (e.g., SQL and JDBC) and Non-Relational Databases (e.g., Cassandra, etc)
AWS (e.g., ECS, S3, Lambdas, SQS, SDK)
Solid experience with REST APIs
Great communication skills are a must

Nice to have:
Deep expertise in Kafka
Good understanding of Distributed caching solutions like Hazelcast, ElastiCache etc.
Good understanding of static code analysis and code quality measurement tools like Sonar, Jacoco, etc.
Good understanding of CI/CD concepts with experience in end-to-end automation
Experience with Build Tools (Jenkins, Maven, Gradle, Docker), version control (Git)
Experience with Production and Performance Troubleshooting Tools (e.g., ELK, Splunk, Wireshark, jConsole, HeapAnalyzer, jMeter, Java profiler (e.g., VisualVM, JProfiler, YourKit))
Performance Benchmarking

Job Responsibilities
Responsible for designing and implementing new features and functionalities related to Sleep Health and wellness, that run on AWS Cloud plaform
Work in an agile development environment and participate in sprint activities to plan and produce high-quality deliverables
Create modern, efficient, elegant, and scalable code using Java tech stack
Cloud software development in AWS infrastructure
Write Unit tests, integration tests and perform static code analysis
Collaborate with project stakeholders to identify product and technical requirements
Build analytics dashboards for monitoring for high availability
Present and defend architectural, design and technical choices to internal audience
Assist in the roll-out of software releases

Education

Bachelor's degree