Senior Software Developer
Develops and maintains software for NCBI's Controlled Data Access systems using C++, Python, and cloud technologies. Requires 10+ years in OOP with C++, Linux programming, SQL, REST APIs, and Agile practices; onsite in Bethesda, MD with remote option.
About the job
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
Skills
C++, Python, Bash, Linux, SQL, AWS, GCP, JSON, REST APIs, CI/CD, Docker, Jwt, Jws, Agile, .Net
Similar jobs
Backend Engineering jobsBuild and operate high-throughput blockchain infrastructure, APIs, and platform primitives integrating protocols such as Ethereum and Bitcoin with internal services. Requires 5+ years of software engineering experience, distributed-systems expertise, and hands-on crypto infrastructure experience.
Design, build, and operate Cloudflare’s globally distributed cache and reverse-proxy data plane, improving performance, correctness, and resilience across the edge. Requires at least 4 years of production systems experience and proficiency in a systems or backend language.
Senior backend engineer designing and operating reliable billing and financial systems, APIs, data models, and distributed workflows. The role requires 5+ years of professional software development experience, strong backend expertise, and collaboration across Product, Finance, Operations, and Data.
Senior individual contributor responsible for designing, building, operating, and improving large-scale backend services, APIs, and telemetry pipelines in Go and Python. The role requires production systems ownership, distributed-systems expertise, incident leadership, mentoring, and technical design leadership.
Build and operate backend services, data pipelines, storage, and retrieval systems that provide trusted context to agentic platforms and product applications. The role requires 8+ years of software engineering experience, distributed-systems expertise, cloud infrastructure knowledge, and strong data modeling skills.