Sr. Full Stack Developer ($150K to $180K)
The Futures Clearing Technology group is dynamic, fast-paced, and allows low latency, high performance, straight-through-processing of futures trades by enabling connectivity to several clearinghouses globally. You will join a newly formed team within the Futures Clearing Technology group that is responsible for providing a communication layer between Futures Clearing Systems and Futures Product Processor (books and records system). This group will be responsible for transforming, normalizing, and sourcing the clearing data coming from upstream systems into the product processor and also extracting the data out of the product processor and feed to other internal applications.
The team has fully embraced a modern architecture with Microservices running on the OpenShift/Kubernetes platform with communication via APIs and messaging platforms such as Kafka. Development work is done by leveraging best coding practices including Code Quality, Clean Code, SOLID Design practices, and testing mind, to deliver top-of-the-line services. The key focus is given to automating build, test, and deployment pipelines utilizing best-in-class DevOps tools.
This role suits experienced full-stack developers who are passionate about developing technological solutions, delivering excellence, and collaborating in a team environment.
• Research and understand DevOps best practices based on industry and Citi standards.
• Design software components in a microservices cloud-native architecture to be resilient, stateless, scalable, and testable with automation and reusability as key objectives.
• Develop services and APIs in Java, Spring boot frameworks utilizing the latest frameworks and libraries with an emphasis on design patterns, code quality, secure coding practices, and writing testable code with tests.
• Implement automated build, test, and deployment pipelines utilizing the latest DevOps tools available at Citi.
• Mentor/coach junior team members, establish standards, share best practices
• Partner with QA engineers to develop test cases and build out an automated testing suite for both API and microservices.
• Work closely with users, stakeholders, BAs, product managers, and other development teams to understand problem space, and brainstorm ideas, approaches, and solutions.
• Collaborate with other development teams to build shared libraries and components for reuse across the organization.
• Participate in daily Scrum ceremonies and conduct sprint demos for stakeholders.
• Partner with support teams to formally hand over the software released to production and provide rotational support for the platform.
• Proactively create and manage relevant application documentation using Confluence, JIRA, and SharePoint.
• Demonstrate a culture of continuous process improvements by applying lessons learned from recent projects to future projects.
• Appropriately assess risk when business decisions are made, demonstrating consideration for the firm's reputation and safeguarding Citigroup, its clients, and assets.
Required Skills, Experience, and Competencies
• Strong technical background, experience with Software Development Lifecycle, and experience managing stakeholders in a global and dynamic environment.
• Experience designing and developing cloud-native applications with a microservices architecture running on Docker/OpenShift/Kubernetes platform
• 10+ years of experience in application development using Java, SQL (RDBMS or No SQL databases), and messaging platforms ( such as Kafka, MQ, Tibco, Solace, etc).
• Experienced in Spring frameworks, and Spring Boot technologies.
• Experienced in API development & application security best practices (Oath, TLS, PKI, etc.)
• Experienced in Gradle , maven build tools, Git/Bitbucket, Junit, Mockito, etc
• Experienced in Caching such as Redis, Gemfire, etc.
• Experienced in XML, JSON, etc.
• Passion and commitment to adopting industry best practices and new technologies with an exploratory mindset
• Proactive, detail-oriented, and self-motivated professional who can hit the ground running
• Experience working in an Agile/Scrum work environment and mentoring/coaching junior developers
• Strong communication and presentation skills
• Innovative ideas and can-do attitude
• Ability to manage tight deadlines or unexpected priority changes, excellent time management
• Strong problem-solving skills
• Willingness to ask questions, challenge the status-quo, and seek out answers
• Ability to work independently, multi-task, take ownership, and drive strategy
• Impeccable integrity and judgment
Desirable Skills, Experience, and Competencies
• Experience in Spring Cloud Stream, and Reactor programming.
• Experience in application monitoring systems such as Prometheus.
• Experience in log aggregation systems such as Loki.
• Financial Services experience, understanding of listed derivatives- particularly futures.