Job Purpose: 

  • Design and develop software programs to source client activities from CV and various front office systems to Hadoop data lake, process and apply machine learning algorithms on unstructured activity logs to generate generic user profile and then distribute the data to various Citi’s application recommendation engine through APIs
  • As a member of the Development team you will be part of Citi’s Global technology group with a unique opportunity to deliver data and analytic capabilities for business impact.

Your Responsibilities: 

  • Develop high-performance big data processing frameworks and code to enhance the existing frameworks
  • Partner with Business Analysts, Data Scientists, Quants and internal customers to improve our data coverage and analytic capabilities
  • Design and develop new data sets, data feeds, reports, and analytic features providing high performance and scalability; champion the adoption of big data processing best practices
  • Develop project plans, including accurate timelines, project documentation, and performance benchmarks for the development of new features
  • Continuously improve the performance of features; analyze, diagnose and correct performance problems
  • Detect, diagnose, and repair data quality errors and identify and implement technical and process improvements to prevent future data quality errors
  • Create test plans for new data sets, reports, and analytic capabilities
  • Lead in design reviews, code reviews, and test case reviews
  • Support and enhance existing server side components
  • Liaise with product area developer and support teams.

Skills and Qualifications:  

  • Bachelor’s Degree and/or Masters in Computer Science, Math or related discipline
  • Five+ years of relevant hands-on systems development experience
  • Excellent programming, written and oral communication skills
  • Java, Linux
  • Experience in big data analytics stack- KDB+, Hadoop/HBase, Spark
  • Experience in financial software development
  • Strong programming skills
  • Well versed with multithreading, data structures and collections in Java
  • Server side java programming experience
  • Knowledge and experience of distributed computing
  • Ability to write Unit test using Junit or any other library
  • Experience with Java performance tuning and Garbage collections
  • Big Data Processing design skills
  • Strong experience in a Unix/Linux ecosystem.

Source: for more information click here.

Share: