{"company":{"id":17888,"name":"Canonical","domain":"canonical.com","url":"https://alion.io/company/canonical"},"answer":"Canonical builds mostly with Python, Go, C++, Rust. Its stack also includes Linux, Debian, PostgreSQL, Trino. Linux is named in 40 of the 69 job postings Canonical published in the last 12 months (58%). Counted by Alion from the job postings of Canonical, updated Sep 30, 2026.","window_days":365,"postings_analysed":69,"open_postings":67,"technologies_in_use":53,"modernity_score":67,"ai_adoption":false,"technologies":[{"name":"Linux","layer":"cloud","postings":40,"share":0.5797,"required":38,"open_postings":39,"first_seen":"2019-06-27","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"Python","layer":"languages","postings":21,"share":0.3043,"required":19,"open_postings":20,"first_seen":"2019-06-27","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"Debian","layer":"cloud","postings":17,"share":0.2464,"required":13,"open_postings":16,"first_seen":"2019-06-27","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"Kubernetes","layer":"cloud","postings":14,"share":0.2029,"required":12,"open_postings":13,"first_seen":"2020-11-19","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"Go","layer":"languages","postings":11,"share":0.1594,"required":9,"open_postings":10,"first_seen":"2021-08-04","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"C++","layer":"languages","postings":10,"share":0.1449,"required":10,"open_postings":9,"first_seen":"2021-08-04","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"OpenStack","layer":"tools","postings":10,"share":0.1449,"required":8,"open_postings":10,"first_seen":"2020-11-19","last_seen":"2026-06-23","median_stated_pay_usd":null},{"name":"Rust","layer":"languages","postings":9,"share":0.1304,"required":8,"open_postings":8,"first_seen":"2021-03-02","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"Docker","layer":"tools","postings":7,"share":0.1014,"required":5,"open_postings":7,"first_seen":"2020-11-19","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"RTOS","layer":"cloud","postings":6,"share":0.087,"required":6,"open_postings":6,"first_seen":"2021-12-19","last_seen":"2026-05-09","median_stated_pay_usd":null},{"name":"JavaScript","layer":"languages","postings":5,"share":0.0725,"required":3,"open_postings":4,"first_seen":"2021-03-02","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"AWS","layer":"cloud","postings":5,"share":0.0725,"required":2,"open_postings":5,"first_seen":"2021-09-20","last_seen":"2026-06-05","median_stated_pay_usd":null},{"name":"Azure","layer":"cloud","postings":5,"share":0.0725,"required":2,"open_postings":5,"first_seen":"2021-09-20","last_seen":"2026-06-05","median_stated_pay_usd":null},{"name":"GCP","layer":"cloud","postings":5,"share":0.0725,"required":2,"open_postings":5,"first_seen":"2021-09-20","last_seen":"2026-06-05","median_stated_pay_usd":null},{"name":"Machine Learning","layer":"practices","postings":4,"share":0.058,"required":4,"open_postings":4,"first_seen":"2022-04-25","last_seen":"2026-04-03","median_stated_pay_usd":null},{"name":"KVM","layer":"tools","postings":4,"share":0.058,"required":3,"open_postings":4,"first_seen":"2020-11-19","last_seen":"2026-06-23","median_stated_pay_usd":null},{"name":"CI/CD","layer":"practices","postings":4,"share":0.058,"required":2,"open_postings":4,"first_seen":"2019-06-27","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"Bash","layer":"languages","postings":3,"share":0.0435,"required":3,"open_postings":2,"first_seen":"2022-11-22","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"Superset","layer":"cloud","postings":3,"share":0.0435,"required":2,"open_postings":3,"first_seen":"2021-05-26","last_seen":"2026-08-04","median_stated_pay_usd":null},{"name":"Jenkins","layer":"tools","postings":2,"share":0.029,"required":2,"open_postings":2,"first_seen":"2024-08-30","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"Kubeflow","layer":"cloud","postings":2,"share":0.029,"required":2,"open_postings":2,"first_seen":"2021-09-20","last_seen":"2026-04-03","median_stated_pay_usd":null},{"name":"PostgreSQL","layer":"data","postings":2,"share":0.029,"required":2,"open_postings":2,"first_seen":"2021-09-03","last_seen":"2026-04-03","median_stated_pay_usd":null},{"name":"SQL","layer":"languages","postings":2,"share":0.029,"required":2,"open_postings":2,"first_seen":"2021-05-26","last_seen":"2026-08-04","median_stated_pay_usd":null},{"name":"Spark","layer":"cloud","postings":2,"share":0.029,"required":2,"open_postings":2,"first_seen":"2021-09-20","last_seen":"2026-04-03","median_stated_pay_usd":null},{"name":"AI Agents","layer":"practices","postings":2,"share":0.029,"required":1,"open_postings":2,"first_seen":"2026-07-17","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"Rest API","layer":"tools","postings":2,"share":0.029,"required":1,"open_postings":2,"first_seen":"2022-03-26","last_seen":"2025-11-28","median_stated_pay_usd":null},{"name":"Trino","layer":"data","postings":2,"share":0.029,"required":1,"open_postings":2,"first_seen":"2022-04-11","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"Fedora","layer":"cloud","postings":2,"share":0.029,"required":0,"open_postings":1,"first_seen":"2026-07-13","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"A/B Testing","layer":"practices","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2025-07-10","last_seen":"2026-01-11","median_stated_pay_usd":null},{"name":"DHCP","layer":"practices","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2022-03-26","last_seen":"2025-11-28","median_stated_pay_usd":null},{"name":"ETL/ELT","layer":"practices","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2024-02-09","last_seen":"2026-02-23","median_stated_pay_usd":null},{"name":"Figma","layer":"cloud","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2025-07-04","last_seen":"2026-01-29","median_stated_pay_usd":null},{"name":"Fine-tuning","layer":"practices","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2025-02-10","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"GitHub","layer":"cloud","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2021-09-16","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"GitHub Actions","layer":"cloud","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2024-08-30","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"HPC","layer":"practices","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2025-11-28","last_seen":"2025-11-28","median_stated_pay_usd":null},{"name":"Java","layer":"languages","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2022-04-11","last_seen":"2026-02-23","median_stated_pay_usd":null},{"name":"Keystone Engine","layer":"frameworks","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2026-02-12","last_seen":"2026-02-12","median_stated_pay_usd":null},{"name":"LLVM","layer":"tools","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2026-02-12","last_seen":"2026-02-12","median_stated_pay_usd":null},{"name":"Microsoft Excel","layer":"tools","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2026-06-08","last_seen":"2026-06-08","median_stated_pay_usd":null},{"name":"Podman","layer":"tools","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2026-08-14","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"SLI/SLO/SLA","layer":"practices","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2025-02-10","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"TCP/IP","layer":"practices","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2022-03-26","last_seen":"2025-11-28","median_stated_pay_usd":null},{"name":"Tableau","layer":"cloud","postings":1,"share":0.0145,"required":1,"open_postings":1,"first_seen":"2026-07-17","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"Assembly","layer":"languages","postings":1,"share":0.0145,"required":0,"open_postings":1,"first_seen":"2024-04-09","last_seen":"2026-02-12","median_stated_pay_usd":null},{"name":"GitOps","layer":"practices","postings":1,"share":0.0145,"required":0,"open_postings":1,"first_seen":"2019-06-27","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"MATLAB","layer":"languages","postings":1,"share":0.0145,"required":0,"open_postings":1,"first_seen":"2026-01-11","last_seen":"2026-01-11","median_stated_pay_usd":null},{"name":"Matplotlib","layer":"frameworks","postings":1,"share":0.0145,"required":0,"open_postings":1,"first_seen":"2026-01-11","last_seen":"2026-01-11","median_stated_pay_usd":null},{"name":"Platform Engineering","layer":"practices","postings":1,"share":0.0145,"required":0,"open_postings":1,"first_seen":"2026-08-14","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"QEMU","layer":"tools","postings":1,"share":0.0145,"required":0,"open_postings":1,"first_seen":"2021-09-03","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"Seaborn","layer":"frameworks","postings":1,"share":0.0145,"required":0,"open_postings":1,"first_seen":"2026-01-11","last_seen":"2026-01-11","median_stated_pay_usd":null},{"name":"dbt","layer":"tools","postings":1,"share":0.0145,"required":0,"open_postings":1,"first_seen":"2024-04-11","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"eBPF","layer":"practices","postings":1,"share":0.0145,"required":0,"open_postings":1,"first_seen":"2024-03-20","last_seen":"2026-05-29","median_stated_pay_usd":null}],"own_products":["Ubuntu"],"changes":{"first_appeared":[{"name":"AI Agents","first_seen":"2026-07-17"},{"name":"Fedora","first_seen":"2026-07-13"}],"rising":[{"name":"Python","share_from":14,"share_to":42},{"name":"Go","share_from":0,"share_to":25},{"name":"Bash","share_from":0,"share_to":25},{"name":"Kubernetes","share_from":9,"share_to":33},{"name":"Rust","share_from":5,"share_to":25},{"name":"JavaScript","share_from":5,"share_to":25}],"falling":[{"name":"Linux","share_from":64,"share_to":25},{"name":"RTOS","share_from":23,"share_to":0},{"name":"OpenStack","share_from":18,"share_to":0},{"name":"Debian","share_from":32,"share_to":17},{"name":"KVM","share_from":14,"share_to":0}],"not_seen_180d":[{"name":"Machine Learning","last_seen":"2026-04-03"},{"name":"Kubeflow","last_seen":"2026-04-03"},{"name":"PostgreSQL","last_seen":"2026-04-03"},{"name":"Spark","last_seen":"2026-04-03"},{"name":"Rest API","last_seen":"2025-11-28"}]},"similar_stacks":[{"name":"Kaspersky","url":"https://alion.io/company/kaspersky/technologies","shared_technologies":70},{"name":"Akamai","url":"https://alion.io/company/akamai/technologies","shared_technologies":88},{"name":"GRVTY","url":"https://alion.io/company/grvty/technologies","shared_technologies":85},{"name":"YADRO","url":"https://alion.io/company/yadro/technologies","shared_technologies":72},{"name":"Graphcore","url":"https://alion.io/company/graphcore/technologies","shared_technologies":73},{"name":"Arista Networks","url":"https://alion.io/company/arista-networks/technologies","shared_technologies":68},{"name":"Momentum Engineering","url":"https://alion.io/company/momentumengineering/technologies","shared_technologies":69},{"name":"Mirantis","url":"https://alion.io/company/mirantis/technologies","shared_technologies":74}],"html_url":"https://alion.io/company/canonical/technologies","json_url":"https://alion.io/company/canonical/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-09-30T22:47:23Z","generated_at":"2026-10-01T01:35:25Z"}}