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
 



Apply