Senior C++ Programmer/Analyst
Citi, the leading global financial services company, has some 200 million customer accounts and does business in more than 100 countries, providing consumers, corporations, governments and institutions with a broad range of financial products and services, including consumer banking and credit, corporate and investment banking, securities brokerage, and wealth management. Additional information may be found at www.citigroup.com or www.citi.com .
Citi Inc. and its subsidiaries ("Citi") are equal opportunity employers M/F/D/V and do not discriminate on the basis of any legally protected status or characteristic.
Job function (describe a "typical" day in terms of priorities, accountabilities, supervisory responsibilities, most pressing concerns, etc.):
- Helping ATD accomplish mission of developing cutting edge software for trading purposes.
- Work on prioritized list of projects and tasks previously assigned
- Developing, testing and deploying code
- Learning about new projects
- Working on initial design; communicating with peers through email and discussion re: status reports and organizational priorities
- Keeping those in charge of a project up to date on progress
- Enhancing knowledge of trading, trading systems and markets
- Working with other professionals to translate business ideas into programs
- Troubleshoot existing systems in response to problems, emergencies, or sudden changes in markets, external service providers or ECNs
- Coaches and consults with peers to develop and refine programs and models
Expected short-term results (specific tasks to be accomplished-3-4 months):
- Design and implement new systems
- Locate/update/correct deficient documentation
- Monitoring systems and making necessary corrections independently
- Ability to write 1-2 system components, with assistance.
- Learn trading techniques/terminology
- Established key contacts with key team members
- Working independently
Expected Long-term results:
- Ownership of particular code
- Comfortable with code protocols
- Expert on particular code project ("go-to" person)
- Ability to working autonomously
- Ability to come up with suggestions for improvements and an approach to solving it. Future opportunities as a technical lead
The following skills are required:
- Expert knowledge of C++
- C++ standard library
- Templates
- STL
- Experience with Unix or Linux systems
- Object oriented programming
- Experience with long term complex projects (full SDLC)
- Scripting knowledge
The following skills are desirable:
- Production quality software experience
- Event driven programming
- Real-time processing
- Network programming via sockets
Educational Experience
- BS in Computer Science or Computer Engineering or relevant degree required, MS is desirable
- Requires a minimum of 3 years work experience
Managerial/Supervisory Responsibilities: self directed, project management skills
