Staff Software Engineer - Front End/ Back End
About the role
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 defining moments in public‑sector service delivery, helping build products that connect Veterans to tailored services, help millions access affordable health care, and support 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 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 learn from mistakes, improve processes, and build small, inclusive teams to collaborate closely with partners to solve the right problems and deliver software that works. The Federal Civilian business unit supports customers spanning federal, commercial, and nonprofit space, including NASA, GSA, OPM, Library of Congress, HHS, and FDIC, partnering to build new capabilities, deliver products, establish data as a strategic asset, modernize legacy systems, and build digital service infrastructure to scale mission impact.
Responsibilities
- Provides technical leadership for the design, development, testing, deployment, and maintenance of complex back‑end applications and services
- Plans and executes technical roadmaps for new and existing projects with minimal guidance from technical leadership
- Leads technical discussions and contributes to architecture, system design, API design, and technology selection decisions
- Designs and evaluates scalable, maintainable, secure, and reliable technical solutions while clearly communicating architectural decisions and tradeoffs
- Designs, develops, and maintains REST APIs, microservices, and event‑driven architectures
- Partners with product, design, engineering, and other cross‑functional team members to translate product and business needs into effective technical solutions
- Actively participates in planning sessions and technical discussions with clients, partners, and key stakeholders
- Breaks down complex or ambiguous technical problems, identifies constraints and dependencies, and provides clear technical direction
- Reduces technical ambiguity and debt through documentation, refactoring, automated testing, and improvements to engineering practices
- Establishes and promotes engineering standards related to code quality, testing, maintainability, security, performance, and reliability
- Performs code reviews and provides technical guidance and actionable feedback to engineers
- Mentors engineers and supports technical growth through coaching, knowledge sharing, and technical leadership
- Identifies technical risks and dependencies and provides recommendations to mitigate delivery risks
- Communicates effectively about existing systems, architectural decisions, technical constraints, and project history to support technical demonstrations, proposals, and other client‑facing activities
- Presents technical concepts and recommendations to technical and non‑technical audiences, clearly articulating implementation complexity, tradeoffs, risks, and costs
- Participates in technical interviews and evaluations of engineering candidates
- Periodically travels to collaborate with and present to clients, partners, and stakeholders
Requirements
- Bachelor’s degree and 9+ years of software engineering experience
- Relevant years of experience may be substituted for education
- Expert‑level proficiency in back‑end software engineering, with experience providing technical leadership on complex software development efforts
- Extensive experience developing production applications and services using Java and Spring Boot
- Experience designing, developing, and integrating REST APIs and microservices
- Experience designing and implementing scalable, maintainable, and reliable software solutions
- Experience providing technical guidance and mentorship to other engineers
Qualifications
- Experience developing applications, services, or automation using Python
- Experience with PostgreSQL and Elasticsearch
- Experience designing and supporting event‑driven architectures
- Experience developing and deploying applications in AWS
- Experience with AWS services, including ECS and Lambda
- Experience with containerized application development and deployment using Docker
- Experience developing and maintaining infrastructure as code using