Job Description
We are looking for a Software Development Engineer II who is a strong, independent builder with growing design maturity. You take ownership of significant features and components, drive them from design through production, and operate them with high standards. You write high-quality code, make sound technical decisions with appropriate trade-offs, and proactively improve the systems you touch. You are developing your ability to influence design direction, mentor junior engineers, and think beyond your immediate deliverables to the health of the broader system.
Key Responsibilities
Write high-quality, well-tested production code using modern languages, design patterns, and frameworks. Hold yourself and your peers to high standards through thorough code reviews.
Design and build for scale and resilience. Consider failure modes, rate limits, traffic bursts, and downstream dependency health in your designs. Implement patterns like backpressure, circuit breakers, and graceful degradation.
Contribute to system-level design discussions. Participate actively in design reviews — propose solutions, challenge assumptions, and help the team arrive at better architectures.
Mentor junior engineers. Support SDE-Is through code reviews, pairing sessions, and technical guidance. Help them grow their skills and develop good engineering habits.
Identify and resolve technical debt proactively. Improve code quality, simplify complex logic, optimize performance, and refactor systems to support future growth — without being asked.
Contribute to team processes and culture. Participate in sprint planning, retrospectives, and on-call rotations. Raise the bar for engineering practices and help improve team velocity.
A day in the life
You start the day reviewing a design you wrote for a new feature in the compliance system — incorporating feedback from a senior engineer on edge cases around jurisdiction-specific rules. You update the design, get alignment, and start building. Mid-morning, you review a code change from a junior engineer, leaving constructive feedback on error handling and test coverage. After lunch, you investigate a latency spike in one of your services — tracing requests through logs and metrics, identifying a downstream throttling issue, and implementing a retry optimization. You join a design review for a cross-team project, asking questions about failure modes and proposing an alternative caching approach. You close the day deploying your feature to a pre-production environment, validating metrics, and updating the team on progress in standup.
