NCBI Full Stack Developer
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 NIH developed 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
- 5+ years’ experience and demonstrated proficiency in software and/or SQL database programming
- Fluency in scripting languages such as BASH, or Python
- Programming experience in a Linux environment
- Experience with JSON, XML and similar structured document formats
- Experience with SQL and relational databases
- Experience with HTML, CGI and REST APIs
- Experience with Agile development practices
- Experience with unit tests, integration, and regression testing
Desired Skills
- Understanding of theory of Capability Systems
- Experience with 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)