Mission: "To unlock the potential of human creativity—by giving a million creative artists the opportunity to live off their art and billions of fans the opportunity to enjoy and be inspired by it." — Daniel Ek
Engineering Philosophy: "Alignment enables autonomy." — Spotify Engineering Culture
Innovation Ethos: "Speed of iteration trumps quality of iteration." — Daniel Ek
§1 · Quick Start
§1.1 · One-Minute Setup
Activate this skill for Spotify-style engineering:
# Add to CLAUDE.md
echo "Apply spotify-engineer: Squad autonomy with alignment, BaRT recommendation thinking, audio-first design, data-driven personalization." >> CLAUDE.md
§1.2 · Essential Context
| Company Fact | Value | Engineering Impact |
|---|---|---|
| Revenue | €15.67B+ ($17B+ USD) 2024 | Margin engineering priority (32.2% gross margin) |
| Employees | 7,691 (2024) | Small teams, high autonomy per capita |
| Monthly Active Users | 675 million (Q4 2024) | Global scale, real-time personalization |
| Premium Subscribers | 263 million (Q4 2024) | Conversion optimization, retention focus |
| Podcast Titles | 6.5 million | Audio expansion beyond music |
| Markets | 184 countries | Localization at scale, compliance complexity |
| First Full Year Profit | 2024 | Efficiency + growth balance achieved |
§1.3 · Core Capabilities
- Squad Autonomy with Alignment — Small cross-functional teams owning missions end-to-end
- BaRT Recommendation Systems — Bandits for Recommendations as Treatments ML framework
- Audio-First Architecture — Streaming optimized for music, podcasts, audiobooks
- Data-Driven Personalization — Real-time taste profiles, Discover Weekly, Wrapped
- GCP-Native Infrastructure — Kubernetes, microservices, event-driven architecture
§2 · Spotify Engineering Culture
§2.1 · Founding Principles
The Stockholm Genesis (2006) Daniel Ek and Martin Lorentzon founded Spotify in Sweden with a radical insight: piracy wasn't a moral failure but a usability problem. Create a service better than piracy—faster, easier, more enjoyable—and people would pay for it.
"Better Than Piracy" Philosophy:
- Instant access to any song (no download wait)
- Social discovery (see what friends listen to)
- Legal peace of mind
- Artist compensation (controversial but directionally correct)
The 2012 Scaling Manifesto Henrik Kniberg and Anders Ivarsson published "Scaling Agile @ Spotify"—a whitepaper that became the most influential organizational design document in modern tech. It described:
| Element | Purpose | Size |
|---|---|---|
| Squads | Autonomous, cross-functional teams | 6-10 people |
| Tribes | Collection of related squads | 40-150 people |
| Chapters | Discipline-based skill communities | Cross-squad |
| Guilds | Voluntary interest communities | Company-wide |
⚠️ Reality Check: Spotify has publicly acknowledged the model was aspirational, not reality. The true lesson: principles over structure, autonomy with accountability.
§2.2 · Alignment Enables Autonomy
Daniel Ek's Leadership Evolution:
Ek transformed from "controller" to "context-provider":
| Phase | Leadership Style | Quote |
|---|---|---|
| Startup | Direct product control | "I thought I needed to control prioritization" |
| Scale | Strategic context sharing | "I needed to share more context to enable better decisions" |
| Mature | Editor-in-chief model | "Why does this matter?" |
Context Over Control Framework:
Instead of: "Build feature X by March"
Provide: "Competitor Y launched Z, impacting engagement metric W.
Our hypothesis: [X] addresses this. You decide how."
§2.3 · Engineering Values
Spotify's Cultural Code:
- Innovation Over Imitation — First to personalized playlists, now AI DJ
- Data Informed, Not Data Driven — Human judgment + metrics
- Fail Fast, Learn Faster — "Speed of iteration trumps quality of iteration"
- User Obsession — Every decision traced to listener experience
- Band Spirit — "We are a band, not an orchestra" (improvisation within structure)
§3 · Technical Architecture
§3.1 · The Migration Journey
On-Premise to GCP (2015-2018):
Spotify migrated from owned data centers to Google Cloud Platform—one of the largest cloud migrations in history.
| Phase | Timeline | Action |
|---|---|---|
| Planning | 2015 | Evaluate AWS vs GCP, choose Google for ML/ BigQuery |
| Hybrid | 2016 | Run services in both environments |
| Migration | 2017 | Standardized 2-week sprint program for all teams |
| Completion | 2018 | All 4 data centers retired |
Migration Principles:
- Lift and shift first — Move without redesign to minimize risk
- Rewrite strategically — Optimize after migration, not during
- Visualization — Real-time color-coded migration status dashboard
- Teaching over doing — Build migration guides, not migration teams
§3.2 · Microservices at Scale
Service Architecture:
Spotify runs 1,000+ microservices on Google Kubernetes Engine (GKE):
| Layer | Technology | Purpose |
|---|---|---|
| Edge | Google Cloud Load Balancer | Global traffic distribution |
| API Gateway | Custom + Envoy | Routing, rate limiting, auth |
| Services | Java, Scala, Python, Node.js | Business logic |
| Messaging | Google Pub/Sub | Async event streaming |
| Data | Bigtable, Cassandra, PostgreSQL | Storage by access pattern |
| Cache | Redis, Cloud Memorystore | Hot data acceleration |
| ML | TensorFlow Extended (TFX) | Model training and serving |
Communication Patterns:
# Urgent, synchronous: gRPC with Protobuf
# Use for: Playback requests, search, user auth
response = grpc_client.GetTrack(track_id, timeout=50ms)
# Non-urgent, asynchronous: Pub/Sub
# Use for: Analytics, playlist updates, recommendation refresh
pubsub_client.publish('playlist-events', event_data)
§3.3 · The C4 Model & Backstage
C4 Model for Architecture Visualization:
Spotify developed a hierarchical approach to architecture documentation:
| Level | View | Purpose |
|---|---|---|
| C1 | System Context | How Spotify fits in the world |
| C2 | Container | Apps, data stores, their interactions |
| C3 | Component | Internal structure of services |
| C4 | Code | Class/ function level (rarely needed) |
Backstage: The Developer Portal:
Spotify open-sourced Backstage in 2020 (now CNCF Incubating Project):
- 14,000+ software components tracked internally
- 2,700+ engineers use it daily
- Central nervous system for infrastructure visibility
- Plugin ecosystem for extensibility
§4 · BaRT: The Recommendation Engine
§4.1 · Bandits for Recommendations as Treatments
Core Algorithm:
BaRT treats each recommendation as a "treatment" in a multi-armed bandit problem—balancing exploration (new content) with exploitation (known preferences).
# Simplified BaRT logic
def bart_recommend(user_context, candidate_items):
"""
user_context: {time_of_day, device, location, recent_listens}
candidate_items: pool of songs/podcasts to consider
"""
for item in candidate_items:
# Expected reward = predicted engagement
reward = model.predict(user_context, item)
# Exploration bonus for uncertain predictions
uncertainty = model.uncertainty(user_context, item)
# Upper Confidence Bound selection
score = reward + exploration_factor * uncertainty
return sorted(candidate_items, key=lambda x: x.score, reverse=True)[:N]
Three Pillars of BaRT:
| Component | Technique | Purpose |
|---|---|---|
| Collaborative Filtering | Matrix factorization, ALS | "Users like you enjoyed..." |
| Natural Language Processing | Word2Vec, BERT | Analyze lyrics, descriptions, reviews |
| Audio Analysis | CNNs on spectrograms | Understand musical qualities |
§4.2 · Discover Weekly Architecture
The Flagship Personalization Product:
Discover Weekly launched in 2015, generating 30 personalized songs every Monday for each user.
Scale Metrics:
- 2.3 billion hours streamed in first 5 years
- Generated for 100+ million users weekly
- 40,000+ tracks added to platform daily
Pipeline Architecture:
Discover Weekly Generation:
Data Collection:
- User listening history (implicit feedback)
- Playlist additions (explicit curation)
- Skip behavior (negative signal)
- Save/like actions (strong positive)
Processing:
- Collaborative filtering matrix factorization
- Audio feature extraction (tempo, key, energy)
- NLP on lyrics and metadata
- Artist/song embeddings
BaRT Selection:
- Balance: 30% familiar, 70% discovery
- Diversity: Spread across genres/moods
- Freshness: Weight recently added tracks
- Quality: Filter low-completion-rate songs
Delivery:
- Pre-compute Monday 12:01 AM local time
- Cache for instant load
- A/B test variations continuously
§4.3 · Personalization Signals
Explicit vs Implicit Feedback:
| Signal Type | Examples | Weight |
|---|---|---|
| Explicit | Likes, playlist adds, shares | High |
| Implicit | Completion %, skips, replays | Medium-High |
| Contextual | Time, device, location, activity | Medium |
| Social | Friend listening, collaborative playlists | Medium |
| Temporal | Recent vs historical behavior | Decay function |
§5 · Audio Engineering
§5.1 · Streaming Infrastructure
The Playback Pipeline:
User Request → Edge Cache → CDN (Google/CloudFront) →
Origin Server → Audio File → Adaptive Bitrate Selection →
Device Playback (with prefetching)
Audio Formats:
| Quality | Bitrate | Use Case |
|---|---|---|
| Normal | 96 kbps | Mobile data conservation |
| High | 160 kbps | Default, balanced quality |
| Very High | 320 kbps Ogg Vorbis | Premium, WiFi preferred |
| Lossless | FLAC (up to 1411 kbps) | Audiophile tier |
Adaptive Streaming:
Spotify uses Ogg Vorbis (not MP3) with seamless bitrate switching:
# Simplified adaptive bitrate logic
def select_bitrate(network_quality, user_preference):
if network_quality == 'excellent' and user_preference == 'lossless':
return 'FLAC'
elif network_quality in ['good', 'excellent']:
return '320kbps'
elif network_quality == 'fair':
return '160kbps'
else: # poor
return '96kbps' # Maintain playback continuity
§5.2 · Audio Feature Extraction
Understanding Music at Scale:
Spotify analyzes every track in its catalog (100M+ songs) for:
| Feature | Range | Description |
|---|---|---|
| Acousticness | 0.0-1.0 | Confidence track is acoustic |
| Danceability | 0.0-1.0 | Tempo, rhythm stability, beat strength |
| Energy | 0.0-1.0 | Intensity and power |
| Instrumentalness | 0.0-1.0 | Likelihood no vocals |
| Liveness | 0.0-1.0 | Presence of audience |
| Loudness | -60 to 0 dB | Overall volume |
| Speechiness | 0.0-1.0 | Presence of spoken words |
| Tempo | BPM | Speed/beats per minute |
| Valence | 0.0-1.0 | Musical positivity |
Machine Learning Pipeline:
# Audio analysis with CNNs
class AudioFeatureExtractor:
def extract(self, audio_file):
# Convert to spectrogram
spectrogram = self.to_spectrogram(audio_file)
# CNN feature extraction
features = cnn_model.predict(spectrogram)
return {
'acousticness': features[0],
'danceability': features[1],
# ... etc
}
§6 · Example Scenarios
§6.1 · Recommendation Algorithm Optimization
Context: Improve Discover Weekly's "surprise and delight" factor while maintaining listening completion rates.
Spotify-Engineer Approach:
Phase 1: Hypothesis Formation
# Current metrics baseline
current_metrics = {
'playlist_completion_rate': 0.45, # 45% of tracks played >30s
'save_rate': 0.12, # 12% of tracks saved/added
'artist_discovery_rate': 0.67, # 67% new to user
'weekly_return_rate': 0.78 # 78% users check Monday
}
# Hypothesis: Increase diversity constraint will improve
# long-term retention without hurting completion
hypothesis = """
If we increase genre diversity from 3 to 5 genres per playlist,
then weekly return rate will increase 5% (to 0.82),
while maintaining completion rate > 0.40.
"""
Phase 2: Experiment Design
Experiment: DW_Diversity_Expansion_Q2
Treatment (50% users):
- Min genres per playlist: 5 (up from 3)
- Max tracks per genre: 8 (down from 12)
- Cross-genre similarity threshold: 0.65 (down from 0.75)
Control (50% users):
- Existing algorithm parameters
Metrics:
Primary: weekly_return_rate
Guardrails:
- completion_rate (must stay > 0.40)
- save_rate (must stay > 0.10)
- skip_rate (must stay < 0.35)
Duration: 6 weeks
Sample: 50 million users (random assignment)
Phase 3: Analysis & Decision
experiment_results = {
'weekly_return_rate': {
'treatment': 0.81,
'control': 0.78,
'lift': 0.038,
'p_value': 0.001,
'significant': True
},
'completion_rate': {
'treatment': 0.43,
'control': 0.45,
'lift': -0.044,
'p_value': 0.02,
'significant': True,
'within_guardrail': True # > 0.40 threshold
}
}
# Decision framework
def make_decision(results):
if (results['weekly_return_rate']['significant'] and
results['weekly_return_rate']['lift'] > 0.03 and
all(m['within_guardrail'] for m in results.values())):
return 'LAUNCH'
elif results['weekly_return_rate']['lift'] < 0:
return 'ABANDON'
else:
return 'ITERATE'
decision = make_decision(experiment_results) # LAUNCH
§6.2 · Audio Streaming Infrastructure Design
Context: Design a system to handle 50M+ concurrent playback sessions with sub-100ms latency globally.
Spotify-Engineer Approach:
Scale Requirements:
Traffic:
peak_concurrent_users: 50_000_000
requests_per_second: 1_000_000
global_regions: 12
latency_target_p99: 100ms
availability_slo: 99.99%
Data:
audio_catalog: 100_000_000 tracks
average_track_size: 8MB (320kbps)
daily_streaming_hours: 500_000_000
Architecture:
┌─────────────────────────────────────────────────────────────┐
│ Global Anycast Load Balancer │
│ (Geo-DNS routing) │
└──────────────────────┬──────────────────────────────────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ EU-West │ │US-Central│ │APAC-East│
│ Region │ │ Region │ │ Region │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
└─────────────┼─────────────┘
▼
┌─────────────────────────┐
│ Playback Gateway │
│ (Authentication + │
│ Rate Limiting) │
└───────────┬─────────────┘
│
┌───────────┴───────────┐
▼ ▼
┌──────────┐ ┌──────────┐
│ CDN │◄─────────►│ CDN │
│ (Cache) │ Cache │ (Cache) │
└────┬─────┘ Miss └────┬─────┘
│ │
└──────────┬────────────┘
▼
┌─────────────────────┐
│ Origin Storage │
│ (Google Cloud │
│ Storage + │
│ Regional caches) │
└─────────────────────┘
Technology Choices:
| Component | Selection | Rationale |
|---|---|---|
| CDN | Google Cloud CDN + Fastly | Multi-CDN for redundancy |
| Edge Cache | Redis Cluster | <5ms audio metadata lookups |
| Object Storage | Google Cloud Storage | 99.999999999% durability |
| Streaming Protocol | HTTP/2 with byte-range | Resumable, seekable |
| Encoding | Ogg Vorbis + FLAC | Quality vs size optimization |
Failure Handling:
playback_resilience = {
'cdn_failure': {
'detection': 'health_check_failure > 3',
'mitigation': 'failover_to_secondary_cdn',
'rto': '5_seconds'
},
'origin_unavailable': {
'detection': 'origin_5xx_rate > 1%',
'mitigation': 'serve_from_cache_only',
'rto': 'immediate'
},
'network_degradation': {
'detection': 'latency_p99 > 200ms',
'mitigation': 'reduce_bitrate_adaptively',
'rto': 'immediate'
}
}
§6.3 · Squad Model Implementation
Context: Organize a growing engineering team (30→150 engineers) for autonomy without chaos.
Spotify-Engineer Approach:
Organizational Design:
Structure:
Squads:
- name: Playlist Experience
mission: "Make playlist creation and management delightful"
size: 8
skills: [iOS, Android, Backend, ML, Design]
- name: Discovery Algorithms
mission: "Surface the right content at the right time"
size: 7
skills: [Data Science, ML Engineering, Backend]
- name: Audio Infrastructure
mission: "Deliver audio flawlessly worldwide"
size: 9
skills: [SRE, Backend, Networking, Audio]
Tribes:
- name: Personalization
squads: [Discovery Algorithms, Recommendations, Home Feed]
tribe_lead: "Director of Personalization"
- name: Core Experience
squads: [Playlist Experience, Search, Player]
tribe_lead: "Director of Core Experience"
Chapters:
- name: iOS Engineering
chapter_lead: "Senior iOS Engineer"
members: [squad_member_1, squad_member_2, ...]
- name: Machine Learning
chapter_lead: "Principal ML Engineer"
members: [squad_member_3, squad_member_4, ...]
Guilds:
- name: Web Performance
coordinator: "volunteer_lead"
activities: [monthly_meetups, best_practices_docs]
- name: Diversity in Tech
coordinator: "volunteer_lead"
activities: [mentorship, recruiting_events]
Decision Rights Matrix:
| Decision | Squad | Tribe | Chapter | Company |
|---|---|---|---|---|
| Tech stack choice | ✅ | Advisory | Guidelines | Guardrails |
| Sprint planning | ✅ | — | — | — |
| Quarterly goals | Input | ✅ | Input | Context |
| Performance review | Input | Input | ✅ | — |
| Hiring standards | Input | Input | ✅ | Policy |
| Architecture changes | ✅ | Review | Guidelines | — |
| Cross-squad dependencies | Negotiate | Resolve | — | — |
Health Check Framework:
squad_health_dimensions = {
'delivery': 'Are we delivering value consistently?',
'speed': 'Are we moving fast enough?',
'quality': 'Is our tech quality sustainable?',
'support': 'Do we have the support we need?',
'mission': 'Is our mission clear and impactful?',
'fun': 'Are we enjoying the work?'
}
# Rating: green (good), yellow (needs attention), red (critical)
# Discussed in retrospectives, tracked over time
§6.4 · Podcast Platform Expansion
Context: Transform Spotify from music streaming to "world's leading audio platform" through podcast investment.
Spotify-Engineer Approach:
Strategic Phases:
| Phase | Timeline | Investment | Outcome |
|---|---|---|---|
| 1. Land Grab | 2019-2020 | $1B+ acquisitions | Content + infrastructure |
| 2. Monetization | 2020-2022 | SAI + Megaphone ($235M) | Ad tech infrastructure |
| 3. Maturation | 2023-2024 | Efficiency focus | First full year profit |
Key Acquisitions:
| Company | Cost | Purpose |
|---|---|---|
| Gimlet Media | $195M | Premium content production |
| Anchor | $154M | Creator tools and hosting |
| Parcast | $55M | Genre storytelling |
| Megaphone | $235M | Ad insertion platform |
Technology: Streaming Ad Insertion (SAI)
# Dynamic ad insertion in podcasts
class StreamingAdInsertion:
def insert_ads(self, podcast_episode, user_context):
# 1. Determine ad break points
break_points = self.detect_natural_breaks(podcast_episode)
# 2. Select relevant ads
for break_point in break_points:
ad = self.ad_selector.select(
user_demographics=user_context.demographics,
user_interests=user_context.interests,
podcast_genre=podcast_episode.genre,
inventory_availability=self.get_inventory()
)
# 3. Stitch seamlessly
yield ad
# 4. Track impressions in real-time
self.analytics.record_impression(ad, user_context)
Joe Rogan Deal Evolution:
| Deal | Year | Value | Terms |
|---|---|---|---|
| Original | 2020 | $100M+ | Spotify exclusive |
| Renewal | 2024 | $250M | Multi-platform, Spotify handles ads |
The shift from exclusive to multi-platform reflects strategic learning: content attracts, but infrastructure (ad tech, distribution) retains value.
§6.5 · Real-Time Personalization System
Context: Build a system that adapts recommendations in real-time based on immediate user behavior.
Spotify-Engineer Approach:
Architecture:
User Action → Event Stream (Pub/Sub) →
Stream Processor (Apache Beam) →
Feature Store Update →
Model Inference (TF Serving) →
Recommendation Refresh
Real-Time Features:
| Feature | Latency | Source |
|---|---|---|
| Currently playing | <1s | Playback events |
| Skip/replay | <1s | Interaction events |
| Context (time, location) | <100ms | Context service |
| Recent listening | <5s | Stream aggregation |
| Taste profile | <100ms | Feature store |
Online Learning:
class RealTimePersonalization:
def __init__(self):
self.feature_store = FeatureStore()
self.model = TensorFlowServing('bart_v2')
def on_user_action(self, user_id, action):
# Update real-time features
self.feature_store.increment(
f"user:{user_id}:session_plays",
action.track_id
)
# Trigger recommendation refresh if significant
if self.is_significant_action(action):
new_recommendations = self.model.predict(
user_id=user_id,
context=self.get_context(user_id),
recent_actions=self.get_session_history(user_id, last_minutes=10)
)
# Push to client via WebSocket
self.push_recommendations(user_id, new_recommendations)
def is_significant_action(self, action):
# Completion, save, or playlist add = high signal
return action.type in ['track_complete', 'save', 'playlist_add']
A/B Testing at Scale:
Experiment System:
Traffic Splitting:
- User-level assignment (consistent experience)
- 10,000+ concurrent experiments
- Mutually exclusive experiment groups
Guardrail Metrics:
- Listening time per user
- Session frequency
- Premium conversion
- Churn rate
Local Experiments:
- Swedish users (home market)
- New feature validation
- Faster iteration cycles
§7 · Tool Reference
§7.1 · Spotify Open Source Projects
| Project | Purpose | GitHub |
|---|---|---|
| Backstage | Developer portal platform | spotify/backstage |
| Scio | Scala API for Apache Beam | spotify/scio |
| Voyager | Nearest-neighbor search | spotify/voyager |
| Pedalboard | Python audio effects | spotify/pedalboard |
| Basic Pitch | Audio-to-MIDI conversion | spotify/basic-pitch |
| Ruler | Android app size analysis | spotify/ruler |
| XCRemoteCache | iOS build acceleration | spotify/xcremotecache |
| Klio | Audio processing pipelines | spotify/klio |
§7.2 · Technology Equivalents
| Spotify Internal | Open Source | Cloud Equivalent |
|---|---|---|
| Event Delivery | Apache Kafka | Google Pub/Sub |
| Data Processing | Apache Beam + Scio | Google Dataflow |
| Workflow Orchestration | Flyte | Apache Airflow |
| Feature Store | Feast | Tecton |
| ML Platform | TFX | Vertex AI |
| Service Mesh | Custom Envoy | Istio |
§8 · Quality Checklist
§8.1 · Pre-Implementation Review
- Mission statement clear and measurable
- Success metrics defined (engagement, retention, or monetization)
- User research or data insight backing the feature
- A/B test plan designed (if applicable)
- Cross-squad dependencies identified
- SLOs defined for new services
§8.2 · Code Quality Gates
- Unit tests >80% coverage
- Integration tests for service boundaries
- Feature flags for gradual rollout
- Monitoring and alerting configured
- Documentation updated (runbooks, ADRs)
§8.3 · Launch Readiness
- Canary deployment tested
- Rollback plan documented
- Guardrail metrics monitored
- Post-launch analysis plan ready
- On-call runbook updated
§9 · Risk Framework
§9.1 · Spotify-Specific Risk Categories
| Category | Examples | Mitigation |
|---|---|---|
| License Risk | Catalog removal, royalty disputes | Diversified content, direct artist deals |
| Engagement Risk | Recommendation quality decline | A/B testing, guardrail metrics |
| Scale Risk | Service degradation at peak | Autoscaling, circuit breakers |
| Privacy Risk | Data exposure, GDPR violations | Privacy by design, data minimization |
| Competitive Risk | Apple/Amazon feature parity | Speed of iteration, differentiation |
§9.2 · Decision Framework
High Impact + High Urgency = Escalate to Tribe Lead
High Impact + Low Urgency = Squad decision with Chapter review
Low Impact + High Urgency = Squad decision, document rationale
Low Impact + Low Urgency = Squad decision, standard process
§10 · Learning Resources
§10.1 · Essential Reading
| Resource | Topic | Priority |
|---|---|---|
| "Scaling Agile @ Spotify" (Kniberg/Ivarsson) | Squad model origins | Essential |
| Spotify Engineering Blog | Current practices | Essential |
| BaRT Research Papers (RecSys 2018) | Recommendation systems | Advanced |
| "Software Engineering at Google" (O'Reilly) | General engineering excellence | Essential |
| Daniel Ek shareholder letters | Strategy and vision | Context |
§10.2 · Spotify Engineering Blog Highlights
- Multi-Agent Architecture for Advertising (2026)
- Background Coding Agents: 1,500+ PRs (2025)
- Confidence: Experimentation Platform (2025)
- Backstage 5th Anniversary (2025)
- Shuffle: Making Random Feel Human (2025)
§11 · Quick Reference Cards
§11.1 · Squad Health Check
□ Delivery: Are we shipping value consistently?
□ Speed: Can we move fast without breaking things?
□ Quality: Is our tech debt manageable?
□ Support: Do we have the resources we need?
□ Mission: Is our purpose clear?
□ Fun: Are we enjoying the journey?
Rating: 🟢 Green | 🟡 Yellow | 🔴 Red
Discuss monthly, track trends over time
§11.2 · Feature Launch Checklist
1. DEFINE → Clear hypothesis and success metrics
2. BUILD → Behind feature flag
3. TEST → Internal dogfooding
4. CANARY → 1% → 5% → 10% rollout
5. MONITOR → Guardrail metrics dashboard
6. DECIDE → Launch, iterate, or rollback
7. LEARN → Document insights for org
§11.3 · Recommendation Quality Assessment
□ Diversity: Not all same artist/genre
□ Discovery: Mix of familiar and new
□ Relevance: Matches user context (time, mood)
□ Freshness: Recently released content included
□ Quality: High completion rate tracks
□ Serendipity: Pleasant surprises
End of Skill Document
"Music is the strongest form of magic." — Marilyn Manson
"Our job is to connect the artist with the fan. Everything else is just technology." — Daniel Ek
Workflow
Phase 1: Assessment
| Done | Phase completed | | Fail | Criteria not met |
- Gather requirements
| Done | All tasks completed | | Fail | Tasks incomplete |
- Analyze current state
Phase 2: Planning
| Done | Phase completed | | Fail | Criteria not met |
- Develop approach
| Done | All tasks completed | | Fail | Tasks incomplete |
- Set timeline
Phase 3: Execution
| Done | Phase completed | | Fail | Criteria not met |
- Implement solution
| Done | All tasks completed | | Fail | Tasks incomplete |
- Verify progress
Phase 4: Review
| Done | Phase completed | | Fail | Criteria not met |
- Validate outcomes
| Done | All tasks completed | | Fail | Tasks incomplete |
- Document lessons
Examples
Example 1: Standard Scenario
Input: Design and implement a spotify engineer solution for a production system Output: Requirements Analysis → Architecture Design → Implementation → Testing → Deployment → Monitoring
Key considerations for spotify-engineer:
- Scalability requirements
- Performance benchmarks
- Error handling and recovery
- Security considerations
Example 2: Edge Case
Input: Optimize existing spotify engineer implementation to improve performance by 40% Output: Current State Analysis:
- Profiling results identifying bottlenecks
- Baseline metrics documented
Optimization Plan:
- Algorithm improvement
- Caching strategy
- Parallelization
Expected improvement: 40-60% performance gain
§ 1.2 · Decision Framework — Weighted Criteria (0-100)
| Criterion | Weight | Assessment Method | Threshold | Fail Action |
|---|---|---|---|---|
| Quality | 30 | Verification against standards | Meet all criteria | Revise and re-verify |
| Efficiency | 25 | Time/resource optimization | Within budget | Optimize process |
| Accuracy | 25 | Precision and correctness | Zero defects | Debug and fix |
| Safety | 20 | Risk assessment | Acceptable risk | Mitigate risks |
Composite Decision Rule:
- Score ≥85: Proceed
- Score 70-84: Conditional with monitoring
- Score <70: Stop and address issues
§ 1.3 · Thinking Patterns — Mental Models
| Dimension | Mental Model | Application |
|---|---|---|
| Root Cause | 5 Whys Analysis | Trace problems to source |
| Trade-offs | Pareto Optimization | Balance competing priorities |
| Verification | Swiss Cheese Model | Multiple verification layers |
| Learning | PDCA Cycle | Continuous improvement |
Domain Benchmarks
| Metric | Industry Standard | Target |
|---|---|---|
| Quality Score | 95% | 99%+ |
| Error Rate | <5% | <1% |
| Efficiency | Baseline | 20% improvement |
Done Criteria
- All tasks completed per specification
- Quality standards met
- Stakeholder approval received
Fail Criteria
- Quality defects detected
- Requirements not met
- Timeline/budget overrun