Just finished the staff/senior SWE loop at Lilly (2026). The system design round was the most interesting part so writing this up separately.
First, Lilly doesn't use L1-L7 leveling publicly the way FAANG does. Internally they have bands but the job posting said 'Senior Software Engineer' and that's what the interviewers treated it as. So if you're mapping from big tech: senior at Lilly is roughly L5 equivalent scope expectations.
The system design prompt I got was along the lines of: design a real-time notification system for clinical trial alerts, where research coordinators need to know immediately if a patient's vitals go outside protocol thresholds. So it's not abstract. You're expected to know or quickly absorb domain context.
What they cared about: Reliability and fault tolerance (this is healthcare adjacent so data loss is a real concern) Scalability discussion, though at Lilly's internal scale, not Twitter scale How you'd handle monitoring and alerting for the system itself Trade-offs between push vs. pull, event streaming vs. polling Clear thinking about who the consumers are and what latency actually matters
I drew a lot on Kafka for streaming, Redis for fast threshold checks, and PostgreSQL for audit logs. They engaged well with all of it. The interviewer pushed back thoughtfully on my choice to use a separate alerting service instead of embedding it in the primary pipeline.
45 minutes goes fast. Spend the first 5-8 minutes clarifying requirements before you draw anything. That alone separated candidates in their feedback to me post-offer.
Comp for this level in Indiana: base around $138k, bonus around 12-15%, decent equity via RSUs but not FAANG levels.