ProSync

Data & Data Management Software Engineer III (ID) (085)

ID
2020-3414
# of Openings
1
Category
Software Engineering
Clearance Level
TS/SCI with Polygraph
Location
US-MD-Annapolis Junction
Posted
5/5/2020

Overview

Are you looking for a new and challenging career? ProSync is seeking an experienced Data & Data Management Software Engineer III with experience writing scripts in Bash/Python, using Unix Command Line, developing with Java in a Unix environment and other systems, concepts and technologies such as: GPFS, HDFS, NoSQL, IaC, Data Flows, NiFi abd Unix deployment configuration/ troubleshooting. If you're ready to make an impact and join ProSync's amazing community of talented individuals we invite you to apply to be a part of our team!

Responsibilities

 

The Software Engineer designs, develops, tests, deploys, documents, maintains, and enhances complex and diverse software systems based upon documented requirements. These systems might include, but are not limited to, processing­ intensive analytics, novel algorithm development, manipulation of extremely large data sets, real-time systems, business management information systems, and systems which incorporate data repositories, data transport services, and  application and systems development and monitoring. Works individually or as part of a team. Reviews and tests software components for adherence to the 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 Open Source Software (OSS) and/or Commercial Off­The-Shelf (COTS) Government Off-The-Shelf (GOTS) software in place of new development, and requirements analysis and synthesis from system level to individual software components. Experience developing in Unix. Ability to perform shell scripting. Working knowledge of Configuration Management (CM) tools and Web Services implementation.

 

 

As part of the The High Performance Data Analytics (HPDA) effort you will help create, explore, evaluate, and demonstrate the application of High Performance Computing (HPC) technologies to high-priority data analytic challenges. This task will develop and maintain software components that help establish HPDA capabilities and transform the automatic SIGINT processing infrastructure and HPC mission towards this goal. This task will explore the application of HPC systems in both data-at-rest and streaming data scenarios. Additionally, this effort will collect data regarding unique benchmarks and compare those results against commodity cloud systems.

 

The software components developed  will enhance and complement the Government's existing capabilities and will be done in a way that is compliant with the Government's architectural vision and objectives in order to do the following:

  • Prototype, develop and sustain streaming analytic system software
  • Prototype, develop and sustain machine learning analytic system software
  • Prototype, develop and sustain graph analytic system software
  • Develop and sustain data analytic middleware components
  • Develop and sustain file system and storage components
  • Develop and enhance NIFI processors as needed
  • Develop data stores, both metadata and content
  • Conduct data analysis on large datasets using modern data science principles, tools and techniques

 

 As part of your Development Activities you shall:

  • Provide parallel development and integration of key components and services that, when completed, will support the migration of mission applications. The contractor shall team with the Government POC to devise integrated scheduled for component and service development. The development team will apply agile development methods, but shall be constrained by a solid architecture under the control of the Government technical lead.
  • Continually revisit schedule and technical progress relative to plan and adjust accordingly. Provide a set of documentation necessary to support the integration of the new services.
  • The software development should comply with HPC Software Capabilities and Services software engineering practices governing coding standards, code reviews, unit testing, configuration management and documentation.

There is a need for development of SW services that enable efficient management of analytic work-flows across the HPC Enterprise while maintaining security separation.

 

Title of Position: Software Engineer (SWE-3)

Qualifications

 

Clearance Requirement:

  • U.S. Citizenship and TS/SCI with Polygraph required
  • CCAs will not be considered

 

SWE-3 Qualifications:

 

Master's degree in Computer Science or related discipline from an accredited college or university, plus five (5) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.

 

OR

 

Bachelor's degree in Computer Science or related discipline from an accredited college or university, plus seven(7) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity

 

OR

 

Nine (9) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.

 

The Software Engineer (SWE-3) shall posess the following capabilities:

 

  • Analyze user requirements to derive software design and performance
  • Debug existing software and correct
  • Design and code new software or modify existing software to add new
  • Write or review software and system
  • Integrate existing software into new or modified systems or operating
  • Develop simple data queries for existing or proposed databases or data
  • Software development using languages such as C, C++, Python, Ruby, Perl, JavaScript,
  • Has experience with agile development
  • Has experience with source code control systems, such as
  • Serve as team lead at the level appropriate to the software development process being used on any particular
  • Design and development of relational and non-relational database
  • Use of orchestration frameworks such as Spring and
  • Familiarization with queue management systems
  • Develop or implement algorithms to meet or exceed system performance and functional
  • Develop and execute test procedures for software
  • Develop software solutions by analyzing system performance standards and conferring with users or system engineers; analyzing systems flow, data usage and work processes; and investigating problem
  • Modify existing software 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 outcomes and consequences of design decisions
  • Java development using the Eclipse IDE (Integrated Development Environment).
  • Development of Java 2 Enterprise Edition (J2EE) applications
  • Experience using collaboration and software development tools (ie. Atlassian).
  • Software development using continuous integration practices
  • Experience with container technologies (ie. Docker).
  • Unix shell scripting
  • Development of event driven or data driven analytics
  • Development of cloud-based solutions and
  • Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints. Perform quality control on team
  • Recommend and implement suggestions for improving documentation and software development process
  • 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
  • Confer with system engineers and hardware· engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements, and
  • Coordinate software installation on a system and monitor performance to ensure operational specifications are
  • Recommend new technologies and processes for complex software
  • Serve as the technical lead of multiple software development
  • Select the software development process in coordination with the customer and system
  • Ensure quality control of all developed and modified
  • Delegate programming and testing responsibilities to one or more teams and monitor their performance

Task Required Skills:

  • Experience developing scripts using Bash/Python
  • Experience using the Unix command line
  • Experience developing with Java in a Unix environment
  • Experience using multiple files systems such as GPFS and HDFS
  • Experience with NoSQL technologies such as Accumulo
  • Experience with IaC concepts and tools such as Ansible, Puppet, SaltStack, and Chef
  • Experience with Data Flows and NiFi
  • Experience configuring, troubleshooting and sustaining systems in a large Unix deployment

Task Desired Skills:

  • General HPC technical knowledge regarding compute, network, memory, and storage system components
  • Familiar with the Atlassian Tool Suite (Confluence, JIRA, Bitbucket)

 

ProSync's executive team creates and expands business opportunities, recruits talented and intelligent technology professionals, and fosters a company culture that empowers ProSync professionals to shape and mold the direction of their careers and the direction of ProSync.

Employees of ProSync Technology Group, LLC and applicants for employment shall be afforded equal opportunity in all aspects of employment without regard to race, color, religion, political affiliation, national origin, disability, sex, age, or marital status.

   

Email Staffing@prosync.com for more specifics regarding the position.

Options

Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
Share on your newsfeed