Software Engineer (Analytics)

Chantilly/McLean, VA

JOB DESCRIPTION

The Software Engineer will design, develop, code, test, and debug complex software products, or make significant enhancements to existing software. The ideal candidate is a hands-on platform builder with significant experience in developing scalable data platforms, with experience in business intelligence, analytics, data science and data products. They must have strong, firsthand technical expertise in a variety of configuration management and big data technologies and the proven ability to fashion robust scalable solutions that can manage large data sets. They must be at ease working in an agile environment with little supervision. This person should embody a passion for continuous improvement and innovation.  This engineer will assume wide-ranging projects regarding ETL, migration of processes and services from on-premises to cloud environments, Artificial Intelligence/Machine Learning (AI/ML), machine translation, and similar efforts.

QUALIFICATIONS

  • Bachelor’s Degree in Computer Science, Electrical or Computer Engineering or a related technical discipline, or the equivalent combination of education, technical training, or work/military experience

  • Minimum eight (8) years of related software development experience

REQUIRED KNOWLEDGE/SKILLS

  • Hands-on development experience and facility with Python, C#, and Java

  • Experience in AI/ML technology and development

  • Experience in cloud technology and development

DESIRED KNOWLEDGE/SKILLS

  • Facility with .net environments

  • Hands-on experience with data formats including XML, PCAP, images, and media

  • Facility with Tika

  • Hands-on experience working with Hadoop, Hive, Pig, Map Reduce, Spark, Rabbit MQ, Kafka, Flume

  • DevOps experience building and deploying cloud infrastructure with technologies like ansible, chef, puppet, etc.

  • Experience with test-driven development and automated testing frameworks

  • Experience with Scrum/Agile development methodologies

  • Capable of delivering on multiple competing priorities with little supervision

  • Excellent verbal and written communication skills

  • Familiarity with the following software/tools:

    • Infrastructure automation technologies like Docker, Vagrant, etc.

    • Build automation technologies like Maven, Jenkins, etc.

    • Monitoring technologies like Nagios, Ganglia, etc.

    • Building APIs and services using REST, SOAP, etc.

    • Elastic Search and relational databases

    • Oracle databases

KEY RESPONSIBILITIES

  • Analyze, design and develop tests and test-automation suites

  • Design and develop a processing platform using various configuration management technologies

  • Test software development methodology in an agile environment

  • Provide ongoing maintenance, support and enhancements in existing systems and platforms

  • Collaborate cross-functionally with data scientists, analyst, project managers and other engineers

  • Troubleshoots complex problems and provides customer support for software systems and application issues

  • Provide recommendations for continuous improvement

  • Work alongside other engineers on the team to sustain and advance our organization’s capabilities