Job Description
Adeva is a global talent network that enables work without boundaries by connecting tech professionals with top companies worldwide. This is a position with a client in the Medical Research field, with over 70,000 employees worldwide.
Technical Requirements
- Good knowledge and Hands on Scala Programming
- Good skills on modular program development in Scala
- Proficiency in Spark Scala for technical development and implementation
- Data pipeline using Spark Scala
- Load disparate data sets by leveraging Kafka consumers
- Ability to utilize Hive, Spark, Cassandra, Mesos and Kafka
- Experience with AWS components and services, particularly EMR, S3, and Lambda
- Good understanding of file formats including JSON, Parquet, Avro, and others
- Strong development skills around Hadoop, Spark, MapReduce, and Hive
- Strong understanding of Hadoop internals
- Experience with open source technologies such as Cassandra
- Experience with messaging and complex event-processing systems such as Kafka and Storm
- Facilitate in job scheduling/monitoring
- Good knowledge on Spark concepts and Implementation
- Extensive hands on Data frame and Dataset operations of Spark
- Good Understanding of Bigdata Technologies and Hadoop
- Good knowledge on Hive and HiveQL
- Knowledge on Cassandra Architecture and CQL is desirable
- Good Hands on in Hadoop stack (MapReduce, Hive, Sqoop, Oozie)
- Excellent in writing shell scripts
- Experience with application architecture in a big data environment.
- Expert with Big Data technologies like Hadoop, Spark, Scala, Hive, HBase, Pig, Cascading
- Experience with AWS technologies or equivalent cloud stack As a hands-on engineer, influence all architecture decisions
- Build reusable code, with the ability to scale with very large data volumes
- Knowledge on Java Programming is desirable
- Data Migration/ETL knowledge is desirable:
Minimum Required Education
- Bachelor’s Degree in computer science or related field with a minimum 5 years relevant work experience;
- or equivalent combination of education, training and experience.
Purpose
- Under general direction, has duties of instructing, directing, and checking the work of other development personnel.
- Formulates and defines system scope and objectives for assigned projects.
- Devises or modifies procedures to solve complex problems considering computer equipment capacity and limitations, operating time, and form of desired results.
- Prepares detailed specifications from which programs will be written.
- Responsible for program design, coding, testing, debugging, and documentation.
- Has full technical knowledge of all phases of applications systems analysis and programming.
- Has good understanding of the business or function for which application is designed. Responsible for quality assurance review.
- Acts as project leader for projects with small budgets or limited duration.
- Responsible for directing and monitoring the work of team members.
- Responsible for project completion and user satisfaction.
Responsibilities
- Serve as technical lead on large, complex projects.
- Plans and coordinates the complex design, development, implementation, maintenance, and level 4 support of associated systems.
- Programs, tests, and documents systems in accordance with programming standards and validation procedures.
- Provides software, system and/or programming solutions across projects and/or technologies to meet internal and external needs.
- Engineer systems and/or software, and/or transfer data for internal and external clients.
- Plans and coordinates peer review of work products such as code, designs, and test plans produced by other team members.
- Interact with corporate and project team members to negotiate timelines, responsibilities, and deliverables.
- Provides expert technical advice and solutions for internal and external clients.
- Provide expert review of database development work with regard to programming standards and validation procedures.
- Serves on or may lead company committees and task forces to develop technical solutions for projects or client needs.
- Provides long term evaluations of systems, company wide.
- Update corporate information sets associated with application information, such as PDRS and Application Portfolio database.
- Construct budgets as required and control expenditure to achieve financial objectives.
- Develop and review methods to assess quality and efficiency of work performed by team, including metrics, internal process improvement, Work Instructions and Standard Operating Procedures.
- Meets personal and professional milestones as assigned, and interacts with the project team to organize timelines, responsibilities and deliverables.
- Act as formal line manager for staff including setting goals, appraisal of staff performance and development needs.
- Support staff to achieve their training and development objectives. Identify areas that your team needs to develop to meet future business needs
- Performs other duties as directed.