This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
The Applications Development Senior Programmer is a senior level position responsible for establishing and implementing new or revised application systems and programs in coordination with the Technology team. The overall objective of this role is to lead applications systems analysis and programming activities.
Job Responsibility
Partner with multiple management teams to ensure appropriate integration of functions to meet goals as well as identify and define necessary system enhancements to deploy new products and process improvements
Resolve variety of high impact problems/projects through in-depth evaluation of complex business processes, system processes, and industry standards
Provide expertise in area and advanced knowledge of applications programming and ensure application design adheres to the overall architecture blueprint
Utilize advanced knowledge of system flow and develop standards for coding, testing, debugging, and implementation
Develop comprehensive knowledge of how areas of business, such as architecture and infrastructure, integrate to accomplish business goals
Provide in-depth analysis with interpretive thinking to define issues and develop innovative solutions
Serve as advisor or coach to mid-level developers and analysts, allocating work as necessary
Appropriately assess risk when business decisions are made, demonstrating particular consideration for the firm's reputation and safeguarding Citigroup, its clients and assets, by driving compliance with applicable laws, rules and regulations, adhering to Policy, applying sound ethical judgment regarding personal behavior, conduct and business practices, and escalating, managing and reporting control issues with transparency
Requirements
Demonstrated analytical and problem-solving skills
Application performance tuning, troubleshooting experience and the implementation of these skills in Big Data domain
Comfortable working with large data volumes and be able to demonstrate a firm understanding of logical data structures and analysis techniques
Minimum 2 years’ experience in Big data technologies like HDFS, Map Reduce, YARN, Apache Spark, Hive
Familiarity with data formats like Avro, Parquet, CSV, JSON
Strong systems analysis, design and architecture fundamentals, Unit Testing and other SDLC activities
Understanding fundamental design principles behind a scalable application
Experience in working with UNIX/LINUX and shell scripting
Good knowledge of database principles, practices with SQL
Application performance tuning, troubleshooting experience and the implementation of these skills in Big Data domain
Agile/Scrum methodology experience is required
Experience in SCMs like GIT and tools like JIRA
Experience in No SQL databases
Familiarity with build tools such as Maven and continuous integration like Jenkins/Team City
Familiarity with cloud and container technologies
Experience real time data processing - Kafka
Translate application storyboards and use cases into functional applications
Design, build, and maintain efficient, reusable, and reliable Python/Scala code
Ensure the best possible performance, quality, and responsiveness of the applications
Identify bottlenecks and bugs, and devise solutions to these problems
Develop high performance & low latency components to run Spark clusters
Interpreting functional requirements into design approaches those can be served through Big Data platform
Collaborate and partner with Global Teams based across different locations
Be able to propose best practices and standards
Perform the testing of software prototypes and transfer to the operational team
Processing of data using Hive, Impala & HBASE
Performing analysis of large data sets and derive insights
Bachelor’s degree/University degree in computer science or equivalent experience