{"company":{"id":19161,"name":"Duolingo","domain":"duolingo.com","url":"https://alion.io/company/duolingo-blog"},"answer":"Duolingo builds mostly with Python, Kotlin, Java, SQL. Its stack also includes AWS, Datadog, OpenTelemetry, MySQL. Python is named in 15 of the 49 job postings Duolingo published in the last 12 months (31%). Counted by Alion from the job postings of Duolingo, updated Sep 30, 2026.","window_days":365,"postings_analysed":49,"open_postings":40,"technologies_in_use":53,"modernity_score":90,"ai_adoption":true,"technologies":[{"name":"Machine Learning","layer":"practices","postings":18,"share":0.3673,"required":17,"open_postings":15,"first_seen":"2025-12-02","last_seen":"2026-08-27","median_stated_pay_usd":266800},{"name":"Python","layer":"languages","postings":15,"share":0.3061,"required":15,"open_postings":14,"first_seen":"2026-06-09","last_seen":"2026-09-15","median_stated_pay_usd":247300},{"name":"Kotlin","layer":"languages","postings":12,"share":0.2449,"required":12,"open_postings":12,"first_seen":"2026-06-09","last_seen":"2026-09-15","median_stated_pay_usd":247300},{"name":"Java","layer":"languages","postings":8,"share":0.1633,"required":8,"open_postings":7,"first_seen":"2026-06-09","last_seen":"2026-09-15","median_stated_pay_usd":null},{"name":"SQL","layer":"languages","postings":7,"share":0.1429,"required":7,"open_postings":7,"first_seen":"2026-07-28","last_seen":"2026-08-28","median_stated_pay_usd":247300},{"name":"Swift","layer":"languages","postings":7,"share":0.1429,"required":7,"open_postings":6,"first_seen":"2025-12-02","last_seen":"2026-09-15","median_stated_pay_usd":null},{"name":"A/B Testing","layer":"practices","postings":7,"share":0.1429,"required":5,"open_postings":7,"first_seen":"2026-07-10","last_seen":"2026-09-15","median_stated_pay_usd":207000},{"name":"Fine-tuning","layer":"practices","postings":4,"share":0.0816,"required":4,"open_postings":2,"first_seen":"2026-06-26","last_seen":"2026-07-29","median_stated_pay_usd":null},{"name":"LLM","layer":"ai","postings":4,"share":0.0816,"required":4,"open_postings":3,"first_seen":"2026-06-09","last_seen":"2026-09-03","median_stated_pay_usd":null},{"name":"Platform Engineering","layer":"practices","postings":4,"share":0.0816,"required":4,"open_postings":4,"first_seen":"2026-06-09","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Reinforcement Learning","layer":"practices","postings":4,"share":0.0816,"required":4,"open_postings":2,"first_seen":"2026-06-26","last_seen":"2026-07-29","median_stated_pay_usd":null},{"name":"AI Agents","layer":"practices","postings":3,"share":0.0612,"required":3,"open_postings":2,"first_seen":"2026-06-12","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"AWS","layer":"cloud","postings":3,"share":0.0612,"required":3,"open_postings":3,"first_seen":"2026-07-17","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"CI/CD","layer":"practices","postings":3,"share":0.0612,"required":3,"open_postings":3,"first_seen":"2026-08-28","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"ChatGPT","layer":"ai","postings":3,"share":0.0612,"required":3,"open_postings":1,"first_seen":"2025-10-07","last_seen":"2026-08-13","median_stated_pay_usd":null},{"name":"Datadog","layer":"cloud","postings":3,"share":0.0612,"required":3,"open_postings":3,"first_seen":"2026-06-09","last_seen":"2026-08-12","median_stated_pay_usd":null},{"name":"Grafana","layer":"cloud","postings":3,"share":0.0612,"required":3,"open_postings":3,"first_seen":"2026-06-09","last_seen":"2026-08-12","median_stated_pay_usd":null},{"name":"Kubernetes","layer":"cloud","postings":3,"share":0.0612,"required":3,"open_postings":3,"first_seen":"2026-09-02","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"OpenTelemetry","layer":"frameworks","postings":3,"share":0.0612,"required":3,"open_postings":3,"first_seen":"2026-06-09","last_seen":"2026-08-12","median_stated_pay_usd":null},{"name":"Prometheus","layer":"tools","postings":3,"share":0.0612,"required":3,"open_postings":3,"first_seen":"2026-06-09","last_seen":"2026-08-12","median_stated_pay_usd":null},{"name":"Terraform","layer":"tools","postings":3,"share":0.0612,"required":3,"open_postings":3,"first_seen":"2026-08-28","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"iOS SDK","layer":"cloud","postings":3,"share":0.0612,"required":3,"open_postings":3,"first_seen":"2025-12-02","last_seen":"2026-08-12","median_stated_pay_usd":null},{"name":"Cursor","layer":"tools","postings":2,"share":0.0408,"required":2,"open_postings":0,"first_seen":"2025-10-07","last_seen":"2025-10-07","median_stated_pay_usd":null},{"name":"Docker","layer":"tools","postings":2,"share":0.0408,"required":2,"open_postings":2,"first_seen":"2026-09-04","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Human-in-the-Loop","layer":"practices","postings":2,"share":0.0408,"required":2,"open_postings":2,"first_seen":"2026-08-17","last_seen":"2026-09-03","median_stated_pay_usd":null},{"name":"Jetpack Compose","layer":"frameworks","postings":2,"share":0.0408,"required":2,"open_postings":2,"first_seen":"2026-08-25","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"Kotlin Coroutines","layer":"other","postings":2,"share":0.0408,"required":2,"open_postings":2,"first_seen":"2026-08-25","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"MySQL","layer":"data","postings":2,"share":0.0408,"required":2,"open_postings":2,"first_seen":"2026-09-04","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Okta","layer":"cloud","postings":2,"share":0.0408,"required":2,"open_postings":2,"first_seen":"2026-08-28","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"PostgreSQL","layer":"data","postings":2,"share":0.0408,"required":2,"open_postings":2,"first_seen":"2026-09-04","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"SLI/SLO/SLA","layer":"practices","postings":2,"share":0.0408,"required":2,"open_postings":1,"first_seen":"2026-08-12","last_seen":"2026-08-12","median_stated_pay_usd":null},{"name":"Sentry","layer":"cloud","postings":2,"share":0.0408,"required":2,"open_postings":2,"first_seen":"2026-08-25","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"Computer Vision","layer":"practices","postings":2,"share":0.0408,"required":0,"open_postings":2,"first_seen":"2026-06-26","last_seen":"2026-06-26","median_stated_pay_usd":null},{"name":"Multimodal AI","layer":"practices","postings":2,"share":0.0408,"required":0,"open_postings":0,"first_seen":"2026-07-29","last_seen":"2026-07-29","median_stated_pay_usd":null},{"name":"Speech Recognition","layer":"practices","postings":2,"share":0.0408,"required":0,"open_postings":0,"first_seen":"2026-07-29","last_seen":"2026-07-29","median_stated_pay_usd":null},{"name":"Text-to-Speech","layer":"practices","postings":2,"share":0.0408,"required":0,"open_postings":0,"first_seen":"2026-07-29","last_seen":"2026-07-29","median_stated_pay_usd":null},{"name":"Apex","layer":"languages","postings":1,"share":0.0204,"required":1,"open_postings":0,"first_seen":"2026-06-12","last_seen":"2026-06-12","median_stated_pay_usd":null},{"name":"ArgoCD","layer":"tools","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Azure","layer":"cloud","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"CloudFormation","layer":"tools","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"GCP","layer":"cloud","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"GPT-4","layer":"ai","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-09-15","last_seen":"2026-09-15","median_stated_pay_usd":null},{"name":"GitHub Actions","layer":"cloud","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"GitOps","layer":"practices","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Google Play Billing","layer":"tools","postings":1,"share":0.0204,"required":1,"open_postings":0,"first_seen":"2026-08-12","last_seen":"2026-08-12","median_stated_pay_usd":null},{"name":"Istio","layer":"cloud","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Jenkins","layer":"tools","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Linux","layer":"cloud","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"MuleSoft","layer":"cloud","postings":1,"share":0.0204,"required":1,"open_postings":0,"first_seen":"2026-06-12","last_seen":"2026-06-12","median_stated_pay_usd":null},{"name":"Prompt Engineering","layer":"practices","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-08-17","last_seen":"2026-08-17","median_stated_pay_usd":null},{"name":"Service Mesh","layer":"practices","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"StoreKit","layer":"frameworks","postings":1,"share":0.0204,"required":1,"open_postings":0,"first_seen":"2026-08-12","last_seen":"2026-08-12","median_stated_pay_usd":null},{"name":"Tableau","layer":"cloud","postings":1,"share":0.0204,"required":1,"open_postings":1,"first_seen":"2026-08-28","last_seen":"2026-08-28","median_stated_pay_usd":null}],"own_products":[],"changes":{"first_appeared":[{"name":"Docker","first_seen":"2026-09-04"},{"name":"MySQL","first_seen":"2026-09-04"},{"name":"PostgreSQL","first_seen":"2026-09-04"},{"name":"Kubernetes","first_seen":"2026-09-02"},{"name":"CI/CD","first_seen":"2026-08-28"},{"name":"Terraform","first_seen":"2026-08-28"},{"name":"Okta","first_seen":"2026-08-28"},{"name":"Jetpack Compose","first_seen":"2026-08-25"}],"rising":[],"falling":[],"not_seen_180d":[{"name":"Cursor","last_seen":"2025-10-07"}]},"similar_stacks":[{"name":"Robinhood","url":"https://alion.io/company/robinhood/technologies","shared_technologies":46},{"name":"Postman","url":"https://alion.io/company/postman/technologies","shared_technologies":41},{"name":"EarnIn","url":"https://alion.io/company/earnin/technologies","shared_technologies":38},{"name":"Commure","url":"https://alion.io/company/commure/technologies","shared_technologies":39},{"name":"Nexthink","url":"https://alion.io/company/nexthink/technologies","shared_technologies":39},{"name":"ID.me","url":"https://alion.io/company/id-me/technologies","shared_technologies":38},{"name":"Smarsh","url":"https://alion.io/company/smarsh/technologies","shared_technologies":40},{"name":"Doctolib","url":"https://alion.io/company/doctolib/technologies","shared_technologies":40}],"html_url":"https://alion.io/company/duolingo-blog/technologies","json_url":"https://alion.io/company/duolingo-blog/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-09-30T10:57:24Z","generated_at":"2026-09-30T11:46:23Z"}}