As a Java / Scala Developer, you will work with the team to design and develop a mission critical Data Ingestion and Distribution Platform as well as several new and exciting products in the Big Data/Advanced Analytics space. You will operate in a fast-paced environment where multiple project deliverables are coordinated within specified deadlines. This is a great opportunity to work with cutting edge technologies as well as propel your career.
- Develop Java/Scala core code to ingest data from different data sources, transform using data frames (in memory processing), write sync processes to write data into multiple targets (RDBMS, Hive, HDFS, Hbase etc.)
- Develop solutions in Scala and Java using best practices around enterprise architecture such as dependency management, design patterns, complexity estimation & persistence layers.
- Deliver high quality code deliverables for modules, lead validation for all types of testing and support activities related to implementation, transition and warranty.
Primary Requirements (Must have)
- Solid understanding (3+ years) in functional and/or object-oriented programming language using Java and/or Scala
- Solid understanding (3+ years) in multi-threaded applications; Concurrency, Parallelism, Locking Strategies and Merging Datasets
- Solid understanding of SQL, Relational and NoSQL databases
- Solid understanding (2+ years) in creating and consuming RESTful services
- Solid understanding (3+ years) in Memory Management, Garbage Collection & Performance Tuning
- (3+ years) of experience and working knowledge of distributed/cluster computing concepts
- Solid understanding (3+ years) experience in Linux environments; strong knowledge of shell scripting and file systems
- Knowledge of CI tools and build tools like Git, Maven, SBT, Jenkins, and Artifactory/Nexus
- Self-managed and results-oriented with sense of ownership is required
- Excellent analytical, debugging and problem-solving skills is required
Secondary Requirements (Good to have)
- Knowledge of Spark, HDFS, YARN, Hive and Oozie is a plus.
- Docker swarm/ Kubernetes / OpenShift would be beneficial
- Good level of understanding of microservices and service-oriented architecture
- Experience with Agile/Scrum development methodologies is a plus