View all jobs

Principal Software Engineer w/ 15 years experience

Annapolis Junction, MD · Information Technology

    Preferred Qualifications
    • Software development on a Linux operating system
    • Experience with event driven and streaming capabilities (e.g., Heron, Streams, Spark, etc.) and with message transports (e.g., Active MQ, ZeroMQ, Kafka, NATS, Open DDS, etc.)
    • Experience interfacing with and developing REST web interfaces
    • Network protocols (HTTP, TCP, SSH, SSL, FTP, etc.)
    • Experience with common data formats and ability to convert different encoded data formats (e.g., XML, JSON., YAML, etc.)
    • Experience with RDBMS or distributed NoSQL Database system (e.g., MongoDB, Redis, Memcached, ZooKeeper, Elasticsearch, Etcd, Accumulo, etc.)
    • Familiar with Shell Scripting and Ansible
    • Have a working knowledge of cloud computing platforms (e.g., AWS)
    • Experience with resource management tools (e.g., Kubernetes, Mesos, etc.) as well as containerization technologies (e.g.,Docker)
    • Design, develop, unit/integration test, and build software code to provide new functionality and extend/modify existing code; using object-oriented methodologies
    • Write and implement code using real-time streaming software frameworks
    • Write and implement code to interact with object-relational, as well as NoSQL distributed databases
    • Write Linux Ruby and Bash based scripts for code integration & cron jobs
    • Leverage Gradle and Jenkins as continuous integration tools
    • Manage code using Git and the Atlassian tool suite (JIRA Agile, FishEye/Crucible, & Confluence
    • Spirit of algorithm development
    • RF experience

    At least fifteen (15) years in software development/engineering, including requirements analysis, software development, installation, integration, evaluation, enhancement, maintenance, testing, and problem diagnosis/resolution. The individual must be able to communicate directions and provide guidance to junior programmer/analysts, as required

    At least eight (8) years developing software using the Java programming language. At least six (6) years of this experience must have been obtained in the last eight (8) years

    At least six (6) years demonstrated experience developing software for Windows (2000, 2003, XP, Vista), UNIX and Linux (Redhat versions 3-5) operating systems.  At least two (2) years of this experience must have been obtained within the last four (4) years

    Experience planning, accomplishing goals, complicated tasks, and providing consultation on complex projects as top-level contributor or specialist

    At least six (6) years in programming and development of application software for complex systems and software testing

    Experience architecting, designing, developing, testing, and supporting integration of software systems with functional requirements within a CMMI Level 2 process structure

    Experience "wrapping" legacy systems or components as Web Services within a SOA framework

    Developing solutions integrating and extending COTS products

    Developing of Framework infrastructure and services within one of the SOA design patterns

    Experience with performance tuning and optimization of service-based Framework infrastructure and services

    Developing of custom adapters allowing the integration of legacy (i.e., capabilities not developed as services) capabilities with service-based Framework infrastructure and services

Powered by