Cloud Software Engineer
GRVTY is seeking a Cloud Software Engineer with a TS/SCI + Poly clearance to join a top project in Annapolis Junction, MD.
About the role
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 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.
Responsibilities
- 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
Requirements
- Active TS/SCI with Polygraph Clearance
- Twelve (12) years of software engineering experience in programs and contracts of similar scope, type, and complexity
- Bachelor’s degree in Computer Science or related discipline from an accredited college or university; 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’s in Computer Science or related discipline may be substituted for two (2) years of experience
- Cloudera Certified Hadoop Developer certification may be substituted for one (1) year of Cloud experience
Skills
- Front-End Web Development Languages: JavaScript (and Typescript), React/JSX
- Back-End Development Languages: Node.js/JavaScript, Rust (for high-performance or secure portions), Python, shell script
- Micro-services architecture: Kubernetes, Helm Charts, Micro-Services deployment patterns, Service-mesh, Multi-site applications, Load Balancing topologies, Cloud Migration
- Tech-Stack Familiarity:
- Architecture: NiFi, Testing frameworks (JEST), Grafana, InfluxDb, Elasticsearch, Redis, MySQL, Apache Superset, RabbitMQ/Kafka/Message Fabrics, Ansible/Salt, Terraform (for lane development), Web-Sockets, JBLOCKS, CASPORT, Neo4j, Agency Security Labels (CAMKEY, LAC, COI, etc.)
- Cloud and Distributed Computing:
- Two (2) years of Cloud and/or Distributed Computing Information Retrieval (IR)
- One (1) year of experience with implementing code that interacts with Cloud Big Table
- One (1) year of experience with implementing code that interacts with 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
- Computer Network Operations: Utility Computing, Network Management, Virtualization (VMWare or VirtualBox)
- Multi-Node Management and Installation: Management and installation of Cloud and Distributed Computing on multiple nodes, Python, CFEngine, Bash, Ruby or related technologies
- Information Assurance: 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)
- Information Technology: Object-Oriented Design and Programming, Java, Eclipse or similar development environment, MAVEN, RESTful web services
- Cloud and Distributed Computing Technologies: YARN, J2EE, MapReduce, Zookeeper, HDFS, HBase, JMS, Concurrent Programming, Multi-Node implementation/installation, and other applicable technologies
- Cloud and Distributed Computing Information Retrieval: 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
- Debugging and Profiling Cloud and Distributed Installations: Java Virtual Machine (JVM) memory management, Profiling Java Applications
- UNIX/LINUX, CentOS
- SIGINT Experience:
- Experience with at least one SIGINT collection discipline area (FORNSAT, CABLE, Terrestrial/Microwave, Overhead, and ELINT)
- Geolocation, emitter identification, and signal applications
- Joint program collection platforms and dataflow architectures; signals characterization analysis
- Other Experience:
- CentOS, Linux/RedHat
- Configuration management tools such as Subversion, ClearQuest, or Razor
Pay
Maryland Pay Range: $170,000—$200,000 USD
Benefits
- Robust health plan including medical, dental, and vision
- Health Savings Account with company contribution
- Annual Paid Time Off and Paid Holidays
- Paid Parental Leave
- 401k with generous company match
- Training and Development Opportunities
- Award Programs
- Variety of Company Sponsored Events