The JD says the experience is 7+ but we can still look for resources from 4+ experience who are strong in technology and have hands on programming.
Job Description
Must have:
?At least 7+ years of software development experience with 1 to 2 years in cloud development
?Solid system design and code review skills in addition to hands-on skills of a Tech Lead using Java
?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
?Working experience with distributed frameworks
?Good understanding of statistical 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
?Cross-platform application development
?Work in an agile development environment and participate in sprint activities to plan and produce high-
quality deliverables
?Own deliverables and be responsible for their quality
?Create modern, efficient, elegant, and scalable code
?Cloud software development in AWS infrastructure
?Communication with the client stakeholders
?Build analytics dashboards for monitoring for high availability
?Review architectural solutions and recommend improvements for non-functional requirements