About this role
Role Description:
The overall objective of this Java developer is to perform applications and services design and implementation. This is hands-on technical role. This role is going to work as part of global distributed team and partner closely with business analysts, technology and quality assurance teams globally.
Responsibilities:
• Design, develop, and optimize scalable distributed data processing application using Java, Apache Spark and Hive.
• Partner with multiple management teams to ensure appropriate integration of functions to meet goals as well as identify and define necessary system enhancements to deploy new products and process improvements
• Resolve variety of high impact problems/projects through in-depth evaluation of complex business processes, system processes, and industry standards
• Provide expertise in area and advanced knowledge of applications programming and ensure application design adheres to the overall architecture blueprint
• Monitor and troubleshoot Spark jobs, ensuring performance optimization and error resolution.
• Work on the modernization of big data architecture to meet business requirements in a financial services context.
• Utilize advanced knowledge of system flow and develop standards for coding, testing, debugging, and implementation
Essential Skills:
• Experience: 6 to 11 years of hands-on experience in Java and J2ee, as primary skills and additional hands big data development, Hadoop focusing on Spark and distributed systems would be added advantage
• Proficiency in Functional Programming: High proficiency in Java, SQL and Spark skill.
• Proficiency in Big Data Technologies: Strong experience with Apache Spark, Hadoop ecosystem tools such as Hive, HDFS, and YARN.
• Programming and Scripting: Advanced knowledge of Java or Scala and a good understanding of Python for data engineering tasks.
• Data Modeling and ETL Processes: Solid understanding of data modeling principles and ETL processes in big data environments.
• Analytical and Problem-Solving Skills: Strong ability to analyze and solve performance issues in Spark jobs and distributed systems.
• Version Control and CI/CD: Familiarity with Git, Jenkins, and other CI/CD tools for automating the deployment of big data applications.
Preferred skills:
Experience of development and using test automation frameworks is a big plus
Understanding of microservice architecture and microservices best practices and patterns, preferably using Spring Boot
Experience with containerization – building images and running containers
Understanding the concept of dependency injection, experience with DI frameworks (Spring, Guice, Dagger2, etc.)
Experience with Message Brokers (Apache Kafka, Solace, RabbitMQ, etc.)
Education:
Bachelor’s/University degree or equivalent experience
------------------------------------------------------
## Job Family Group:
Technology
------------------------------------------------------
## Job Family:
Applications Development
------------------------------------------------------
## Time Type:
Full time
------------------------------------------------------
## Most Relevant Skills
Please see the requirements listed above.
------------------------------------------------------
## Other Relevant Skills
For complementary skills, please see above and/or contact the recruiter.
------------------------------------------------------
Citi is an equal opportunity employer, and qualified candidates will receive consideration without regard to their race, color, religion, sex, sexual orientation, gender identity, national origin, disability, status as a protected veteran, or any other characteristic protected by law.
If you are a person with a disability and need a reasonable accommodation to use our search tools and/or apply for a career opportunity review Accessibility at Citi .
View Citi’s EEO Policy Statement and the Know Your Rights poster.