Citigroup
Apps Dev Intmd Programmer Analyst - C11 - JERSEY CITY
Citigroup, Jersey City, New Jersey, United States, 07310
Apps Dev Intmd Programmer Analyst - C11 - Jersey City
Working at Citi is far more than just a job. A career with us means joining a team of more than 230,000 dedicated people from around the globe. At Citi, you'll have the opportunity to grow your career, give back to your community and make a real impact. Job Overview
Citi Transaction Services is seeking an Applications Development Intermediate Programmer Analyst to play a key role in modernizing its trade processing and fund services applications. This involves designing, developing, and implementing solutions using a cutting-edge, cloud-ready technology stack. The role requires strong collaboration with stakeholders and may involve mentoring junior team members depending on experience level. Key responsibilities include designing and implementing technology architectures and solutions, driving business and operational efficiencies, taking ownership of critical deliverables, collaborating with technology and business stakeholders, and communicating technical solutions to various audiences. Required skills include strong server-side Java development experience (Spring Boot, Spring Cloud, Spring JPA, JDBC, Hibernate), functional programming knowledge, experience with testing frameworks (JUnit, Mockito), RESTful/GraphQL API development, messaging experience (Kafka, TIBCO EMS, IBM MQ), SFTP knowledge, microservices architecture experience (Kubernetes/Docker), familiarity with CI/CD tools, and proficiency with SQL/NoSQL databases. Front-end experience (React, JavaScript, HTML, CSS) is preferred. This role is part of a multi-year transformation within Citi Transaction Services to modernize its applications and create a scalable, configurable system. The initiative prioritizes platform efficiency, a consistent global operating model, enhanced capabilities, a robust data strategy, and value-added services. Responsibilities: Translate complex business requirements and functional specifications into robust and intuitive user interfaces and software solutions. Partner with Product teams to understand business needs and functional specifications. Collaborate with cross-functional teams to ensure specifications are converted into flexible, scalable, and maintainable solution designs. Evaluate project deliverables to ensure they meet specifications and architectural standards. Work as part of development teams to design and build complex solutions, ensuring alignment with the architecture blueprint, standards, target state architecture, and strategies. Coordinate, execute, and participate in component integration (CIT), system integration testing (SIT), and user acceptance testing (UAT) to identify and resolve application errors and ensure quality software deployment. Possess a solid grasp of software design patterns and approaches. Understand application-level software architecture and make technical trade-off decisions. Solve complex architecture/design and business problems, developing extensible solutions. Work to simplify, optimize, and remove bottlenecks. Provide mentoring and guidance to junior engineers, offering feedback and direction on specific engineering tasks. Maintain application hygiene and address any Risk & Control items. Work closely with Project Managers, Business Analysts, and Operational users/Product managers to deliver projects. Work independently on project deliverables, articulate issues/challenges, and proactively communicate risks. Handle code releases in various environments. Required Skills/Experience: Java Expertise:
4+ years of hands-on experience in Java backend development (Java 8+ preferred), including deep understanding of core Java concepts, object-oriented programming, data structures, algorithms, and design patterns. Experience with Spring Boot, Spring JPA, Spring Cloud, JDBC, Hibernate, REST, and Maven is essential. Demonstrated proficiency in Java 8+ features (lambda expressions, streams, functional interfaces) and functional programming paradigms is required. Python programming experience is a plus. Data Transformation & Integration:
Proven experience transforming data between various formats such as XML, FXML, SWIFT, JSON, and CSV, utilizing relevant libraries and tools. Microservices Architecture:
Extensive experience with microservices architecture and related technologies, including Docker, Kubernetes/OpenShift, and cloud computing platforms (AWS, Azure, GCP). Strong understanding of microservice design patterns, principles, and best practices. Messaging & Integration:
Experience implementing Kafka consumers, producers, and streaming applications. Familiarity with other messaging technologies like TIBCO EMS and IBM MQ is highly desirable. Experience with secure file transfer protocols (SFTP) is required. Database Technologies:
Solid understanding of both SQL and NoSQL databases. Hands-on experience with MongoDB is preferred, and experience with other NoSQL databases is a plus. Familiarity with relational databases (e.g., Oracle, PostgreSQL) is required. Stream Processing:
Experience with Kafka Streams and Apache Flink is a significant advantage. Agile & Testing:
Experience working in an Agile environment using TDD/BDD best practices. Proficiency with JUnit and Mockito for unit and integration testing is essential. DevOps & CI/CD:
Good knowledge of DevOps principles and CI/CD practices. Experience with tools like Jenkins, TeamCity, IBM UrbanCode Deploy, and SonarQube is highly desirable. API Development:
Experience implementing RESTful and GraphQL APIs, including API design, development, and security best practices. Experience with WebSocket implementations is preferred. Version Control:
Proficiency with Git/Bitbucket for version control is required. Soft Skills:
Strong communication, analytical, problem-solving, and leadership skills are essential. Demonstrated ability to take ownership, collaborate effectively, and communicate technical concepts clearly. Highly Proficient Spring Boot, Spring Cloud, Spring JPA Java, OOPS Kafka streaming Experience in MQ JUNIT and Mockito Nice to have skills: Experience in front end technologies such as React, HTML, CSS, Javascript Basic understanding of Databases (Preferably Oracle) is good to have. Knowledge of MongoDB is a plus. WebSocket Reactive Programming - RxJs Education: Bachelor's degree/University degree or equivalent experience Master's degree preferred This job description provides a high-level review of the types of work performed. Other job-related duties may be assigned as required.
Working at Citi is far more than just a job. A career with us means joining a team of more than 230,000 dedicated people from around the globe. At Citi, you'll have the opportunity to grow your career, give back to your community and make a real impact. Job Overview
Citi Transaction Services is seeking an Applications Development Intermediate Programmer Analyst to play a key role in modernizing its trade processing and fund services applications. This involves designing, developing, and implementing solutions using a cutting-edge, cloud-ready technology stack. The role requires strong collaboration with stakeholders and may involve mentoring junior team members depending on experience level. Key responsibilities include designing and implementing technology architectures and solutions, driving business and operational efficiencies, taking ownership of critical deliverables, collaborating with technology and business stakeholders, and communicating technical solutions to various audiences. Required skills include strong server-side Java development experience (Spring Boot, Spring Cloud, Spring JPA, JDBC, Hibernate), functional programming knowledge, experience with testing frameworks (JUnit, Mockito), RESTful/GraphQL API development, messaging experience (Kafka, TIBCO EMS, IBM MQ), SFTP knowledge, microservices architecture experience (Kubernetes/Docker), familiarity with CI/CD tools, and proficiency with SQL/NoSQL databases. Front-end experience (React, JavaScript, HTML, CSS) is preferred. This role is part of a multi-year transformation within Citi Transaction Services to modernize its applications and create a scalable, configurable system. The initiative prioritizes platform efficiency, a consistent global operating model, enhanced capabilities, a robust data strategy, and value-added services. Responsibilities: Translate complex business requirements and functional specifications into robust and intuitive user interfaces and software solutions. Partner with Product teams to understand business needs and functional specifications. Collaborate with cross-functional teams to ensure specifications are converted into flexible, scalable, and maintainable solution designs. Evaluate project deliverables to ensure they meet specifications and architectural standards. Work as part of development teams to design and build complex solutions, ensuring alignment with the architecture blueprint, standards, target state architecture, and strategies. Coordinate, execute, and participate in component integration (CIT), system integration testing (SIT), and user acceptance testing (UAT) to identify and resolve application errors and ensure quality software deployment. Possess a solid grasp of software design patterns and approaches. Understand application-level software architecture and make technical trade-off decisions. Solve complex architecture/design and business problems, developing extensible solutions. Work to simplify, optimize, and remove bottlenecks. Provide mentoring and guidance to junior engineers, offering feedback and direction on specific engineering tasks. Maintain application hygiene and address any Risk & Control items. Work closely with Project Managers, Business Analysts, and Operational users/Product managers to deliver projects. Work independently on project deliverables, articulate issues/challenges, and proactively communicate risks. Handle code releases in various environments. Required Skills/Experience: Java Expertise:
4+ years of hands-on experience in Java backend development (Java 8+ preferred), including deep understanding of core Java concepts, object-oriented programming, data structures, algorithms, and design patterns. Experience with Spring Boot, Spring JPA, Spring Cloud, JDBC, Hibernate, REST, and Maven is essential. Demonstrated proficiency in Java 8+ features (lambda expressions, streams, functional interfaces) and functional programming paradigms is required. Python programming experience is a plus. Data Transformation & Integration:
Proven experience transforming data between various formats such as XML, FXML, SWIFT, JSON, and CSV, utilizing relevant libraries and tools. Microservices Architecture:
Extensive experience with microservices architecture and related technologies, including Docker, Kubernetes/OpenShift, and cloud computing platforms (AWS, Azure, GCP). Strong understanding of microservice design patterns, principles, and best practices. Messaging & Integration:
Experience implementing Kafka consumers, producers, and streaming applications. Familiarity with other messaging technologies like TIBCO EMS and IBM MQ is highly desirable. Experience with secure file transfer protocols (SFTP) is required. Database Technologies:
Solid understanding of both SQL and NoSQL databases. Hands-on experience with MongoDB is preferred, and experience with other NoSQL databases is a plus. Familiarity with relational databases (e.g., Oracle, PostgreSQL) is required. Stream Processing:
Experience with Kafka Streams and Apache Flink is a significant advantage. Agile & Testing:
Experience working in an Agile environment using TDD/BDD best practices. Proficiency with JUnit and Mockito for unit and integration testing is essential. DevOps & CI/CD:
Good knowledge of DevOps principles and CI/CD practices. Experience with tools like Jenkins, TeamCity, IBM UrbanCode Deploy, and SonarQube is highly desirable. API Development:
Experience implementing RESTful and GraphQL APIs, including API design, development, and security best practices. Experience with WebSocket implementations is preferred. Version Control:
Proficiency with Git/Bitbucket for version control is required. Soft Skills:
Strong communication, analytical, problem-solving, and leadership skills are essential. Demonstrated ability to take ownership, collaborate effectively, and communicate technical concepts clearly. Highly Proficient Spring Boot, Spring Cloud, Spring JPA Java, OOPS Kafka streaming Experience in MQ JUNIT and Mockito Nice to have skills: Experience in front end technologies such as React, HTML, CSS, Javascript Basic understanding of Databases (Preferably Oracle) is good to have. Knowledge of MongoDB is a plus. WebSocket Reactive Programming - RxJs Education: Bachelor's degree/University degree or equivalent experience Master's degree preferred This job description provides a high-level review of the types of work performed. Other job-related duties may be assigned as required.