5+ years of experience in full-stack development with Python and Django.
Strong understanding of REST APIs and front-end technologies (JavaScript, HTML, CSS).
Experience with AWS environments and on-premises infrastructure.
Proven ability to lead lifecycle upgrades and manage application dependencies.
Familiarity with secure authentication and authorization protocols (JWT, OAuth2).
Knowledge of database integration with Oracle, PostgreSQL, and AWS RDS.
Experience in application security best practices and vulnerability remediation.
Responsibilities
Design, develop, test, and maintain Python/Django applications and supporting components.
Lead lifecycle upgrades for Python and Django applications, ensuring compatibility and smooth transitions.
Build and validate Python runtimes from source when necessary, ensuring compatibility with internal systems.
Modernize shared Django infrastructure libraries and ensure compatibility with the latest Python versions.
Implement and troubleshoot secure authentication and authorization mechanisms across applications.
Connect Django applications to various databases while ensuring secure credential management.
Enforce application security measures and address vulnerabilities identified in penetration tests.
Benefits
Collaborative work environment with cross-functional teams.
Opportunities for professional development and mentoring.
Access to cutting-edge technologies and tools.
Flexible work arrangements, including remote work options.
Focus on modernizing and enhancing existing systems.
Full Job Description
Position Overview
We are seeking a senior full-stack developer to own and modernize shared Python/Django capabilities and serve as the technical escalation point for complex, cross-application work. The role combines hands-on development with architecture, secure identity and database integration, lifecycle upgrades, production troubleshooting, documentation, and mentoring. The developer will collaborate with application teams, DevTools/DevOps, NIH CIT, Security, and database administrators across on-premises and AWS environments.
Key Responsibilities
Application engineering. Design, develop, test, and maintain Python/Django applications, reusable libraries, REST APIs, and supporting JavaScript/HTML/CSS components.
Python and Django lifecycle upgrades. Lead end-of-life upgrades across the application portfolio: inventory dependencies, assess compatibility, update requirements and internal packages, refactor deprecated APIs, test across environments, coordinate consuming teams, and publish migration and rollback guidance.
Runtime and package engineering. Build, validate, package, and distribute Python runtimes from source when approved installers are unavailable; verify checksums, test suites, pip/virtual-environment behavior, and compatibility with internal artifact repositories.
Shared Django platform ownership. Modernize shared Django infrastructure libraries and related packages; deliver Python 3.12+ compatibility, automated tests, versioning, deprecation paths, architecture diagrams, runbooks, and coordinated adoption by dependent applications.
PIV, SSO, authentication, and authorization. Implement and troubleshoot NIH Login/SiteMinder, CAS and django-cas-ng, AWS Cognito, JWT/OAuth2, Django authentication backends, authorization decorators, role and permission mapping, and secure session handling.
Secure database integration. Connect Django applications to Oracle, PostgreSQL, AWS RDS, and other approved data sources through centralized password-lookup and secrets-management services; support credential rotation, least privilege, and removal of hard-coded secrets.
Application security. Enforce Content Security Policy (CSP), XSS/CSRF protections, HSTS, secure headers and cookies, dependency remediation, and penetration-test findings; favor external scripts or nonce/hash-based CS