logo

View all jobs

Software Engineer II

Annapolis Junction, MD
Reflexive Concepts is seeking a skilled Software Engineer to join our team! 

The ideal candidate will be a full-stack developer with demonstrated experience in data pipeline orchestration and observability tooling, including Apache NiFi, Jest, Grafana, InfluxDB, and Elasticsearch, and related technologies.

Qualifications:
  • Eight (8) years of experience as a SWE 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 additional SWE experience on projects with similar software processes may be substituted for a bachelor's degree
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.)
Required:
  • Experience in Information Technology: One (1) year of experience coding in Python (SHADOWSCIENCE)
  • Kubernetes
  • Helm Charts
  • Micro-Services deployment patterns
  • Service-mesh
  • Multi-site applications
  • Load Balancing topologies
  • Cloud Migration
  • node.js/JavaScript
  • Rust (for high-performance or secure portions)
  • Python
  • Shell script
  • JavaScript (and eventually some TypeScript)
    React/JSX
  • Ability to:
    • Analyze user requirements to derive software design and performance requirements
    • Debug existing software and correct defects
    • Provide recommendations for improving documentation and software development process standards
    • Design and code new software or modify existing software to add new features
    • Integrate existing software into new or modified systems or operating environments
    • Develop simple data queries for existing or proposed databases or data repositories
    • Write or review software and system documentation
    • Serve as team lead at the level appropriate to the software development process being used on any particular project
    • Design or implement complex database or data repository interfaces/queries
    • Develop or implement algorithms to meet or exceed system performance and functional standards
    • Assist with developing and executing test procedures for software components
    • Develop software solutions by analyzing system performance standards, confer with users or system engineers; analyze systems flow, data usage and work processes; and investigate problem areas
    • Modify existing software to correct errors, to adapt to new hardware, or to improve its performance
    • Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design
    • Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints; Perform quality control on team products
    • Implement recommendations for improving documentation and software development process standards
    • Oversee one or more software development teams and ensure the work is completed in accordance with the constraints of the software development process being used on any particular project
    • Confer with system engineers and hardware engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements and interfaces
    • Coordinate software system installation and monitor equipment functioning to ensure operational specifications are met

Share This Job

Powered by