Company
Agave (YC W22)
Annual salary
$140k – $285k/yr
Location
San Francisco, CA
Listed
115d ago
- Experience:
- 2 to 8 years
- Workplace:
- Candidates based in the US only. We can sponsor visas for Canadian candidates, but they must relocate to SF.
- Visa:
- Visa sponsorship available
- Equity:
- 0.05% - 0.25%
Remote (listed in San Francisco, CA). Visa sponsorship available.
Send us your LinkedIn and CV. If your experience fits, we'll introduce you to the recruiter filling this role.
Apply for a referral →The recruiter emails you before anything happens and may suggest other jobs that suit you better.
About this Role
tl;dr: we're looking for a engineer who loves simplifying complex systems, unifying fragmented data, and building high-scale backend systems. Learn more about us here (link).
Frequently Asked Questions
How do I apply for the Software Engineer (Remote) role at Agave (YC W22)? +
Use the Apply for a referral button on this page to send us your LinkedIn and CV. If your experience fits, we'll introduce you to the recruiter filling this role. They'll email you to check you're interested, then put you forward for this job or others that suit you better. It's free.
What does this Agave (YC W22) role pay? +
The listing gives $140k – $285k/yr.
Is this role remote? +
Yes, the listing is remote. Candidates based in the US only. We can sponsor visas for Canadian candidates, but they must relocate to SF. Visa sponsorship available.
Interview Prep
Sample questions for a Software Engineer role, written in-house to help you prepare.
How do you approach designing a system when the requirements are still likely to change?
I design around the parts of the problem I'm confident are stable, like the core data model, and keep the parts most likely to change, like specific business rules, isolated behind clear interfaces. Over-engineering flexibility everywhere just adds complexity to parts of the system that were never going to change.
What's your process for debugging an issue that only reproduces in production, not locally?
I add targeted logging around the suspected area and compare production data or configuration against my local setup, since an issue that's environment-specific usually traces back to a real difference between the two rather than a fundamentally different bug. I avoid making speculative changes without first confirming where the divergence is.
How do you decide when a piece of code needs a test versus when it's low-risk enough to skip?
I prioritize tests for logic with real business consequences if it breaks, or code that's likely to be touched again later by someone unfamiliar with it. Simple, rarely-changed glue code gets less coverage, since the cost of a thorough test there often exceeds the risk it's protecting against.
How do you evaluate a proposed technical solution's trade-offs, like performance versus maintainability?
I start from the actual constraint that matters for this specific system, whether that's genuinely performance-critical or whether maintainability is the bigger long-term cost, rather than defaulting to whichever trade-off I personally prefer. Optimizing for performance the system doesn't need just adds complexity nobody benefits from.
Related Roles
Browse all startup roles
Salaried roles at startups, AI companies and established businesses, all filled by referral. One application covers every role.
View all startup roles →