Skip to main content

Careers

Backend Developer – Java, Flink, kafka

Job Req ID 25878322 Location(s) Mississauga, Canada Job Type Hybrid Job Category Technology
Apply Now

The Backend Developer – Java, Flink, kafka is a senior level position responsible for establishing and implementing new or revised application systems and programs in coordination with the Technology team. The overall objective of this role is to lead/develop applications systems analysis and programming activities.

Responsibilities:

  • 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
  • Utilize advanced knowledge of system flow and develop standards for coding, testing, debugging, and implementation
  • Develop comprehensive knowledge of how areas of business, such as architecture and infrastructure, integrate to accomplish business goals
  • Provide in-depth analysis with interpretive thinking to define issues and develop innovative solutions
  • Conduct in-depth analysis and develop innovative solutions to identified issues.
  • Serve as advisor or coach to mid-level developers and analysts, allocating work as necessary
  • Appropriately assess risk when business decisions are made, demonstrating particular consideration for the firm's reputation and safeguarding Citigroup, its clients and assets, by driving compliance with applicable laws, rules and regulations, adhering to Policy, applying sound ethical judgment regarding personal behavior, conduct and business practices, and escalating, managing and reporting control issues with transparency.


Qualifications:

  • 6-10 years of relevant experience in Apps Development or systems analysis role
  • Consistently demonstrates clear and concise written and verbal communication
  • Experience in large-scale enterprise application development with the ability to write “clean code”  using modern Java technologies (Core Java, Java EE, Spring Boot, Spring Microservices, Multithreading) including problem-solving and troubleshooting skills.
  • Strong understanding of OOPS (Object-Oriented Programming) principles, Data Structures, and Algorithms.
  • Experience with Apache Flink for stream processing, including experience converting real-time streams into OLAP formats such as Iceberg and Parquet.
  • Experience with OLAP transformations within Apache Flink using FLINK SQL/Data stream/Process Function APIs, specifically for real-time stream data ingestion into Iceberg/Parquet formats for reporting and batch feeds.
  • Proficiency in API and Web Services development using REST, GraphQL, gRPC protocols.
  • Strong experience in Unit testing and ensuring test coverage.
  • Solid understanding of cloud platforms, particularly Docker and Kubernetes.
  • Experience using Swagger/OpenAPI to define, document, implement, and test APIs.
  • Experience with High-Speed Messaging platforms, particularly Kafka.
  • Advanced knowledge of Relational Databases (specifically Oracle) and NoSQL databases (specifically MongoDB), including PL/SQL proficiency.
  • Expertise in Authentication and Authorization using protocols such as OAuth 2.0, OpenID Connect (OIDC), and SAML 2.0, and security best practices including secure coding principles, vulnerability scanning, and penetration testing
  • Experience with Continuous Integration / Continuous Delivery (CI/CD) tools

Good to have:

  • Unix shell scripting.
  • Knowledge of Elasticsearch.
  • Knowledge of OpenShift Container Platform.
  • Distributed caching solutions (Hazelcast or Redis)
  • Prior experience with building distributed, multi-tier applications is highly desirable.
  • Experience with building apps which are highly performant and scalable will be great.
  • Knowledge of AI/ML, LLMS
  • Python programming


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.

------------------------------------------------------

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.

Apply Now

Saved Jobs

You have no saved jobs

Previously Viewed Jobs

You have no viewed jobs