The Applications Development Senior Programmer Analyst position at Citi is aimed at contributing to the establishment and implementation of new or revised application systems and programs, requiring expertise in backend development, distributed systems, and problem-solving to ensure the reliability and performance of applications.
Requirements
- Strong Core Java, Spring and functional programming hands-on experience.
- Understanding of concurrent and parallel programming, including threads, processes, synchronization, and handling race conditions.
- Knowledge of reactive programming for building asynchronous, event/message-driven systems in microservices based applications that are highly concurrent.
- Proficient in containerizing applications, continuous integration, and continuous delivery in Java ecosystem.
- Knowledge of distributed tracing and API Gateway integration for microservices architecture.
- Proficient in functional programming concepts with Streams API, Lambda Expressions and Optional.
- Understanding of secure coding practices, SSL/TLK, OAuth, and JWT token handling in Java-based applications.
Responsibilities
- Strong Core Java, Spring and functional programming hands-on experience.
- Understanding of concurrent and parallel programming, including threads, processes, synchronization, and handling race conditions.
- Knowledge of reactive programming for building asynchronous, event/message-driven systems in microservices based applications that are highly concurrent.
- Proficient in containerizing applications, continuous integration, and continuous delivery in Java ecosystem.
- Knowledge of distributed tracing and API Gateway integration for microservices architecture.
- Proficient in functional programming concepts with Streams API, Lambda Expressions and Optional.
- Understanding of secure coding practices, SSL/TLK, OAuth, and JWT token handling in Java-based applications.
Other
- 4-6 years of relevant experience.
- Experience in systems analysis and programming of software applications.
- Experience in managing and implementing successful projects.
- Working knowledge of consulting/project management techniques/methods.
- Ability to work under pressure and manage deadlines or unexpected changes in expectations or requirements.