{"company":{"id":3805,"name":"Sensor Tower","domain":"sensortower.com","url":"https://alion.io/company/sensor-tower"},"answer":"Sensor Tower builds mostly with Ruby, JavaScript, SQL, Python. Its stack also includes AWS, Sidekiq, ClickHouse, GitHub. AWS is named in 26 of the 52 job postings Sensor Tower published in the last 12 months (50%). Counted by Alion from the job postings of Sensor Tower, updated Sep 28, 2026.","window_days":365,"postings_analysed":52,"open_postings":39,"technologies_in_use":64,"modernity_score":79,"ai_adoption":true,"technologies":[{"name":"AWS","layer":"cloud","postings":26,"share":0.5,"required":22,"open_postings":22,"first_seen":"2026-04-16","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"Ruby","layer":"languages","postings":24,"share":0.4615,"required":14,"open_postings":20,"first_seen":"2026-04-16","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"Sidekiq","layer":"frameworks","postings":24,"share":0.4615,"required":8,"open_postings":20,"first_seen":"2026-04-16","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"JavaScript","layer":"languages","postings":23,"share":0.4423,"required":23,"open_postings":19,"first_seen":"2026-04-16","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"SQL","layer":"languages","postings":23,"share":0.4423,"required":23,"open_postings":18,"first_seen":"2026-04-16","last_seen":"2026-09-07","median_stated_pay_usd":170000},{"name":"ClickHouse","layer":"data","postings":23,"share":0.4423,"required":10,"open_postings":18,"first_seen":"2026-04-16","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"GitHub","layer":"cloud","postings":18,"share":0.3462,"required":8,"open_postings":13,"first_seen":"2026-04-16","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"Tableau","layer":"cloud","postings":15,"share":0.2885,"required":15,"open_postings":13,"first_seen":"2026-04-16","last_seen":"2026-09-03","median_stated_pay_usd":null},{"name":"Ruby on Rails","layer":"frameworks","postings":15,"share":0.2885,"required":2,"open_postings":13,"first_seen":"2026-04-16","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"Playwright","layer":"frameworks","postings":14,"share":0.2692,"required":14,"open_postings":13,"first_seen":"2026-04-16","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"Python","layer":"languages","postings":14,"share":0.2692,"required":14,"open_postings":9,"first_seen":"2026-05-26","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"React.js","layer":"frameworks","postings":14,"share":0.2692,"required":12,"open_postings":11,"first_seen":"2026-04-16","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"Snowflake","layer":"data","postings":13,"share":0.25,"required":13,"open_postings":13,"first_seen":"2026-04-16","last_seen":"2026-09-03","median_stated_pay_usd":null},{"name":"Model Context Protocol","layer":"tools","postings":13,"share":0.25,"required":11,"open_postings":13,"first_seen":"2026-04-16","last_seen":"2026-09-03","median_stated_pay_usd":null},{"name":"PostgreSQL","layer":"data","postings":13,"share":0.25,"required":4,"open_postings":11,"first_seen":"2026-06-11","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"CI/CD","layer":"practices","postings":12,"share":0.2308,"required":12,"open_postings":9,"first_seen":"2026-06-12","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"Databricks","layer":"cloud","postings":12,"share":0.2308,"required":12,"open_postings":12,"first_seen":"2026-04-16","last_seen":"2026-07-06","median_stated_pay_usd":null},{"name":"Docker","layer":"tools","postings":12,"share":0.2308,"required":12,"open_postings":9,"first_seen":"2026-06-12","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"Kubernetes","layer":"cloud","postings":12,"share":0.2308,"required":12,"open_postings":9,"first_seen":"2026-06-12","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"TypeScript","layer":"languages","postings":11,"share":0.2115,"required":9,"open_postings":9,"first_seen":"2026-04-16","last_seen":"2026-08-04","median_stated_pay_usd":null},{"name":"Ansible","layer":"tools","postings":9,"share":0.1731,"required":9,"open_postings":8,"first_seen":"2026-06-12","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"Cypress","layer":"frameworks","postings":9,"share":0.1731,"required":9,"open_postings":8,"first_seen":"2026-04-16","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"Gradle","layer":"tools","postings":9,"share":0.1731,"required":9,"open_postings":8,"first_seen":"2026-06-12","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"Grafana","layer":"cloud","postings":9,"share":0.1731,"required":9,"open_postings":8,"first_seen":"2026-06-12","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"Jenkins","layer":"tools","postings":9,"share":0.1731,"required":9,"open_postings":8,"first_seen":"2026-06-12","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"Jest","layer":"frameworks","postings":9,"share":0.1731,"required":9,"open_postings":9,"first_seen":"2026-04-16","last_seen":"2026-08-04","median_stated_pay_usd":null},{"name":"Kibana","layer":"cloud","postings":9,"share":0.1731,"required":9,"open_postings":8,"first_seen":"2026-06-12","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"OpenTelemetry","layer":"frameworks","postings":9,"share":0.1731,"required":9,"open_postings":8,"first_seen":"2026-06-12","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"State Management","layer":"practices","postings":9,"share":0.1731,"required":9,"open_postings":9,"first_seen":"2026-04-16","last_seen":"2026-08-04","median_stated_pay_usd":null},{"name":"Terraform","layer":"tools","postings":9,"share":0.1731,"required":9,"open_postings":8,"first_seen":"2026-06-12","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"Webpack","layer":"tools","postings":9,"share":0.1731,"required":9,"open_postings":8,"first_seen":"2026-06-12","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"Java","layer":"languages","postings":9,"share":0.1731,"required":1,"open_postings":8,"first_seen":"2026-06-12","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"Redux","layer":"frameworks","postings":9,"share":0.1731,"required":0,"open_postings":9,"first_seen":"2026-04-16","last_seen":"2026-08-04","median_stated_pay_usd":null},{"name":"Zustand","layer":"frameworks","postings":9,"share":0.1731,"required":0,"open_postings":9,"first_seen":"2026-04-16","last_seen":"2026-08-04","median_stated_pay_usd":null},{"name":"Go","layer":"languages","postings":7,"share":0.1346,"required":7,"open_postings":5,"first_seen":"2026-07-06","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"Windows","layer":"cloud","postings":7,"share":0.1346,"required":7,"open_postings":2,"first_seen":"2026-07-21","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"Linux","layer":"cloud","postings":6,"share":0.1154,"required":6,"open_postings":4,"first_seen":"2026-06-12","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"Amazon EC2","layer":"cloud","postings":5,"share":0.0962,"required":5,"open_postings":4,"first_seen":"2026-06-12","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"Amazon S3","layer":"cloud","postings":5,"share":0.0962,"required":5,"open_postings":4,"first_seen":"2026-06-12","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"IAM","layer":"practices","postings":5,"share":0.0962,"required":5,"open_postings":4,"first_seen":"2026-06-12","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"RSpec","layer":"frameworks","postings":5,"share":0.0962,"required":5,"open_postings":4,"first_seen":"2026-06-12","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"TeamCity","layer":"cloud","postings":5,"share":0.0962,"required":5,"open_postings":4,"first_seen":"2026-06-12","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"Angular","layer":"frameworks","postings":5,"share":0.0962,"required":0,"open_postings":5,"first_seen":"2026-06-11","last_seen":"2026-08-04","median_stated_pay_usd":null},{"name":"Highcharts","layer":"frameworks","postings":5,"share":0.0962,"required":0,"open_postings":5,"first_seen":"2026-06-11","last_seen":"2026-08-04","median_stated_pay_usd":null},{"name":"Next.js","layer":"frameworks","postings":5,"share":0.0962,"required":0,"open_postings":5,"first_seen":"2026-06-11","last_seen":"2026-08-04","median_stated_pay_usd":null},{"name":"React Router","layer":"frameworks","postings":5,"share":0.0962,"required":0,"open_postings":5,"first_seen":"2026-06-11","last_seen":"2026-08-04","median_stated_pay_usd":null},{"name":"Terragrunt","layer":"tools","postings":4,"share":0.0769,"required":4,"open_postings":4,"first_seen":"2026-08-28","last_seen":"2026-08-28","median_stated_pay_usd":null},{"name":"ASP.NET Core","layer":"frameworks","postings":3,"share":0.0577,"required":3,"open_postings":2,"first_seen":"2026-07-21","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"Amazon Redshift","layer":"data","postings":3,"share":0.0577,"required":3,"open_postings":2,"first_seen":"2026-07-21","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"C#","layer":"languages","postings":3,"share":0.0577,"required":3,"open_postings":2,"first_seen":"2026-07-21","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"ElasticSearch","layer":"data","postings":3,"share":0.0577,"required":3,"open_postings":1,"first_seen":"2026-07-06","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"GitLab","layer":"cloud","postings":3,"share":0.0577,"required":3,"open_postings":1,"first_seen":"2026-07-06","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"MongoDB","layer":"data","postings":3,"share":0.0577,"required":3,"open_postings":2,"first_seen":"2026-07-21","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"PagerDuty","layer":"cloud","postings":3,"share":0.0577,"required":3,"open_postings":2,"first_seen":"2026-07-21","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"RabbitMQ","layer":"cloud","postings":3,"share":0.0577,"required":3,"open_postings":1,"first_seen":"2026-07-06","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"Power BI","layer":"cloud","postings":2,"share":0.0385,"required":2,"open_postings":0,"first_seen":"2026-05-26","last_seen":"2026-06-11","median_stated_pay_usd":null},{"name":"SLI/SLO/SLA","layer":"practices","postings":2,"share":0.0385,"required":2,"open_postings":2,"first_seen":"2026-04-15","last_seen":"2026-06-18","median_stated_pay_usd":null},{"name":"Claude","layer":"ai","postings":2,"share":0.0385,"required":0,"open_postings":2,"first_seen":"2026-09-03","last_seen":"2026-09-03","median_stated_pay_usd":null},{"name":"Wi-Fi","layer":"practices","postings":2,"share":0.0385,"required":0,"open_postings":2,"first_seen":"2026-06-11","last_seen":"2026-07-06","median_stated_pay_usd":null},{"name":"Microsoft Excel","layer":"tools","postings":1,"share":0.0192,"required":1,"open_postings":0,"first_seen":"2026-08-06","last_seen":"2026-08-06","median_stated_pay_usd":null},{"name":"Pandas","layer":"frameworks","postings":1,"share":0.0192,"required":1,"open_postings":1,"first_seen":"2026-07-06","last_seen":"2026-07-06","median_stated_pay_usd":null},{"name":"Spark","layer":"cloud","postings":1,"share":0.0192,"required":1,"open_postings":1,"first_seen":"2026-07-06","last_seen":"2026-07-06","median_stated_pay_usd":null},{"name":"pySpark","layer":"tools","postings":1,"share":0.0192,"required":1,"open_postings":1,"first_seen":"2026-07-06","last_seen":"2026-07-06","median_stated_pay_usd":null},{"name":"Machine Learning","layer":"practices","postings":1,"share":0.0192,"required":0,"open_postings":1,"first_seen":"2026-07-06","last_seen":"2026-07-06","median_stated_pay_usd":null}],"own_products":[],"changes":{"first_appeared":[{"name":"Claude","first_seen":"2026-09-03"},{"name":"Terragrunt","first_seen":"2026-08-28"},{"name":"Windows","first_seen":"2026-07-21"},{"name":"ASP.NET Core","first_seen":"2026-07-21"},{"name":"Amazon Redshift","first_seen":"2026-07-21"},{"name":"C#","first_seen":"2026-07-21"},{"name":"MongoDB","first_seen":"2026-07-21"},{"name":"PagerDuty","first_seen":"2026-07-21"}],"rising":[{"name":"PostgreSQL","share_from":8,"share_to":39},{"name":"CI/CD","share_from":8,"share_to":36},{"name":"Docker","share_from":8,"share_to":36},{"name":"Kubernetes","share_from":8,"share_to":36},{"name":"Go","share_from":0,"share_to":25},{"name":"Windows","share_from":0,"share_to":25},{"name":"Ansible","share_from":8,"share_to":25},{"name":"Gradle","share_from":8,"share_to":25}],"falling":[{"name":"Tableau","share_from":54,"share_to":7},{"name":"Databricks","share_from":46,"share_to":4},{"name":"Snowflake","share_from":46,"share_to":7},{"name":"Model Context Protocol","share_from":46,"share_to":7},{"name":"SQL","share_from":54,"share_to":36},{"name":"TypeScript","share_from":29,"share_to":14},{"name":"Cypress","share_from":25,"share_to":11},{"name":"Jest","share_from":25,"share_to":11}],"not_seen_180d":[]},"similar_stacks":[{"name":"Magnet HR Tech Digital","url":"https://alion.io/company/magnet-hr-tech-digital/technologies","shared_technologies":48},{"name":"Braze","url":"https://alion.io/company/braze/technologies","shared_technologies":45},{"name":"Delta Air Lines","url":"https://alion.io/company/delta-air-lines/technologies","shared_technologies":44},{"name":"Nortal","url":"https://alion.io/company/nortal/technologies","shared_technologies":46},{"name":"Money Forward","url":"https://alion.io/company/moneyforward/technologies","shared_technologies":50},{"name":"TP ICAP Group","url":"https://alion.io/company/tp-icap/technologies","shared_technologies":45},{"name":"Agoda","url":"https://alion.io/company/agoda/technologies","shared_technologies":48},{"name":"Exadel","url":"https://alion.io/company/exadel-3/technologies","shared_technologies":48}],"html_url":"https://alion.io/company/sensor-tower/technologies","json_url":"https://alion.io/company/sensor-tower/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-09-28T18:02:27Z","generated_at":"2026-09-29T03:59:06Z"}}