{"company":{"id":57,"name":"Spotify","domain":"spotify.com","url":"https://alion.io/company/spotify"},"answer":"Spotify builds mostly with Python, Java, SQL, JavaScript. Its stack also includes PyTorch, GCP, Google BigQuery, React.js. Python is named in 29 of the 100 job postings Spotify published in the last 12 months (29%). Counted by Alion from the job postings of Spotify, updated Sep 28, 2026.","window_days":365,"postings_analysed":100,"open_postings":48,"technologies_in_use":97,"modernity_score":84,"ai_adoption":true,"technologies":[{"name":"Machine Learning","layer":"practices","postings":43,"share":0.43,"required":43,"open_postings":21,"first_seen":"2025-12-10","last_seen":"2026-09-24","median_stated_pay_usd":324993},{"name":"Python","layer":"languages","postings":29,"share":0.29,"required":29,"open_postings":13,"first_seen":"2026-03-30","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"PyTorch","layer":"frameworks","postings":22,"share":0.22,"required":22,"open_postings":11,"first_seen":"2026-04-28","last_seen":"2026-09-21","median_stated_pay_usd":324993},{"name":"Java","layer":"languages","postings":21,"share":0.21,"required":20,"open_postings":6,"first_seen":"2025-12-10","last_seen":"2026-09-22","median_stated_pay_usd":189000},{"name":"SQL","layer":"languages","postings":20,"share":0.2,"required":17,"open_postings":12,"first_seen":"2026-05-26","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"AI Agents","layer":"practices","postings":18,"share":0.18,"required":18,"open_postings":6,"first_seen":"2026-04-14","last_seen":"2026-09-10","median_stated_pay_usd":324993},{"name":"Recommender Systems","layer":"practices","postings":18,"share":0.18,"required":16,"open_postings":7,"first_seen":"2026-04-17","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"GCP","layer":"cloud","postings":18,"share":0.18,"required":14,"open_postings":5,"first_seen":"2025-12-10","last_seen":"2026-09-24","median_stated_pay_usd":212000},{"name":"LLM","layer":"ai","postings":16,"share":0.16,"required":16,"open_postings":6,"first_seen":"2026-04-29","last_seen":"2026-09-22","median_stated_pay_usd":null},{"name":"Google BigQuery","layer":"data","postings":16,"share":0.16,"required":15,"open_postings":9,"first_seen":"2025-12-10","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"JavaScript","layer":"languages","postings":14,"share":0.14,"required":10,"open_postings":3,"first_seen":"2026-03-16","last_seen":"2026-09-01","median_stated_pay_usd":null},{"name":"A/B Testing","layer":"practices","postings":11,"share":0.11,"required":11,"open_postings":4,"first_seen":"2026-05-28","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Multimodal AI","layer":"practices","postings":11,"share":0.11,"required":11,"open_postings":4,"first_seen":"2026-04-28","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"React.js","layer":"frameworks","postings":11,"share":0.11,"required":10,"open_postings":3,"first_seen":"2026-03-16","last_seen":"2026-08-15","median_stated_pay_usd":null},{"name":"Scala","layer":"languages","postings":11,"share":0.11,"required":10,"open_postings":2,"first_seen":"2026-05-04","last_seen":"2026-09-22","median_stated_pay_usd":null},{"name":"TypeScript","layer":"languages","postings":11,"share":0.11,"required":10,"open_postings":3,"first_seen":"2026-03-16","last_seen":"2026-08-15","median_stated_pay_usd":null},{"name":"Flyte","layer":"cloud","postings":9,"share":0.09,"required":9,"open_postings":2,"first_seen":"2026-05-28","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"BigQuery","layer":"data","postings":9,"share":0.09,"required":8,"open_postings":9,"first_seen":"2025-12-10","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Fine-tuning","layer":"practices","postings":8,"share":0.08,"required":8,"open_postings":3,"first_seen":"2026-04-29","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"GraphQL","layer":"tools","postings":8,"share":0.08,"required":8,"open_postings":2,"first_seen":"2026-03-16","last_seen":"2026-08-15","median_stated_pay_usd":null},{"name":"Ray","layer":"frameworks","postings":8,"share":0.08,"required":8,"open_postings":3,"first_seen":"2026-05-08","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"PostgreSQL","layer":"data","postings":7,"share":0.07,"required":7,"open_postings":2,"first_seen":"2026-03-30","last_seen":"2026-08-02","median_stated_pay_usd":null},{"name":"TensorFlow","layer":"frameworks","postings":7,"share":0.07,"required":7,"open_postings":2,"first_seen":"2026-04-28","last_seen":"2026-07-26","median_stated_pay_usd":null},{"name":"AWS","layer":"cloud","postings":7,"share":0.07,"required":4,"open_postings":3,"first_seen":"2025-12-10","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"FSDP","layer":"frameworks","postings":6,"share":0.06,"required":6,"open_postings":2,"first_seen":"2026-06-18","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Knowledge Distillation","layer":"practices","postings":6,"share":0.06,"required":6,"open_postings":2,"first_seen":"2026-06-18","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"LoRA","layer":"ai","postings":6,"share":0.06,"required":6,"open_postings":2,"first_seen":"2026-06-18","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Reinforcement Learning","layer":"practices","postings":6,"share":0.06,"required":6,"open_postings":5,"first_seen":"2026-05-08","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"SFT","layer":"practices","postings":6,"share":0.06,"required":6,"open_postings":2,"first_seen":"2026-06-18","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"gRPC","layer":"tools","postings":6,"share":0.06,"required":6,"open_postings":2,"first_seen":"2025-12-10","last_seen":"2026-08-15","median_stated_pay_usd":null},{"name":"PEFT","layer":"ai","postings":6,"share":0.06,"required":4,"open_postings":2,"first_seen":"2026-06-18","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"CI/CD","layer":"practices","postings":5,"share":0.05,"required":5,"open_postings":2,"first_seen":"2026-07-10","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Computer Vision","layer":"practices","postings":5,"share":0.05,"required":5,"open_postings":4,"first_seen":"2026-05-28","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Kotlin","layer":"languages","postings":5,"share":0.05,"required":5,"open_postings":2,"first_seen":"2026-03-18","last_seen":"2026-07-21","median_stated_pay_usd":null},{"name":"Claude","layer":"ai","postings":5,"share":0.05,"required":3,"open_postings":1,"first_seen":"2026-05-14","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"C++","layer":"languages","postings":4,"share":0.04,"required":4,"open_postings":4,"first_seen":"2026-02-26","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Platform Engineering","layer":"practices","postings":4,"share":0.04,"required":4,"open_postings":2,"first_seen":"2026-05-04","last_seen":"2026-08-13","median_stated_pay_usd":null},{"name":"Post-training","layer":"practices","postings":4,"share":0.04,"required":4,"open_postings":4,"first_seen":"2026-07-10","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Kubernetes","layer":"cloud","postings":4,"share":0.04,"required":3,"open_postings":2,"first_seen":"2026-07-31","last_seen":"2026-08-12","median_stated_pay_usd":null},{"name":"Figma","layer":"cloud","postings":3,"share":0.03,"required":3,"open_postings":2,"first_seen":"2026-08-28","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Flink","layer":"frameworks","postings":3,"share":0.03,"required":3,"open_postings":1,"first_seen":"2026-07-10","last_seen":"2026-08-12","median_stated_pay_usd":null},{"name":"Function Calling","layer":"practices","postings":3,"share":0.03,"required":3,"open_postings":1,"first_seen":"2026-05-07","last_seen":"2026-08-13","median_stated_pay_usd":null},{"name":"Google GKE","layer":"cloud","postings":3,"share":0.03,"required":3,"open_postings":1,"first_seen":"2026-07-31","last_seen":"2026-08-02","median_stated_pay_usd":null},{"name":"Human-in-the-Loop","layer":"practices","postings":3,"share":0.03,"required":3,"open_postings":0,"first_seen":"2026-05-06","last_seen":"2026-07-14","median_stated_pay_usd":null},{"name":"Prompt Engineering","layer":"practices","postings":3,"share":0.03,"required":3,"open_postings":1,"first_seen":"2026-08-13","last_seen":"2026-09-01","median_stated_pay_usd":null},{"name":"Spark","layer":"cloud","postings":3,"share":0.03,"required":3,"open_postings":1,"first_seen":"2026-04-29","last_seen":"2026-08-01","median_stated_pay_usd":null},{"name":"Speech Recognition","layer":"practices","postings":3,"share":0.03,"required":3,"open_postings":3,"first_seen":"2026-07-30","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Swift","layer":"languages","postings":3,"share":0.03,"required":3,"open_postings":2,"first_seen":"2026-06-23","last_seen":"2026-07-06","median_stated_pay_usd":null},{"name":"dbt","layer":"tools","postings":3,"share":0.03,"required":3,"open_postings":2,"first_seen":"2026-06-22","last_seen":"2026-08-19","median_stated_pay_usd":null},{"name":"Tableau","layer":"cloud","postings":3,"share":0.03,"required":2,"open_postings":3,"first_seen":"2026-07-29","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Airflow","layer":"cloud","postings":2,"share":0.02,"required":2,"open_postings":0,"first_seen":"2026-07-10","last_seen":"2026-08-01","median_stated_pay_usd":null},{"name":"Azure","layer":"cloud","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-09-01","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Canva","layer":"tools","postings":2,"share":0.02,"required":2,"open_postings":2,"first_seen":"2026-09-17","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"ChatGPT","layer":"ai","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-05-14","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"DPO","layer":"practices","postings":2,"share":0.02,"required":2,"open_postings":2,"first_seen":"2026-07-10","last_seen":"2026-07-10","median_stated_pay_usd":null},{"name":"Diffusion Models","layer":"practices","postings":2,"share":0.02,"required":2,"open_postings":2,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Flyway","layer":"tools","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-30","median_stated_pay_usd":null},{"name":"GRPO","layer":"practices","postings":2,"share":0.02,"required":2,"open_postings":2,"first_seen":"2026-07-10","last_seen":"2026-07-10","median_stated_pay_usd":null},{"name":"Go","layer":"languages","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-08-13","last_seen":"2026-08-13","median_stated_pay_usd":null},{"name":"JAX","layer":"frameworks","postings":2,"share":0.02,"required":2,"open_postings":2,"first_seen":"2026-04-28","last_seen":"2026-04-29","median_stated_pay_usd":null},{"name":"JOOQ","layer":"frameworks","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-30","median_stated_pay_usd":null},{"name":"Material UI","layer":"frameworks","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-30","median_stated_pay_usd":null},{"name":"Model Context Protocol","layer":"tools","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-08-13","last_seen":"2026-08-13","median_stated_pay_usd":null},{"name":"Model Distillation","layer":"practices","postings":2,"share":0.02,"required":2,"open_postings":2,"first_seen":"2026-07-30","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Next.js","layer":"frameworks","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-30","median_stated_pay_usd":null},{"name":"NumPy","layer":"frameworks","postings":2,"share":0.02,"required":2,"open_postings":2,"first_seen":"2026-07-10","last_seen":"2026-07-10","median_stated_pay_usd":null},{"name":"PPO","layer":"practices","postings":2,"share":0.02,"required":2,"open_postings":2,"first_seen":"2026-07-10","last_seen":"2026-07-10","median_stated_pay_usd":null},{"name":"RLHF","layer":"practices","postings":2,"share":0.02,"required":2,"open_postings":2,"first_seen":"2026-07-10","last_seen":"2026-07-10","median_stated_pay_usd":null},{"name":"Reward Modeling","layer":"practices","postings":2,"share":0.02,"required":2,"open_postings":2,"first_seen":"2026-07-10","last_seen":"2026-07-10","median_stated_pay_usd":null},{"name":"Ruby","layer":"languages","postings":2,"share":0.02,"required":2,"open_postings":0,"first_seen":"2026-08-21","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"Ruby on Rails","layer":"frameworks","postings":2,"share":0.02,"required":2,"open_postings":0,"first_seen":"2026-08-21","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"Storybook","layer":"tools","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-30","median_stated_pay_usd":null},{"name":"Tailwind CSS","layer":"frameworks","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-30","median_stated_pay_usd":null},{"name":"Text-to-Speech","layer":"practices","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-07-14","last_seen":"2026-07-30","median_stated_pay_usd":null},{"name":"Tool Use","layer":"practices","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-05-07","last_seen":"2026-08-13","median_stated_pay_usd":null},{"name":"styled-components","layer":"frameworks","postings":2,"share":0.02,"required":2,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-30","median_stated_pay_usd":null},{"name":"Linux","layer":"cloud","postings":2,"share":0.02,"required":1,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Looker","layer":"cloud","postings":2,"share":0.02,"required":1,"open_postings":2,"first_seen":"2026-07-29","last_seen":"2026-08-19","median_stated_pay_usd":null},{"name":"MySQL","layer":"data","postings":2,"share":0.02,"required":0,"open_postings":0,"first_seen":"2026-08-21","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"Agentic Workflows","layer":"practices","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2026-08-13","last_seen":"2026-08-13","median_stated_pay_usd":null},{"name":"Bootstrap","layer":"frameworks","postings":1,"share":0.01,"required":1,"open_postings":0,"first_seen":"2026-09-01","last_seen":"2026-09-01","median_stated_pay_usd":null},{"name":"Claude Code","layer":"tools","postings":1,"share":0.01,"required":1,"open_postings":0,"first_seen":"2026-08-10","last_seen":"2026-08-10","median_stated_pay_usd":null},{"name":"Django","layer":"frameworks","postings":1,"share":0.01,"required":1,"open_postings":0,"first_seen":"2026-07-28","last_seen":"2026-07-28","median_stated_pay_usd":null},{"name":"Edge AI","layer":"practices","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"ElasticSearch","layer":"data","postings":1,"share":0.01,"required":1,"open_postings":0,"first_seen":"2026-07-28","last_seen":"2026-07-28","median_stated_pay_usd":null},{"name":"Exoplayer","layer":"frameworks","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2026-02-26","last_seen":"2026-02-26","median_stated_pay_usd":null},{"name":"GitHub","layer":"cloud","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Google Bigtable","layer":"data","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2025-12-10","last_seen":"2025-12-10","median_stated_pay_usd":null},{"name":"Knowledge Graph","layer":"practices","postings":1,"share":0.01,"required":1,"open_postings":0,"first_seen":"2026-05-28","last_seen":"2026-05-28","median_stated_pay_usd":null},{"name":"LLM Guardrails","layer":"practices","postings":1,"share":0.01,"required":1,"open_postings":0,"first_seen":"2026-06-30","last_seen":"2026-06-30","median_stated_pay_usd":null},{"name":"Objective-C","layer":"languages","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2026-06-23","last_seen":"2026-06-23","median_stated_pay_usd":null},{"name":"Reranking","layer":"practices","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2026-09-08","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Rust","layer":"languages","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2026-02-26","last_seen":"2026-02-26","median_stated_pay_usd":null},{"name":"SIEM","layer":"cloud","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Semantic Search","layer":"practices","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2026-09-08","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Semantic Search","layer":"practices","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2026-09-08","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Windows","layer":"cloud","postings":1,"share":0.01,"required":1,"open_postings":1,"first_seen":"2026-09-04","last_seen":"2026-09-04","median_stated_pay_usd":null}],"own_products":[],"changes":{"first_appeared":[{"name":"Diffusion Models","first_seen":"2026-09-21"},{"name":"Canva","first_seen":"2026-09-17"},{"name":"Azure","first_seen":"2026-09-01"},{"name":"Figma","first_seen":"2026-08-28"},{"name":"Ruby","first_seen":"2026-08-21"},{"name":"Ruby on Rails","first_seen":"2026-08-21"},{"name":"MySQL","first_seen":"2026-08-21"},{"name":"Prompt Engineering","first_seen":"2026-08-13"}],"rising":[{"name":"Java","share_from":5,"share_to":24},{"name":"JavaScript","share_from":0,"share_to":17},{"name":"React.js","share_from":0,"share_to":13},{"name":"TypeScript","share_from":0,"share_to":13},{"name":"GCP","share_from":9,"share_to":19},{"name":"GraphQL","share_from":0,"share_to":8},{"name":"PostgreSQL","share_from":0,"share_to":8},{"name":"CI/CD","share_from":0,"share_to":7}],"falling":[{"name":"Multimodal AI","share_from":36,"share_to":4},{"name":"Machine Learning","share_from":68,"share_to":38},{"name":"TensorFlow","share_from":23,"share_to":3},{"name":"PyTorch","share_from":36,"share_to":19},{"name":"AI Agents","share_from":27,"share_to":17}],"not_seen_180d":[]},"similar_stacks":[{"name":"Handshake","url":"https://alion.io/company/handshake/technologies","shared_technologies":68},{"name":"Deliveroo","url":"https://alion.io/company/deliveroo/technologies","shared_technologies":63},{"name":"Reddit","url":"https://alion.io/company/reddit/technologies","shared_technologies":71},{"name":"JioStar","url":"https://alion.io/company/jio-star/technologies","shared_technologies":80},{"name":"Instacart","url":"https://alion.io/company/instacart/technologies","shared_technologies":67},{"name":"Scale AI","url":"https://alion.io/company/scale-ai/technologies","shared_technologies":78},{"name":"Rockstar","url":"https://alion.io/company/rockstar/technologies","shared_technologies":66},{"name":"Cohere","url":"https://alion.io/company/cohere/technologies","shared_technologies":66}],"html_url":"https://alion.io/company/spotify/technologies","json_url":"https://alion.io/company/spotify/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-09-28T14:03:51Z","generated_at":"2026-09-29T01:54:20Z"}}