Job at a glance
Roles and responsibilities: Design software, write code, write unit test cases, test code and review code on a daily basis Tactical contributions to the low-level implementation Create/enhance scalable, high performance and fault-tolerant architectures Develop complex and distributed software modules using Java/JEE, Streaming, and Big Data technologies Identify the performance and scalability bottlenecks and provide solutions to resolve Write software to develop products on a daily basis Write unit test cases and schedule/execute them Provide estimation during grooming and sprint planning Skills: Excellent communication skills, verbal and written; ability to communicate with technical team and clients Experience working in an Agile environment Excellent analytical skills, ability to think abstractly and solve complex problems Expertise in common object-oriented and enterprise design patterns Technology agnostic Hands-on experience on frameworks like Spring MVC, Spring Boot, Hibernate, JPA, OGM Hands-on experience with relational databases (like Postgres, MySQL, Oracle) Experience with Elasticsearch is a must Ability to learn new frameworks and design patterns is a must Ability to translate ideas into designs and proof of concepts is a must Experience in SAAS, PAAS and cloud platforms such as Azure/AWS/Google Cloud Platform Knowledge of product architecture and ability to suggest the latest architectural components Knowledge of exposing and scaling microservices Experience working in Linux or OS X command line environments Experience working with Git, or other SCM tool Knowledge of Java/JEE technology stack for M2M Applications and Support Platforms.
Should be conversant with state of the art technologies in this space and possess the ability to translate (optional)