ResponsibilitiesDesign, develop, test, and maintain Java applications and software solutions.Analyze and design necessary services, database structures, and algorithms based on business requirements for assigned functions, ensuring compliance with application development framework regulationsDevelop application software functions according to assigned business requirements, perform unit testing before handing over to the testing teamTransfer the developed functions to the testing team and fix errorsCollaborate with cross-functional teams to understand project requirements and deliver high-quality software solutions.Participate in code and design reviews to ensure code quality.Participate in activities to help measure performance and find ways to improve existing code base and servicesStay updated with the latest Java technologies and industry trends.
QualificationsHave 5+ years of hands-on development experience, primarily using Java.Good at the logic algorithm (can code live)Experience and knowledge of databases – both relational and NoSQL.Working knowledge of Java, Spring, Hibernate, REST, XML, JSON, Message Queues, databases – both relational and non-relational.Working knowledge of distributed messaging and streaming platforms, such as Apache Kafka Streams as well as dealing with unbounded data.Comprehensive understanding of software systems, including the compiler/JVM/garbage collection, distributed systems, optimizers and compilers.Knowledge and hands-on experience in docker development and deployments such as Kubernetes.Knowledge of google cloudKnowledge of CI/CD based workflow