Software Engineer II

Reflexive ConceptsAnnapolis Junction, MD

About The Position

Reflexive Concepts is seeking a skilled Software Engineer to join their 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.

Requirements

  • 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)
  • Full-stack developer with demonstrated experience in data pipeline orchestration and observability tooling, including Apache NiFi, Jest, Grafana, InfluxDB, and Elasticsearch, and related technologies
  • 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

Nice To Haves

  • 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.)

Responsibilities

  • 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
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service