Full-Stack Software Engineer, AI Applications
- Source: LinkedIn
- Hill Research
- On-site
- Princeton
- Full-Time
- Mid level
Job Description
About the job
Hill Research is looking for a hands-on software engineer who can build and maintain production full-stack systems, debug complex problems, improve reliability, and work effectively in an AI-enabled development environment.
About Hill Research
Hill Research develops AI-enabled software for clinical-trial and pharmaceutical workflows. Our TriClick platform helps teams process clinical documents, manage data workflows, and produce traceable outputs.
Our goal is not simply to generate results with AI. We build systems that must be reliable, secure, reproducible, and suitable for sensitive, regulated workflows.
What you’ll do
- Build and maintain full-stack product features, with Python services on the backend and TypeScript on the frontend
- Develop and debug backend APIs, database access, asynchronous jobs, queues, retries, and state transitions
- Debug production problems with evidence: reproduce, narrow, hypothesize, instrument, fix, test, and verify
- Trace changes across pull requests, commits, CI runs, artifacts, deployments, environments, logs, and user-visible behavior
- Write behavior-focused tests and verify behavior at runtime in the environment where it actually runs
- Improve reliability, failure handling, backwards compatibility, and observability in the systems you touch
- Add validation, structured outputs, fallbacks, and approval boundaries around AI-driven features, working alongside the team’s existing AI expertise
- Communicate clearly about what is confirmed, assumed, incomplete, or still unverified
What we’re looking for
- Strong practical software-engineering experience building and supporting real production software
- Strong Python, including backend APIs, services, and database work
- Strong TypeScript experience; broad fluency matters more than any specific framework
- Comfort with asynchronous processing, retries, idempotency, state, and failure recovery
- Good engineering judgment around reliability, failure handling, backwards compatibility, testing, and observability
- Willingness to debug across system boundaries, rather than treating problems outside your own component as someone else’s responsibility
- Fluency with Git, pull requests, code review, automated testing, CI/CD, and production verification
- Effective use of AI coding agents such as Codex or Claude Code, while remaining personally responsible for understanding, reviewing, testing, and verifying the resulting work
- An evidence-based approach to problem-solving: reproduce, narrow, hypothesize, instrument, fix, test, and verify
- The ability to learn unfamiliar frameworks, systems, and codebases quickly
- A can-do attitude, an ownership mentality, and clear communication about what is known, assumed, incomplete, or unverified
We value production software-engineering experience more than expertise in any particular framework or AI architecture. We are looking for someone who has already shipped and supported production software and can independently own reasonably scoped engineering problems.
Nice to have
- Experience with Django or another Python web framework (useful, not required)
- PostgreSQL or comparable relational-database experience
- Experience with AWS, containers, Redis, queues, or asynchronous job systems
- Familiarity with observability, tracing, and production debugging
- Experience with agent frameworks such as Pydantic AI or comparable tools, particularly around production concerns: structured outputs, validation, fallbacks, retries and failure recovery, provider or model switching, observability and tracing, evaluation, cost and latency optimization, and safe handling of partial or failed tool execution
- Experience with clinical, healthcare, pharmaceutical, or other regulated software
Prior clinical-trial experience is welcome but not required. We value engineers who can learn an unfamiliar regulated domain quickly, communicate uncertainty honestly, and apply sound engineering judgment.
What success looks like
During your first few months, you will:
- Independently investigate and resolve full-stack and deployment-related problems
- Deliver focused product improvements with meaningful tests
- Prove which code and artifact are actually running in each environment
- Improve the reliability and observability of backend, asynchronous, and AI-driven workflows
- Close the loop on your work rather than considering it finished once the code is merged
**How we wor…
Skills
- Python
- TypeScript
- microsoft-typescript
- Codex
- claude-by-anthropic
- claude-code
- Django
- PostgreSQL
- amazon-web-services
- Redis
- Github
You missed this one - but you don't have to keep missing out. Try Club members get matched with open opportunities before they're gone, so you're always first in line, never last.
