The Cloud Software Engineer develops, maintains, and enhances complex and diverse Big-Data Cloud systems based upon documented requirements. Directly contributes to all stages of back-end processing, analyzing, and indexing. Provides expertise in Cloud Computing, Hadoop Eco-System including implementing Java applications, Distributed Computing, Information Retrieval (IR), and Object Oriented Design. Works individually or as part of a team. Reviews and tests software components for adherence to the design requirements and documents test results. Resolves software problem reports. Utilizes software development and software design methodologies appropriate to the development environment. Provides specific input to the software components of system design to include hardware/software trade-offs, software reuse, use of Commercial Off-the-shelf (COTS)/Government Off-the-shelf (GOTS) in place of new development, and requirements analysis and synthesis from system level to individual software components.
The Senior Cloud Software Engineer shall possess the following capabilities:
- Provide in-depth knowledge of Information Retrieval; assisting the software development team in designing, developing and testing Cloud Information Retrieval
- Implement complex workflows that manage Cloud MapReduce analytics
- Implement code that interacts with Cloud Distributed Coordination Frameworks
- Oversee one or more software development tasks and ensures the work is completed in accordance with the constraints of the software development process being used on any particular project
- Make recommendations for improving documentation and software development process standards Serve as a subject matter expert for Cloud Computing and corresponding technologies including Hadoop – assisting the software development team in designing, developing and testing Cloud Computing Systems
- Debug problems with Cloud based Distributed Computing Frameworks
- Manage multi-node Cloud based installation
- Delegate programming and testing responsibilities to one or more teams and monitor their performance Select the software development process in coordination with the customer and system engineering Recommend new technologies and processes for complex cloud software projects
- Ensure quality control of all developed and modified software
- Architect solutions to complex Cloud Software Engineering Problems such as efficiently processing and retrieving large amounts of data
- Make recommendations for improving documentation and software development process standards
Qualifications: Twelve (12) years’ experience software engineering experience in programs and contracts of similar scope, type, and complexity is required. Bachelor’s degree in Computer Science or related discipline from an accredited college or university is required; four (4) years of which must be in programs utilizing Big Data cloud technologies and/or Distributed Computing. Four (4) years of cloud software engineering experience on projects with similar Big-Data systems may be substituted for a bachelor’s degree. Master in Computer Science or related discipline from an accredited college or university may be substituted for two (2) years of experience. Cloudera Certified Hadoop Developer certification may be substituted for one (1) year of Cloud experience.
The following Cloud related experiences are required: • Two (2) years of Cloud and/or Distributed Computing Information Retrieval (IR).
- One (1) year of experience with implementing code that interacts with implementation of Cloud Big Table. • One (1) year of experience with implementing code that interacts with implementation of Cloud Distributed File System. • One (1) year of experience with implementing complex MapReduce analytics. • One (1) year of experience with implementing code that interacts with Cloud Distributed Coordination Frameworks. • One (1) year of experience in architecting Cloud Computing solutions • One (1) year of experience in debugging problems with Cloud based Distributed Computing Frameworks • One (1) year of experience in managing multi-node Cloud based installation