Translate application storyboards and use cases into functional applications
Design, build, and maintain efficient, reusable, and reliable Java code
Ensure the best possible performance, quality, and responsiveness of the applications
Identify bottlenecks and bugs, and devise solutions to these problems
Help maintain code quality, organization, and automatization
Qualifications
BE/B.Tech in Computer Science or Equivalent
6-8 years of production software development experience
Ability to work across product teams in a cross functional environment with various roles (Product Owner, Scrum Master, Interaction Designer and Architect)
Good written and verbal communication skills
Actively identifies issues and raises impediments, finds solution to blockers and helps resolve technical issues in time to help achieve sprint goal.
Agile/ Scrum knowledge is a plus
Proficient in Java 9, with a good knowledge of its ecosystems
Solid understanding of object-oriented programming
Proficient with various design and architectural patterns
Skill for writing reusable Java libraries
Knowledge of concurrency patterns in Java
Expertise in concepts of RESTful , Microservices using frameworks such as Spring webflux or Netflix OSS
Experience with Ruby, Laravel, Django or Express frameworks
Expertise with Java open source frameworks such as Apache Beam/Spark
Knack for writing clean, readable Java code
Understanding fundamental design principles behind a scalable and distributed application using tools such as K8S
Basic understanding of JVM, its limitations, weaknesses, and workarounds
Implementing automated testing platforms and unit tests
Proficient understanding of code versioning tools, such as Git / Bitbucket
Familiarity with build tools such as Maven , Terraform and Gradle
Proficient with continuous integration and deployment