Back to jobs

Senior Software Developer

Overview

Black Canyon Consulting (BCC)  is searching for a Senior Software Developer to support the National Center for Biotechnology Information (NCBI)This opportunity is full time and onsite at the NCBI in Bethesda, MD and/or remote work.

The National Center for Biotechnology Information (NCBI) is part of the National Library of Medicine (NLM) at the National Institutes of Health (NIH).  NCBI is the world’s premier biomedical center hosting over six million daily users that seek research, clinical, genetic, and other information that directly impacts biomedical research and public health – at NCBI you can literally help to accelerate cures for diseases! NCBI’s wide range of applications, platforms (node, python, Django, C++, you name it) and environments (big data [petabytes], machine learning, multiple clouds) serve more users than almost any other US Government Agency according to https://analytics.usa.gov/.

We attract the best people in the business with our competitive benefits package that includes medical, dental and vision coverage, 401k plan with employer contribution, paid holidays, vacation, and tuition reimbursement. If you enjoy being a part of a high performing, professional service and technology focused organization, please apply today!

Job Description

  • The Controlled Data Access (CDA) team is responsible for developing and maintaining state of the art digital token technologies to manage users and access to the Database of Human Genotype and Phenotype (dbGaP) systems.
  • The Senior Software Developer will work with the team to develop and maintain software supporting NCBI’s Controlled Data Access technologies including the Authorized Access platform and Study Registration System. NCBI’s implementation of the Researcher Auth Service (RAS Clearinghouse), and the Data Repository Service (DRS).
  • The CDA team employs several technologies such as: SQL, C++, C#, Python, Java, JSON, JWT, JWS, YAML, OpenAPI, XML, XSL, HTML, CSS, and JavaScript. Our development environment is currently comprised of: Microsoft SQL Server, Linux, .Net, gmake, with git for source control, TeamCity/Jenkins for CI/CD.

Required Skills

  • 10+ years’ experience and demonstrated proficiency in Object-Oriented programming using C++
  • Fluency in scripting languages such as BASH, or Python
  • Programming experience in a Linux environment.
  • Experience with Cloud technologies:
  • AWS: EC2, S3
  • GCP: GKE, Google Store
  • Ability to work with JSON and similar structured document formats
  • Experience with network programming, multi-threaded programming
  • Experience with SQL and relational databases
  • Experience with HTML, CGI and REST APIs
  • Experience with Agile development practices
  • Experience with CI/CD pipelines, unit tests, integration, and regression testing

Desired Skills

  • Understanding of theory of Capability Systems
  • Understanding of JSON Web Tokens (JWT) and JSON Web Signature (JWS)
  • Experience using cryptographic algorithms and PKI
  • Experience with keystores
  • Experience with AWS Lambda and GCP Cloud Functions
  • Experience in MSSQL stored procedures
  • Experience in multi-platform development (POSIX, .NET).
  • Experience with containers (Docker)

Job Responsibilities

  • Stay up to date with new technologies and changes to the infrastructure
  • Share your knowledge with the team and help mentor others
  • Provide expertise to other developers for the design and development of new solutions
  • Participate in cross product skill sharing activities to decrease knowledge silos
  • Develop, Test, and Deploy solutions for the product line
  • Maintain and develop code in support of the product line
  • Estimate, plan, and manage all assigned tasks and report on progress
  • Document software and systems to meet product and program requirements

 

Apply for this job

*

indicates a required field

Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf


Education

Select...
Select...
Select...