Work collaboratively with a global team to design, develop scalable, maintainable and reliable services that process very large quantities data using Big Data technologies (100 billion daily indicators, 6 TB/day before compression).
Familiar with Object oriented development, with specific experience in at least one major OO language (knowledge of Java is mandatory and if possible, java 8).
Nice to have: Knowledge of functional programming.
Perform end-to-end software development life cycle functions including Design, Development, Performance Analysis & Tuning, Optimization, Testing and Product Maintenance.
Design software components using appropriate design patterns to assist in developing a consistent well throughout the system that’s simple to build, maintain and interface with users and other system components
Ensure quality of deliverables, set development standards in areas of code quality, test coverage, TDD, BDD, monitoring, logging, exception management.
The individual must have 3-6 years of diversified experience developing applications using java language with 1-2 years of experience in Big data technologies such as Spark, Kafka/Spark Streaming, HBase, Hive, Oozie, Knox, Hadoop (Hortonworks) and related eco system.
Experience working on at least 1 big Data projects.
Experience with Hadoop and Spark highly desired.
Knowledge with building stream-processing systems using solutions such as Spark-Streaming, Kafka is a plus.
Knowledge of principles and components of Big Data processing and analytics highly desired.
Messaging formats including XML, JSON, Avro,Google Protocol Buffers ..
Experience in Core java is a must . Good knowledge of SQL is also required.
Experience on working with Spring-boot frameworks for the API development.
Experience in creating and consuming RESTful web services.
Experience with Agile and test driven development methodologies required.
Good in UNIX commands and Shell Scripting.
Comfortable working with Eclipse IDE or Intellij IDEA.
Experience with Git, MAVEN, jira tools .
Strong analytical and problem solving skills.
Solid application design, coding, testing, maintenance and debugging skills.
Experience of Object Oriented software design and design patterns.
Experience within the Financial Services industry is a plus.
Knowledge on functional programming features in java.