Job Responsibilities
Developing and maintaining financial software applications
Owns success - Takes responsibility for timeline and good quality of solution deliverables
Explore existing application systems
determines areas of complexity
potential risks to successful implementation
Translates functional requirement or specifications into technical solutions
and implement the solutions with plans and executions
Responsible for continuous improvement
by implementing the unit test
code review and continuous integration
Build good and health customer relationship
and other business/tech stockholders
Coaching junior software developers
Job Opportunities
Get exposure to various Capital Markets businesses at Citi
Build the experience of working in global development teams
Required Technical Skills
A solid foundation in computer science
with strong competencies in data structure
operation system
database and software design
Extensive programing experience in Core JAVA
including J2SE
XML
JDBC
JMX
multi-threading
JMS
web service and JVM
Several years of large systems software design and development experience
with extensive knowledge of Linux
Have some experience on distributed caching concepts and technologies
Hadoop is a big plus
including HDFS
MapReduce
Hive
Impala
Solr
Zookeeper
HBase and Spark
Required Non-Technical Skills
5+ years Java/Java EE application development experience
Good at reading
writing and verbal English
Passion and good team player
Work under pressure
manage conflicts and challenges
Good at knowledge of software development lifecycle/procedures
and continuous process improvement
Must demonstrate analytical thinking and problem solving skills
Optional Non-Technical Skills
Have a fundamental understanding of the workings of financial institutions
specifically investment banks
Additional
Successful reference and background check
Education
Have a Bachelor/Master degree in Computer Science
Computer Engineering
EE
Mathematics or related majors
With Financial knowledge or background is a plus