Applications Development Technical Lead Analyst-19020576
Senior Software Engineer (Java)
- The TPS Development Team is seeking a Senior Software Engineer (java) with a proven track record of producing complex software solutions.
- This role is within an existing project team with huge expertise in Rates and Credit Derivatives flows in Investment Banking.
- In this fast paced environment you must be able to prioritize tasks, work within deadlines, taking a pragmatic and considered approach, paying close attention to details. You will need to employ strong oral and written communication skills, necessary to effectively produce client solutions within the Citi Markets Technology area.
The senior developer will have the following characteristics:
- Proven background in developing java applications for complex business problems
- Ability to work independently and to deliver within provided deadlines
- Self-motivated and with determination to achieve goals
- Good team working skills and ability to work in a virtual team environment.
- Ability to assume ownership of and optimize current development processes
- Highly organized and able to effectively communicate
- Ability to think critically, analyze workflows and data
- Ability to perform analysis and define solutions to complex business problems
- Ability to excel in a structured but complex working environment
- The TPS Platform is a cross asset FO/MO Ticket Entry platform for Cash / Derivatives / Exotics across Capital Markets. Clients are all in-house but the platform processes trades from external and internal venues.
- The Senior Software Engineer (Java) will be accountable for the following responsibilities:
- Apply software engineering best practice methodologies to produce high quality Java applications solving complex business problems.
- Work with Project Managers and Business Analysts to continually review and enhance the appropriate software development methodologies, metric and procedures.
- Work with business analysis and business stakeholders to interpret business requirements into system design
- Establish a course of action to accomplish specific goals.
- Manage development process from design, construction, testing and implementation; provide user and operational support on application to business users.
- Supervise junior team members design and programming standards and principles
- Perform root cause analysis skills, able to quickly analyze and interpret code
- Foster and maintain relationships with business stakeholders, support, testing and development team members
- Understand, document and communicate system logic and business processes to non-technical interested parties
- Use appropriate interpersonal and communication skills to gain acceptance of an approach, plan or activity
- Effective oral and written communication as necessary to effectively communicate project issues to Project Managers and Business Analysts.
- Self-initiate, work productively when unsupervised and multitask across multiple concurrent projects
- Educated to bachelors degree level or equivalent
- Be familiar with Object Oriented Analysis and Design, Design Patterns
- In-depth knowledge of Java Programming Language
- Hands-on Experience in using different Spring Frameworks
- Be familiar with Cache server like Gemfire is a plus
- Experience in Linux and shell scripting
- Experience in Oracle/SQL language
- Hands-on Experience in Test Driven Development using Tools like – Junit, Mockito, etc.
- Hands-on experience in CI Tools – TeamCity, GIT, BitBucket, etc.
- Excellent verbal and written communication skills and English
- Self-starter and ability to work independently
- Ability to produce technical design documentation
- Ability to represent technical direction
Preferred Technical Skills:
- Use of Agile Methodology
- Knowledge of capital markets, derivatives products
- Exceptional candidates who do not meet these criteria may be considered for the role provided they have the necessary skills and experience.