Bioinformatics Software Engineer

Frederick National Laboratory
Bethesda, MD
Nov 28, 2021
Dec 01, 2021
Full Time
PROGRAM DESCRIPTIONThe Frederick National Laboratory is dedicated to improving human health through the discovery and innovation in the biomedical sciences, focusing on cancer, AIDS and emerging infectious diseases.The Biomedical Informatics and Data Science (BIDS) directorate works collaboratively and helps to fulfill the mission of Frederick National Laboratory in the areas of biomedical informatics and data science by developing and applying world leading data science and computing technologies to basic and applied biomedical research challenges, supporting critical operations, developing and delivering national data resources, and employing leading-edge software and data science to effectively enable and advance clinical trials.The Advanced Biomedical Computing Sciences (ABCS) is a part of the Biomedical Informatics and Data Science (BIDS) Program at Leidos Biomedical Research, Inc. The ABCS provides technology development, scientific consultation, collaboration and training, and high-performance computing support to the NCI and NIH scientists and staff.KEY ROLES/RESPONSIBILITIESSoftware Engineer III will:Work independently and with management to identify and define technical requirements for tasks and timelinesDesign, build, test, and deploy scalable and fault-tolerant solutions on-premise (HPC environments) and the Cloud (AWS, Azure, or GCP)Develop, document, and maintain version controlled quality code in adherence with established design patternsMock, develop, and enhance interactive UI designs and elements based on customer requirementsBuild docker and singularity containers for various genomic workflowsProvide efficient solutions to reproducible workflow orchestrations on the cloud and local HPCAutomate and perform rigorous unit testing both, in the cloud and on-premiseAuthor and manage technical documentation that concisely describes design and implementation detailsReport project status regularly to management and customersManage, publish and maintain code repository (eg. GitHub), container repository (eg. DockerHub) and pipeline repository (eg. Dockstore)Respond to new feature requests, assist issues raised by userbase and perform program tuning as neededPlan code and resource-bundle release cycles prioritizing high-demand customer feature requestsCandidates selected for interview will be requested to provide a GitHub repository or samples of code snippets for evaluation. The Software Engineer III is expected to work effectively as a member of a team; coordinate activities among other groups located at the Bethesda, Frederick, Rockville and Gaithersburg NCI campuses; follow sound scientific practices and maintain effective documentation of activities and analysesBASIC QUALIFICATIONSTo be considered for this position, you must minimally meet the knowledge, skills, and abilities listed below:Possession of a Bachelor's degree in Computer Science, Math or Biomedical Science related field from an accredited college or university or four (4) years related experience in lieu of degree. Foreign degrees must be evaluated for US equivalencyMust be able to obtain and maintain a public trust clearancePREFERRED QUALIFICATIONSCandidates with these desired skills will be given preferential consideration:Knowledge of open-source bioinformatics tools and workflows for analysis of Next-Generation sequencing datasetsExperience working with high performance clusters and cloud technologiesUnderstanding of the basic architectural principles for developing on the cloud and PaaS ServicesCertification as an AWS Solutions Architect, Cloud Security Certification, and/or OpenStack Administrator Certification is a plusExperience with one or more pipeline management frameworks like Snakemake, WDL etc. along with execution engines like CromwellExperience developing web-based application front ends utilizing one or more frameworks (eg. HTML, RShiny, Flask and Dash/Plotly)Experience with building and orchestrating containers (Docker/Singularity) using technologies like KubernetesExperience building reliable and scalable applications using cloud technologies like AWS Step Functions, AWS Batch, etc.Knowledge of building highly distributed, fault-tolerant and scalable frameworks to process large datasetsKnowledge of agile methodology for software project managementEXPECTED COMPETENCIESExtensive experience with open-source technology, software development and system engineeringExperience in one or more programming languages such as Python, PHP, Javascript, C/C++, RSolid understanding of application programming in a shared-access, git concurrent-use environment, version control, etc.Working knowledge of relational and non-relational databasesAbility to work effectively with a team on complex projects with strict requirements, yet take ownership and work independently on large portions of a project with little supervisionStrong communication (written and verbal) and organizational skills