Computer Programmer (52330)
Durham County, NC - USA
Job Summary
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 users 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.
Qualifications
Basic Qualifications:
- Bachelors degree in Computer Science and 3 years of experience.
- Skilled in JavaScript Python MySQL HTML Bash Git PostgresSQL Docker and Linux
- Experience in Scientific Data Analysis Software Development Web application development software development data modeling and data visualization.
Preferred Qualifications:
- Ability to communicate effectively orally and in writing with non-technical and technical staff
- Detail-oriented and possess strong organizational skills with the ability to prioritize multiple tasks and projects
To perform this job successfully an individual must be able to perform each essential duty satisfactorily. The requirements listed above are representative of the knowledge skill and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
GAP Solutions provides reasonable accommodations to qualified individuals with disabilities. If you need an accommodation to apply for a job email us at . You will need to reference the requisition number of the position in which you are interested. Your message will be routed to the appropriate recruiter who will assist you. Please note this email address is only to be used for those individuals who need an accommodation to apply for a job. Emails for any other reason or those that do not include a requisition number will not be returned.
Qualified applicants will receive consideration for employment without regard to race color religion sex national origin disability protected veteran status or other characteristics protected by law.
This position is contingent upon contract award.
Required Experience:
Senior IC