A Senior Associate Platform (Senior Java Microservices Developer) contributes towards a particular module/s of work by bringing deep core technology expertise and relevant business subject matter expertise to the table.
Responsibilities :
– Providing technical expertise for every phase of the project lifecycle from concept development to solution design, implementation, optimisation and support.
– Interacts with a set of clients (client senior developers and architects) to create technology specifications from business requirements for one of the modules within the project.
– Prepares the technical design of the more complex technology components within the module (one or more of client/web presentation tier, server tier, data access and data model, integration component, package function customisation).
– Assists the architect in articulating the pros and cons of using a certain technology stack or component or design pattern versus another to the clients and project team and drives selection of technologies, designs to come up with the optimal architecture.
– Drives the performance tuning, re-design and re-factoring for a module.
– Contributes to designing and implementing the build, releases process as well as system configuration and deployment characteristics of the application.
Requirements :
– 5 to 14 years of strong development skills in Java JDK 1.8 or above.
– Should have sound exposure on Micro Services Architecture.
– Should have strong acumen in Data Structures, Algorithms, problem-solving and Logical/ Analytical skills.
– Thorough understanding of OOPS concepts, Design principles and implementation of different type of Design patterns.
– Sound understanding of concepts like Exceptional handling, Serialisation/Deserialization and Immutability concepts, etc.
– Good fundamental knowledge in Enums, Collections, Annotations, Generics, Auto boxing, etc.
– Sound understanding with Multi threading, Concurrent Package and Concurrent APIs.
– Basic understanding of Java Memory Management (JMM) including garbage collections concepts.
– Experience in RDBMS or NO SQL databases and writing SQL queries (Joins, group by, aggregate functions, etc.)
– Hands-on experience with JMS.
– Hands-on experience in creating RESTful web services and consuming web services.
– Hands-on experience with Spring.
– Hands on experience with Web MVC/Spring MVC.
– Should have practical experience with Maven/Gradle and knowledge of version control systems like Git/SVN etc.
– Good communication skills and ability to work with global teams to define and deliver on projects.
– Sound understanding/experience in software development process, test-driven development.