Computer Programmer (52330)
GAP SolutionsHerndon, NCRemoteFull-time
Salary not published by the employer
Timing
- Posted by employer
- Jun 18, 2025, 10:55 AM UTC1 year ago
- Detected by our platform
- Aug 14, 2026, 2:59 PM UTC3 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.