Java Software Engineer
Role details
Job location
Tech stack
Requirements
The Global Fixed Income Trade Processing (FiTP) Team is seeking a Senior Software Engineer (Java) with a proven track record of design and developing large, complex and distributed systems.
The successful individual will ideally have a good knowledge of Fixed Income products and experience in building software systems to handle the capture and processing of high volume of such trades.
In this fast paced environment you must be able to prioritize tasks, work within deadlines, taking a pragmatic and thoughtful approach, paying close attention to details. You will need to employ strong communication skills, necessary to effectively produce client solutions., * Bachelor's degree with a relevant major (Computer Science, Information Technology, Mathematics, Engineering, or similar)
- 5+ years of experience in design and development of high performance, low-latency, multi-threaded applications.
- Extensive hands-on development experience in Java.
- Demonstrated ability to learn new business concepts and technologies.
- Ability to work under pressure and manage deadlines or unexpected changes in expectations or requirements, * Solid understanding of software development fundamentals including data structures, design patterns and object-orientated programming.
- Proficiency in core Java (5+ years of experience) with demonstrable success in developing multi-threaded applications and expert level knowledge in data structures, algorithms, collections, and error handling.
- Spring Framework (and Spring Boot): This is almost non-negotiable for enterprise Java development. Expertise in Spring Boot for rapid application development, Spring MVC for web applications, Spring Data JPA for persistence, and Spring Security for authentication / authorization.
- Microservices Architecture: Understanding how to design, develop, and deploy independent, loosely coupled services, which is a common pattern for applications running on ECS.
- RESTful APIs: Designing, developing, and consuming RESTful web services using Java and Spring Boot.
- Build Tools: Maven or Gradle for project management and build automation.
- Proven ability to develop clean, testable code.
- Understanding of relational database concepts and knowledge in SQL.
- Experience with Jira, Git/Bitbucket, Gradle and CI/CD tools, e.g. TeamCity and UrbanCode Deploy.
- Experience with Linux/Unix.
- Knowledge on cloud technologies e.g. Artifactory, Docker and OpenShift.
- Knowledge of fixed income products, customer and broker market platforms and trading protocols desirable.
Benefits & conditions
By joining Citi, you will not only be part of a business casual workplace with a hybrid working model (up to 2 days working at home per week), but also receive a competitive base salary (which is annually reviewed), and enjoy a whole host of additional benefits such as:
- 27 days annual leave (plus bank holidays)
- A discretional annual performance related bonus
- Private Medical Care & Life Insurance
- Employee Assistance Program
- Pension Plan
- Paid Parental Leave
- Special discounts for employees, family, and friends
- Access to an array of learning and development resources
Alongside these benefits Citi is committed to ensuring our workplace is where everyone feels comfortable coming to work as their whole self, every day. We want the best talent around the world to be energized to join us, motivated to stay and empowered to thrive.