Citi is a leading global bank, and they are seeking an Applications Development Java Programmer to take on a hands-on technical developer role. The successful candidate will be responsible for leading the design, development, and maintenance of efficient Java code for high-volume applications, ensuring optimal performance and quality throughout the development lifecycle.
Responsibilities:
- Lead the design, development, and maintenance of efficient, reusable, and reliable Java code for high-volume, low-latency applications
- Own and drive all phases of the development lifecycle, from technical specification to testing and deployment
- Architect and write well-designed, testable, and scalable code, setting the standard for software development best practices within the team
- Ensure and take ownership of the optimal performance, quality, and responsiveness of the applications
- Lead the analysis of complex user requirements to define business objectives and architect robust technical solutions
- Drive architectural and design discussions, making key technical decisions to ensure robust and scalable solutions
- Create and own detailed technical specifications and software architecture documents
- Identify, evaluate, and champion the adoption of new technologies and frameworks to enhance the application stack
- Define and implement comprehensive testing strategies, including unit, integration, and performance tests to ensure code quality and reliability
- Do peer code reviews, enforcing high standards of code quality and providing constructive feedback to the team
- Drive continuous improvement by investigating and implementing cutting-edge technologies and presenting them for architectural review
- Ownership and accountability of the code that is delivered including problem solving during any production issues
- Provide expert-level technical support for applications in production, leading the resolution of critical issues in a timely manner
- Collaborate with and influence cross-functional teams, including business analysts, project managers, and other senior developers, to deliver high-quality software
- Establish and enforce standards for documenting software functionality, processes, and technical specifications
- Communicate complex technical concepts effectively to both technical and non-technical stakeholders, providing clear updates on project status and technical challenges