Lead Senior Software Engineer - Full Stack (Library of Congress)
About Ad Hoc
Ad Hoc is a technology company that empowers organizations to deliver scalable, impactful digital services. Using modern, agile methods, our team creates products that meet people's needs and transform their experience of government.
Work on Things That Matter
Our collaborations have shaped some of the defining moments in public-sector service delivery. We've helped build products that connect Veterans to tailored services, help millions access affordable health care, and support important programs like Head Start. As we work with agencies to deliver critical services, we're also changing how the government approaches technology.
Built for a Remote Life
Our culture, communications, and tools are built for remote work, enabling us to bring together top talent nationwide. At Ad Hoc, remote life empowers our teams to design work environments that fit their lives and that foster flexibility and collaboration to achieve positive outcomes for our customers.
Committed to High Expectations and a Welcoming Culture
Ad Hoc values acceptance, accountability, and humility. We aren't heroes. We learn from our mistakes and improve the process for the next time. We build small, inclusive teams to collaborate closely with our partners to solve the right problems and deliver software that works.
About the Business Unit: Federal Civilian
The Federal Civilian business unit supports many customers spanning the federal, commercial, and nonprofit space. Our customers include NASA, the General Services Administration, Office of Personnel Management, the Library of Congress, Health & Human Services, and the FDIC. We partner with these agencies to build new capabilities, deliver products, establish data as a strategic asset for informed decision-making, modernize legacy systems, and build the digital service infrastructure necessary to scale their mission impact.
Role Overview
Ad Hoc is seeking a Lead Senior Software Engineer - Full Stack to serve as Key Personnel and the technical lead on an engineering team. In this role, you will lead the design and development of the first production content-exchange bridge connecting the Library of Congress Enterprise Copyright System (ECS) and Digital Library Services (DLS) applications. This is a hands-on technical leadership position with an 80/20 split between writing production code and carrying architecture decisions, mentoring engineers, and steering technical strategy. You will solve critical coordination and technical integration challenges across complex, multi-system environments under separate administrative and contract boundaries.
Primary Responsibilities
- Technical Leadership & Architecture: Serve as the primary technical lead for a 3-5 person engineering team. Author Architecture Decision Records (ADRs), set coding standards, conduct peer code reviews, and establish quality gates with minimal oversight.
- System Integration & API Engineering: Design, build, and own integration layers and versioned API client contracts that bridge enterprise systems with differing data models, release cadences, and governance structures. Decouple consumer pipelines from upstream schema evolution.
- Full Stack Development: Write robust production code across a mixed Python (Django) and Java codebase to manage digital content, workflows, and collection functions.
- Event-Driven & Cloud Pipelines: Build and optimize scalable, event-driven processing pipelines utilizing AWS services (ECS Fargate, Lambda, S3, RDS, SNS/SQS) and manage infrastructure via Terraform.
- CI/CD & Storage Architecture: Maintain and modernize CI/CD pipelines using Jenkins and SonarQube. Implement and manage Content-Addressable Storage architectures (e.g., OCFL, Fedora, S3 content-hash keying) with fixity verification.
- Search & Indexing: Develop and maintain search indexing for content discovery and metadata querying using Solr and/or Elasticsearch.
- Agile Delivery: Partner with government Product Owners and stakeholders in a federal Agile/SCRUM environment. Lead story-point estimation, sprint planning, backlog grooming, and retrospectives.
Basic Qualifications
To be considered for this Key Personnel position, candidates must meet all of the following requirements:
- Minimum 5 years of hands-on experience in information system design, complex software development, and application programming on large-scale database management systems.
- Production application development experience using Python specifically with the Django framework.
- Demonstrated application development experience in Java within a mixed Python/Java architecture.
- Hands-on experience with AWS (ECS Fargate, Lambda, S3, RDS, SNS/SQS at minimum) and Terraform for Infrastructure as Code.
- Hands-on experience building and maintaining automated CI/CD pipelines using Jenkins and security scanning tools like SonarQube.
- Demonstrated experience with Content-Addressable Storage architectures (e.g., hash-based addressing, immutable object stores, fixity verification using Fedora Repository, OCFL, S3 content-hash keying, or Git object storage).
- Production experience with Solr and/or Elasticsearch for content discovery and metadata querying.
- Production experience with HTML5, CSS3, and JavaScript.
- Experience designing microservices architectures with versioned API client contracts, backward compatibility, and graceful degradation.
- Practiced Agile/SCRUM in a federal delivery environment, including estimation, sprint planning, and backlog grooming.
- Ability to support core business hours: 8:30 AM – 5:30 PM ET, Monday–Friday.
- Ability to complete Library of Congress IT security training and NDA prior to system access.
Preferred Qualifications
While not strictly mandatory, candidates possessing the following will be prioritized:
- Prior delivery on Library of Congress contracts under Library SDLC standards.
- Experience with digital preservation concepts and standards (OAIS, PREMIS, METS).
- Experience building or operating pipelines for malware scanning, fixity validation (MD5/SHA-256 checksums), or format characterization (TIKA, JHOVE2, DROID, Siegfried).
- Experience with TypeScript, ReactJS, or Angular.
- Experience modernizing or migrating pipeline tooling (e.g., Jenkins to GitLab CI/CD).
Benefits & Compensation
To learn more about working at Ad Hoc, please visit: https://adhocteam.us/join
- Company-subsidized health, dental, and vision insurance
- Flexible PTO
- 401(k) with employer match
- Paid parental leave after one year of service
- Employee Assistance Program
In support of various state and city equal pay transparency laws, Ad Hoc job descriptions feature the starting range we reasonably expect to pay candidates who join our team with little to no need for training on the responsibilities outlined above. Actual compensation is influenced by a wide range of factors including skill set, level of experience, and responsibility.
Starting Pay Range: $130,000 – $142,000 (Adjusted based on candidate experience and project requirements)