Required Skills & Experience
• Comfortable with practicing TDD and pair programming.
• Well-versed in DevOps.
• Good knowledge of object-oriented design principles.
• Good knowledge of Java standard library.
• Hands-on experience with Object Oriented programming.
• Hands-on experience with Spring and/or Spring Boot is a big plus.
• Experience in agile software development
• Knowledge on Linux is a plus.
• Knowledge of cloud platforms is a plus.
• Have a continuous improvement mindset.
• Take part in software design activities & discussions.
• Write production quality code.
· Minimum 5 years of hands-on Software Development experience
· Proven working experience in Java development
· Good knowledge of Data Structures and Algorithms
· Good Working Knowledge of Java Concurrency libraries, collections, and Java 8
· Hands-on experience in designing and developing applications using Java/Spring Framework.
· Ability to develop streaming applications using Kafka (kinesis, MQ is addon)
· Object Oriented analysis and design using common design patterns.
· Excellent knowledge of Relational Databases and SQL and query tuning
· Excellent knowledge of at least one of the NOSQL databases like Redis, Aerospike
· Experience with test-driven development using Junit, Mockito, Spring Testing
· Proficiency in tools Bitbucket, Maven, JIRA, SVN, Jenkins, SonarQube & Nexus.
· Familiar with monitoring tools – Grafana and ELK. Prometheus is add on
· Must have strong automation and scripting skills – proficiency in shell, groovy & python.
· Can work in a dynamic change environment and have the right attitude to learn and implement.
· Knowledge about Spark and Scala is an addon.