{"company":{"id":6012,"name":"G2","domain":"g2.com","url":"https://alion.io/company/g2"},"answer":"G2 builds mostly with Python, SQL, JavaScript, TypeScript. Its stack also includes AWS, Looker, Snowflake, React.js. Python is named in 12 of the 36 job postings G2 published in the last 12 months (33%). Counted by Alion from the job postings of G2, updated Sep 29, 2026.","window_days":365,"postings_analysed":36,"open_postings":30,"technologies_in_use":89,"modernity_score":85,"ai_adoption":true,"technologies":[{"name":"Python","layer":"languages","postings":12,"share":0.3333,"required":12,"open_postings":11,"first_seen":"2026-06-05","last_seen":"2026-09-23","median_stated_pay_usd":225000},{"name":"AI Agents","layer":"practices","postings":11,"share":0.3056,"required":11,"open_postings":10,"first_seen":"2026-06-05","last_seen":"2026-09-23","median_stated_pay_usd":205000},{"name":"AWS","layer":"cloud","postings":10,"share":0.2778,"required":10,"open_postings":9,"first_seen":"2026-06-05","last_seen":"2026-09-28","median_stated_pay_usd":null},{"name":"Looker","layer":"cloud","postings":10,"share":0.2778,"required":9,"open_postings":8,"first_seen":"2026-07-01","last_seen":"2026-09-28","median_stated_pay_usd":null},{"name":"SQL","layer":"languages","postings":9,"share":0.25,"required":8,"open_postings":8,"first_seen":"2026-06-05","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Snowflake","layer":"data","postings":7,"share":0.1944,"required":7,"open_postings":6,"first_seen":"2026-06-05","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Claude Code","layer":"tools","postings":7,"share":0.1944,"required":6,"open_postings":6,"first_seen":"2026-06-10","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"JavaScript","layer":"languages","postings":7,"share":0.1944,"required":6,"open_postings":7,"first_seen":"2026-01-16","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Tableau","layer":"cloud","postings":6,"share":0.1667,"required":5,"open_postings":5,"first_seen":"2026-07-01","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"CI/CD","layer":"practices","postings":6,"share":0.1667,"required":4,"open_postings":5,"first_seen":"2026-06-10","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"LLM","layer":"ai","postings":5,"share":0.1389,"required":5,"open_postings":5,"first_seen":"2026-01-16","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"TypeScript","layer":"languages","postings":5,"share":0.1389,"required":5,"open_postings":5,"first_seen":"2026-06-10","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"OpenAI","layer":"cloud","postings":5,"share":0.1389,"required":4,"open_postings":5,"first_seen":"2026-06-10","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"OpenAI Codex","layer":"tools","postings":5,"share":0.1389,"required":4,"open_postings":5,"first_seen":"2026-06-10","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Microsoft Excel","layer":"tools","postings":4,"share":0.1111,"required":4,"open_postings":3,"first_seen":"2026-07-24","last_seen":"2026-09-16","median_stated_pay_usd":null},{"name":"Model Context Protocol","layer":"tools","postings":4,"share":0.1111,"required":4,"open_postings":3,"first_seen":"2026-07-01","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"React.js","layer":"frameworks","postings":4,"share":0.1111,"required":4,"open_postings":4,"first_seen":"2026-06-10","last_seen":"2026-09-22","median_stated_pay_usd":null},{"name":"Spark","layer":"cloud","postings":4,"share":0.1111,"required":4,"open_postings":3,"first_seen":"2026-07-28","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Anthropic","layer":"cloud","postings":4,"share":0.1111,"required":3,"open_postings":4,"first_seen":"2026-06-10","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Apache Kafka","layer":"cloud","postings":4,"share":0.1111,"required":3,"open_postings":3,"first_seen":"2026-07-28","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Claude","layer":"ai","postings":4,"share":0.1111,"required":3,"open_postings":3,"first_seen":"2026-07-06","last_seen":"2026-09-22","median_stated_pay_usd":null},{"name":"Power BI","layer":"cloud","postings":4,"share":0.1111,"required":3,"open_postings":3,"first_seen":"2026-07-01","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"AWS Lambda","layer":"cloud","postings":3,"share":0.0833,"required":3,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Airflow","layer":"cloud","postings":3,"share":0.0833,"required":3,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Amazon ECS","layer":"cloud","postings":3,"share":0.0833,"required":3,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Azure","layer":"cloud","postings":3,"share":0.0833,"required":3,"open_postings":3,"first_seen":"2026-06-05","last_seen":"2026-09-28","median_stated_pay_usd":null},{"name":"ChatGPT","layer":"ai","postings":3,"share":0.0833,"required":3,"open_postings":2,"first_seen":"2026-06-25","last_seen":"2026-09-22","median_stated_pay_usd":null},{"name":"DynamoDB","layer":"data","postings":3,"share":0.0833,"required":3,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"ETL/ELT","layer":"practices","postings":3,"share":0.0833,"required":3,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"FastAPI","layer":"frameworks","postings":3,"share":0.0833,"required":3,"open_postings":3,"first_seen":"2026-08-14","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"GCP","layer":"cloud","postings":3,"share":0.0833,"required":3,"open_postings":3,"first_seen":"2026-06-05","last_seen":"2026-09-28","median_stated_pay_usd":null},{"name":"Hadoop","layer":"frameworks","postings":3,"share":0.0833,"required":3,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Java","layer":"languages","postings":3,"share":0.0833,"required":3,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"Next.js","layer":"frameworks","postings":3,"share":0.0833,"required":3,"open_postings":3,"first_seen":"2026-06-10","last_seen":"2026-08-27","median_stated_pay_usd":null},{"name":"Prefect","layer":"cloud","postings":3,"share":0.0833,"required":3,"open_postings":3,"first_seen":"2026-06-05","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"A/B Testing","layer":"practices","postings":3,"share":0.0833,"required":2,"open_postings":2,"first_seen":"2026-01-16","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"AWS Glue","layer":"tools","postings":2,"share":0.0556,"required":2,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-28","median_stated_pay_usd":null},{"name":"AWS Step Functions","layer":"cloud","postings":2,"share":0.0556,"required":2,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-28","median_stated_pay_usd":null},{"name":"Agentic Workflows","layer":"practices","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-08-20","last_seen":"2026-09-22","median_stated_pay_usd":null},{"name":"Amazon SageMaker","layer":"cloud","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-06-05","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"Apex","layer":"languages","postings":2,"share":0.0556,"required":2,"open_postings":1,"first_seen":"2026-07-06","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Docker","layer":"tools","postings":2,"share":0.0556,"required":2,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-28","median_stated_pay_usd":null},{"name":"Go","layer":"languages","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-08-27","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Kubernetes","layer":"cloud","postings":2,"share":0.0556,"required":2,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-28","median_stated_pay_usd":null},{"name":"Lightning Web Components","layer":"frameworks","postings":2,"share":0.0556,"required":2,"open_postings":1,"first_seen":"2026-07-06","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Linux","layer":"cloud","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-06-05","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"Multimodal AI","layer":"practices","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-08-14","last_seen":"2026-09-22","median_stated_pay_usd":null},{"name":"Node JS","layer":"languages","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-08-14","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Perplexity","layer":"cloud","postings":2,"share":0.0556,"required":2,"open_postings":1,"first_seen":"2026-06-25","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"SOAP","layer":"practices","postings":2,"share":0.0556,"required":2,"open_postings":1,"first_seen":"2026-07-06","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Unix","layer":"cloud","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-06-05","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"dbt","layer":"tools","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-09-10","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Fine-tuning","layer":"practices","postings":2,"share":0.0556,"required":1,"open_postings":2,"first_seen":"2026-06-10","last_seen":"2026-08-27","median_stated_pay_usd":null},{"name":"Trunk-Based Development","layer":"practices","postings":2,"share":0.0556,"required":1,"open_postings":2,"first_seen":"2026-06-10","last_seen":"2026-08-27","median_stated_pay_usd":null},{"name":"Adobe After Effects","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-05","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"BigQuery","layer":"data","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-06-05","last_seen":"2026-06-05","median_stated_pay_usd":null},{"name":"Braze","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-20","last_seen":"2026-08-20","median_stated_pay_usd":null},{"name":"Canva","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-05","last_seen":"2026-08-05","median_stated_pay_usd":null},{"name":"Chart.js","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-22","last_seen":"2026-09-22","median_stated_pay_usd":null},{"name":"Chrome DevTools","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Cloudflare","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Copilot","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-03","last_seen":"2026-08-03","median_stated_pay_usd":null},{"name":"Cursor","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-03","last_seen":"2026-08-03","median_stated_pay_usd":null},{"name":"DHCP","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-06-25","last_seen":"2026-06-25","median_stated_pay_usd":null},{"name":"DNS","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-06-25","last_seen":"2026-06-25","median_stated_pay_usd":null},{"name":"E2B","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Flink","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-06-05","last_seen":"2026-06-05","median_stated_pay_usd":null},{"name":"Function Calling","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Git","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-03","last_seen":"2026-08-03","median_stated_pay_usd":null},{"name":"Google BigQuery","layer":"data","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-06-05","last_seen":"2026-06-05","median_stated_pay_usd":null},{"name":"Hotwire","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-03","last_seen":"2026-08-03","median_stated_pay_usd":null},{"name":"Human-in-the-Loop","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-18","last_seen":"2026-08-18","median_stated_pay_usd":null},{"name":"Kotlin","layer":"languages","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"LLM Guardrails","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-17","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Machine Learning","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-06-05","last_seen":"2026-06-05","median_stated_pay_usd":null},{"name":"Playwright","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Rest API","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-17","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Ruby on Rails","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-03","last_seen":"2026-08-03","median_stated_pay_usd":null},{"name":"SLI/SLO/SLA","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-15","last_seen":"2026-07-15","median_stated_pay_usd":null},{"name":"Sidekiq","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-03","last_seen":"2026-08-03","median_stated_pay_usd":null},{"name":"Stimulus","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-03","last_seen":"2026-08-03","median_stated_pay_usd":null},{"name":"Text-to-Speech","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-14","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"Time Series Forecasting","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-17","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Tool Use","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"VLAN","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-06-25","last_seen":"2026-06-25","median_stated_pay_usd":null},{"name":"VPN","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-06-25","last_seen":"2026-06-25","median_stated_pay_usd":null},{"name":"Vercel","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"bandit","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-17","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Ruby","layer":"languages","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-08-03","last_seen":"2026-08-03","median_stated_pay_usd":null}],"own_products":[],"changes":{"first_appeared":[{"name":"dbt","first_seen":"2026-09-10"},{"name":"Go","first_seen":"2026-08-27"},{"name":"Agentic Workflows","first_seen":"2026-08-20"},{"name":"FastAPI","first_seen":"2026-08-14"},{"name":"Multimodal AI","first_seen":"2026-08-14"},{"name":"Node JS","first_seen":"2026-08-14"},{"name":"Spark","first_seen":"2026-07-28"},{"name":"Apache Kafka","first_seen":"2026-07-28"}],"rising":[],"falling":[],"not_seen_180d":[]},"similar_stacks":[{"name":"Hinge Health","url":"https://alion.io/company/hinge-health/technologies","shared_technologies":58},{"name":"Motive","url":"https://alion.io/company/motive/technologies","shared_technologies":58},{"name":"Samsara","url":"https://alion.io/company/samsara/technologies","shared_technologies":65},{"name":"Lingaro","url":"https://alion.io/company/lingaro/technologies","shared_technologies":59},{"name":"HelloFresh Nordics","url":"https://alion.io/company/hellofresh/technologies","shared_technologies":66},{"name":"Zeta Global","url":"https://alion.io/company/zeta-global/technologies","shared_technologies":64},{"name":"Exadel","url":"https://alion.io/company/exadel-3/technologies","shared_technologies":64},{"name":"ClickSend","url":"https://alion.io/company/clicksend/technologies","shared_technologies":57}],"html_url":"https://alion.io/company/g2/technologies","json_url":"https://alion.io/company/g2/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-09-29T13:51:12Z","generated_at":"2026-09-30T01:43:26Z"}}