Jobs last updated 5,738 active jobs
← Back to jobs

Computer Programmer (52330)

GAP SolutionsHerndon, NCRemoteFull-time

Salary not published by the employer

Timing

Posted by employer
Jun 18, 2025, 10:55 AM UTC
1 year ago
Detected by our platform
Aug 14, 2026, 2:59 PM UTC
3 hours ago
Last confirmed present
Aug 14, 2026, 2:59 PM UTC
Detected closed

Description

Position Objective: The Computer Programmer will independently provide support services to satisfy the overall operational objectives of the National Institute on Environmental Health Sciences within the National Institutes of Health. Specifically, this position will support efforts by the NIEHS Office of Data Science to advance the application of scientific data towards improving public health.     Duties and Responsibilities: Develop software tools using modern programming languages and practices, including Javascript, CSS, HTML, Python, and R Engage with users of software tools to identify and resolve software bugs and to add in requested functionality Monitor, evaluate, test, report on, and provide critical assessment of software and systems development and engineering practices, in particular for scientific data-centric tools Support development, testing, and deployment of web- and data- centric tools for scientific data visualization, analysis, and exploration 5 Provide backend software development to support data capture, processing, management, analysis, and visualization tasks Produce well-written, annotated source-code, including unit-tests to prevent regression issues Prepare technical reports and manuscripts Design application-programming interfaces API to provide access to data and software services Provide guidance in architecture during the planning phases of software design Follow agile development methodologies Work with staff to develop, test and refine novel programming methods, toolkits, and algorithms Conceive of and create data processing pipelines that allow for the efficient movement, pre-processing and display of data Provide technical experience reviewing, analyzing, and modifying existing programming systems Encodes, tests, debugs and installs new programs using various programming languages. Develop scientific applications using R, Shiny andor Python Deploy applications to systems; manage library dependencies 2 Collaborate with staff to develop, test, refine and apply advanced statistical and computational methods Install software testing programs on datasets to identify issues and propose solutions Test and maintain software products to ensure strong functionality and optimization Perform installation and maintenance of virtual machines Develop or utilize new or existing technology to develop dynamic web applications or software tools for bioinformatics application Develops and schedules data backups, security patches or upgrades, etc. Maintain and monitor applications, databases, or software tools Test and install the software updates Collaborate with staff to develop database application and tools for supporting bioinformatics and scientific computing research projects Prepare roadmaps, schedules, status reports, plans and recommendations Maintain and follow SOPs, configuration management, upgrades and availability Provide written technical descriptions of implemented algorithms; contribute to the publication of the labs software and research Prepare roadmaps, schedules, status reports, plans and recommendations Maintain and follow SOPs, configuration management, upgrades and availability Provide written technical descriptions of implemented algorithms; contribute to the publication of the labs software and research Manage and troubleshoot deployments and image builds 1 Develop new code and refinetroubleshoot existing code Troubleshoot scripts and programs to ensure successful use of said scripts and programs Document in-house software for training and reference purposes Provides assistance with planning, building and maintaining applications to meet an end user's needs. Provide support for development of methods in data science Implement improvements to development activities to speed development of applications, databases, or software tools Perform system design including creation of documents, object diagrams and prototypes Provide support to facility users and staff; resolve or escalate issues based on criteria Plan, build and maintain applications to meet end users need Troubleshoots any issues or problems and implements appropriate corrective actions. Manage and troubleshoot deployments and image builds 3 Develop new code and refinetroubleshoot existing code Troubleshoot scripts and programs to ensure successful use of said scripts and programs Document in-house software for training and reference purposes Develop and implement new or major revisions to applications, databases, or software tools Support hardware and biological software by providing technical support to staff Evaluates impact of programming modifications. Plan and carry out quality control programs 4 Implement improvements to development activities to speed development of applications, databases, or software tools Develop and implement new or major revisions to applications, databases, or software tools Implement improvements to operations Work with staff to improve efficiency of the current data processing by creating new programming approaches Write custom code in scripting language for the automation of data transfer, storage, and backup Work products and documents related to providing support and consultation in the areas of scientific computation, application-development and computer modeling. Work products and documents related to providing development support for web-base software and content-management solutions. Work products and documents related to providing backend software development using Python programming language and Django web-framework. Work products and documents related to providing frontend software development using JavaScript programming language and libraries. Work products and documents related to preparing technical reports and manuscripts; perform algorithm development and implementation; provide guidance on architecture; follow agile development methodologies.