You should be proficient in Java with good knowledge/exposure to Big Datatechnologies (Hadoop ecosystem), web technologies (MVC frameworks web services etc.), excellent communication skills and ability to design and develop well-written, maintainable software. This work involves development of Java software to do data processing with both RDBMSdatabases (Oracle), as well as Hadoop (Hive tables). Further work may involve the evolution of existing ETL processes into new Hadoop based data-pipelines. Experience with Apache Kafka, Apache Spark would be a plus and candidates with prior experience with medium to large scale Hadoop-based data pipelines would be given a preference.
- Bachelor’s degree in computer science, software engineering or relevant field required
- 10+ years’ experiencerequired
- 7+ years’ Java experiencerequired
- 4+ years’ Big Data (Hadoop/Solr) required
- Exercises independent judgment with minimal direction from supervisor
- Design, develop, document and implement new programs and subprograms, as well as enhancements, modifications, and corrections to existing software.
- Develop testing and debugging routines and oversee execution.
- Create documentation and procedures for installation and maintenance.
- Build and maintain relationships with global and virtual teams and third parties on software development or support issues.
- Lead development and oversee programming and testing functions to ensure that projects are securely delivered and fulfill expectations.
- Understand the positioning of a solution within the company and to build a plan to effectively gain buy-in from all participants.
- Identify opportunities for further enhancements and refinements to standards and processes.
- Expert experience Java / Hadoop development and maintenance, and know the key areas like design concepts, design patterns, performance issues, memory issues, concurrency issues, etc., for supporting JAR files for API Programming. (Required)
- Verbal and written communication skills, problem solving skills, customer service and interpersonal skills (Required)
- Expert understanding of data structures, sorting and searching, exception handling, Web UI development. (Required)
- Experience with requirements gathering, software estimation, design, development, project planning using tools like Microsoft Project Plan, and Visio. (Required)
- Expert ability to work independently and manage one’s time, and mentoring skills necessary to provide support and constructive performance feedback. (Required)
- Experience in managing, development and designing enterprise quality client server applications in Java/JEE technologies. (Preferred)
- Expert knowledge of the full software development life-cycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery data flow diagrams and entity relationship diagrams. (Preferred)
- Experienced ability to troubleshoot issues and make system changes as needed to resolve issue
- Experienced database skills (oracle, DB2, mysql, etc.), working knowledge of UNIX or Linux, and understanding of ETL tools (like Ab Initio or Talend). (Preferred)