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.
Experience with at least a subset of the following:
Master in Computer Science or related discipline from an accredited college or university may be substituted for two years of experience.
Developer certification may be substituted for one year of Cloud experience.
The following Cloud related experiences are required:
Two years of Cloud and Distributed Computing Information Retrieval (IR).
One year of experience with implementing code that interacts with implementation of Cloud Big Table.
One year of experience with implementing code that interacts with implementation of Cloud Distributed File System.
One year of experience with implementing complex MapReduce analytics.
One year of experience with implementing code that interacts with Cloud Distributed Coordination Frameworks.
Experience with Computer Network Operations:
Utility Computing, Network Management, Virtualization (VMWare or VirtualBox), Cloud Computing
Multi Node Management and Installation: Management and installation of Cloud and Distributed Computing on multiple nodes, Python, CFEngine, Bash, Ruby or related technologies.
Securing Cloud Based and Distributed applications through industry standard techniques such as Firewalls, PKI Certificate and Server Authentication with experience in Corporate authentication service(s)
Object Oriented Design and Programming, Java, Eclipse or similar development environment, MAVEN, RESTful web services.
Cloud and Distributed Computing Technologies:
At least one or a combination of several of the following areas - YARN, J2EE, MapReduce, Zookeeper, HDFS, HBase , JMS, Concurrent Programming, Multi-Node implementation/installation and other applicable technologies.
Cloud and Distributed Computing Information Retrieval:
At least one or a combination of several of the following areas - HDFS, HBASE, Apache Lucene, Apache Solr, MongoDB
Ingesting, Parsing and Analysis of Disparate Data-sources and formats:
XML, JSON, CSV, Binary Formats, Sequence or Map Files, Avro and related technologies
Aspect Oriented Design and Development
Debugging and Profiling Cloud and Distributed Installations: Java Virtual Machine (JVM) memory management, Profiling Java Applications
UNIX/LINUX, CentOS
Experience with at least one SIGINT collection discipline areas (FORNSAT, CABLE, Terrestrial/Microwave, Overhead, and ELINT)
Geolocation, emitter identification, and signal applications.
Configuration management tools such as Subversion, ClearQuest, or Razor
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
¿Te interesa este puesto?