Epicareer Might not Working Properly
Learn More

Junior Research Software Engineer

Salary undisclosed

Apply on


Original
Simplified
This position would be responsible for carrying out the following tasks:



  • Collaboration with government, industry, and academic partners to develop prototype applications to enhance analyst processes and products. This includes analyzing the feasibility of business requirements, conceiving innovative solutions, implementing ad-hoc solutions, and assisting the team on technical matters.

  • Performs self-directed applied research transitioning ideas, theories, and methodologies published in academic journals into working prototypes.

  • Sets up computing infrastructure to support analysis efforts.

  • Performs data management tasks as necessary. This include items such as:
  • Integrating data from various sources into a centralized, cohesive platform

  • Cleaning and preprocessing data to ensure data quality and consistency for analysis

  • Supporting database maintenance tasks, such as optimizing queries, managing

  • data schemas, and ensuring data security.





  • Document software code, development processes, and workflows to ensure knowledge
    transfer and maintainability

  • Test and debug software applications to ensure proper functionality and meeting user
    requirements

  • Assists with managing the LAS computing environment.


Prototype software development

  • Collaborating with government, industry, and academic partners

  • Analyzing the feasibility of business requirements

  • Designing (including UX and system architectures) and implementing full-stack software prototypes

  • Transitioning ideas, theories, and methodologies published in academic journals into working prototypes.

  • Documenting software code, processes, and workflows

  • Integrating ML tools, 3rd party APIs, and data pipelines into prototype applications

  • Testing and debugging software applications to ensure proper functionality


Supporting Data Science and Machine Learning

  • Working in collaboration with a multidisciplinary team

  • Performing data processing tasks such as converting datasets between various complex schemas and managing inconsistent data formats

  • Running, training, and/or evaluating machine learning models


Supporting LAS computing infrastructure

  • Setting up computing infrastructure to support analysis efforts and software development.

  • Assists with managing the LAS computing environment and supporting research projects.

  • Writing shell-level scripts and linux system administration



Minimum Education and Experience

  • Master's degree in engineering or computer science background and at least one year of relevant experience or a B.S in engineering or computer science background and at least two years of relevant experience

  • Experience in architecting, designing, and building complex software systems

  • Writing software in languages such as Python, Javascript, and/or Java

  • Writing shell-level scripts and linux system administration

  • Applicable knowledge of version control systems, issue tracking, and build systems

  • Experience running, training, and/or evaluating machine learning models such as object detection, image classification, or large language models

  • Experience in data processing tasks such as converting datasets between various complex schemas and managing inconsistent data formats




Other Required Qualifications

  • The successful Research Software Developer must be an analytical problem-solver, able to learn and integrate complex technical information quickly, convey complex technical concepts to others in English and in both verbal and written form, and have a strong commitment to quality and best engineering practices.

  • Strong experience and proficiency with (1) compiled (e.g. C, C++, Java) and interpreted (e.g. PERL, Python, Ruby) programming languages, (2) structured data file format approaches such as XML or RDF, and (3) cloud and/or web-services technologies and tools, such as PHP, JSP, or SOAP is required.

  • Analytical ability to study and assimilate technical structure, data, and requirements of an ongoing research effort developed by the project team.

  • Demonstrated ability to work in a collaborative team within a dynamic, exploratory environment.

  • Ability to work in a self-motivated manner with a minimal amount of supervision.




Preferred Qualifications

  • Experience with container technologies such as Docker

  • Experience with virtualized environments such as Amazon's AWS

  • Familiarity/Experience with rapid prototyping of software systems and solutions

  • Experience with image, audio, or text processing

  • Experience integrating ML models into software prototypes

  • Experience working in a classified development environment

  • Active security clearance is a plus

  • The ideal candidate will have experience developing complex software in a team environment, have experience with game development and/or the development of artificial intelligences systems or web-based services, and have strong communication skills. Prior experience in industry or academic research projects is a strong plus.

  • Both applicants with Ph.D.s and research experience and applicants without Ph.D.s but with industry experience are encouraged to apply.




Required License(s) or Certification(s)
N/A



Valid NC Driver's License required
No


Commercial Driver's License required
No
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.
Report this job