{"company":{"id":53702,"name":"Factorial","domain":"factorialhr.com","url":"https://alion.io/company/factorial"},"answer":"Factorial builds mostly with Ruby, JavaScript, Python, TypeScript. Its stack also includes Ruby on Rails, Azure, React.js, AWS. Ruby is named in 17 of the 34 job postings Factorial published in the last 12 months (50%). Counted by Alion from the job postings of Factorial, updated Oct 11, 2026.","window_days":365,"postings_analysed":34,"open_postings":34,"technologies_in_use":67,"modernity_score":84,"ai_adoption":true,"technologies":[{"name":"Ruby on Rails","layer":"frameworks","postings":17,"share":0.5,"required":8,"open_postings":17,"first_seen":"2025-06-03","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"Ruby","layer":"languages","postings":17,"share":0.5,"required":1,"open_postings":17,"first_seen":"2025-06-03","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"Azure","layer":"cloud","postings":14,"share":0.4118,"required":7,"open_postings":14,"first_seen":"2026-04-10","last_seen":"2026-09-30","median_stated_pay_usd":46814},{"name":"Agentic Workflows","layer":"practices","postings":11,"share":0.3235,"required":5,"open_postings":11,"first_seen":"2025-06-03","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"JavaScript","layer":"languages","postings":11,"share":0.3235,"required":1,"open_postings":11,"first_seen":"2025-10-13","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"React.js","layer":"frameworks","postings":10,"share":0.2941,"required":5,"open_postings":10,"first_seen":"2025-10-13","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"LLM","layer":"ai","postings":9,"share":0.2647,"required":7,"open_postings":9,"first_seen":"2025-06-03","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"Python","layer":"languages","postings":9,"share":0.2647,"required":6,"open_postings":9,"first_seen":"2026-04-10","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Terraform","layer":"tools","postings":9,"share":0.2647,"required":6,"open_postings":9,"first_seen":"2026-04-10","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"AWS","layer":"cloud","postings":8,"share":0.2353,"required":5,"open_postings":8,"first_seen":"2026-04-10","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"TypeScript","layer":"languages","postings":8,"share":0.2353,"required":3,"open_postings":8,"first_seen":"2025-10-13","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"CI/CD","layer":"practices","postings":7,"share":0.2059,"required":7,"open_postings":7,"first_seen":"2026-04-10","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"IAM","layer":"practices","postings":7,"share":0.2059,"required":7,"open_postings":7,"first_seen":"2026-05-14","last_seen":"2026-09-17","median_stated_pay_usd":46814},{"name":"Rest API","layer":"tools","postings":7,"share":0.2059,"required":4,"open_postings":7,"first_seen":"2025-06-04","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Model Context Protocol","layer":"tools","postings":7,"share":0.2059,"required":1,"open_postings":7,"first_seen":"2026-03-26","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"Kubernetes","layer":"cloud","postings":6,"share":0.1765,"required":6,"open_postings":6,"first_seen":"2026-04-10","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"AI Agents","layer":"practices","postings":6,"share":0.1765,"required":5,"open_postings":6,"first_seen":"2025-06-03","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"Microsoft Entra ID","layer":"cloud","postings":6,"share":0.1765,"required":3,"open_postings":6,"first_seen":"2026-08-25","last_seen":"2026-09-17","median_stated_pay_usd":46814},{"name":"MySQL","layer":"data","postings":5,"share":0.1471,"required":5,"open_postings":5,"first_seen":"2026-04-10","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"OpenTelemetry","layer":"frameworks","postings":5,"share":0.1471,"required":5,"open_postings":5,"first_seen":"2026-04-10","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"RAG","layer":"practices","postings":5,"share":0.1471,"required":5,"open_postings":5,"first_seen":"2025-06-03","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"Bash","layer":"languages","postings":4,"share":0.1176,"required":4,"open_postings":4,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"Figma","layer":"cloud","postings":4,"share":0.1176,"required":4,"open_postings":4,"first_seen":"2025-11-21","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Linux","layer":"cloud","postings":4,"share":0.1176,"required":4,"open_postings":4,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"Docker","layer":"tools","postings":4,"share":0.1176,"required":3,"open_postings":4,"first_seen":"2026-04-10","last_seen":"2026-08-17","median_stated_pay_usd":null},{"name":"ArgoCD","layer":"tools","postings":3,"share":0.0882,"required":3,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"ClickHouse","layer":"data","postings":3,"share":0.0882,"required":3,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"GitHub Actions","layer":"cloud","postings":3,"share":0.0882,"required":3,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"GitOps","layer":"practices","postings":3,"share":0.0882,"required":3,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"Go","layer":"languages","postings":3,"share":0.0882,"required":3,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"GraphQL","layer":"tools","postings":3,"share":0.0882,"required":3,"open_postings":3,"first_seen":"2025-06-04","last_seen":"2026-09-14","median_stated_pay_usd":null},{"name":"Helm","layer":"tools","postings":3,"share":0.0882,"required":3,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"Kustomize","layer":"tools","postings":3,"share":0.0882,"required":3,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"Prometheus","layer":"tools","postings":3,"share":0.0882,"required":3,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"Redis","layer":"data","postings":3,"share":0.0882,"required":3,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"containerd","layer":"tools","postings":3,"share":0.0882,"required":3,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"Cilium","layer":"tools","postings":3,"share":0.0882,"required":0,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"Cloudflare","layer":"cloud","postings":3,"share":0.0882,"required":0,"open_postings":3,"first_seen":"2026-04-10","last_seen":"2026-07-23","median_stated_pay_usd":null},{"name":"Okta","layer":"cloud","postings":3,"share":0.0882,"required":0,"open_postings":3,"first_seen":"2026-08-25","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Ansible","layer":"tools","postings":2,"share":0.0588,"required":2,"open_postings":2,"first_seen":"2026-09-25","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"Claude","layer":"ai","postings":2,"share":0.0588,"required":2,"open_postings":2,"first_seen":"2025-09-12","last_seen":"2025-11-21","median_stated_pay_usd":null},{"name":"Cursor","layer":"tools","postings":2,"share":0.0588,"required":2,"open_postings":2,"first_seen":"2025-10-31","last_seen":"2025-11-21","median_stated_pay_usd":null},{"name":"Datadog","layer":"cloud","postings":2,"share":0.0588,"required":2,"open_postings":2,"first_seen":"2026-09-25","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"GCP","layer":"cloud","postings":2,"share":0.0588,"required":2,"open_postings":2,"first_seen":"2026-06-12","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"GitHub","layer":"cloud","postings":2,"share":0.0588,"required":2,"open_postings":2,"first_seen":"2026-08-17","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Grafana","layer":"cloud","postings":2,"share":0.0588,"required":2,"open_postings":2,"first_seen":"2026-09-25","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"LLM Guardrails","layer":"practices","postings":2,"share":0.0588,"required":2,"open_postings":2,"first_seen":"2026-09-01","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"AWS Lambda","layer":"cloud","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Context Engineering","layer":"practices","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-07","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"DLP","layer":"cloud","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-05-14","last_seen":"2026-05-14","median_stated_pay_usd":null},{"name":"Fine-tuning","layer":"practices","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-06-12","last_seen":"2026-06-12","median_stated_pay_usd":null},{"name":"Firebase","layer":"cloud","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Function Calling","layer":"practices","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-07","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"Git","layer":"tools","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-07","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"Hallucination","layer":"practices","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-01-13","last_seen":"2026-01-13","median_stated_pay_usd":null},{"name":"Node JS","layer":"languages","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Platform Engineering","layer":"practices","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-07","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"React Native","layer":"frameworks","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-03-26","last_seen":"2026-03-26","median_stated_pay_usd":null},{"name":"SIEM","layer":"cloud","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-05-14","last_seen":"2026-05-14","median_stated_pay_usd":null},{"name":"SQL","layer":"languages","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-08-07","last_seen":"2026-08-07","median_stated_pay_usd":null},{"name":"Sass","layer":"languages","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Structured Outputs","layer":"practices","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-07","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"Tailwind CSS","layer":"frameworks","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Tool Use","layer":"practices","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-07","last_seen":"2026-09-07","median_stated_pay_usd":null},{"name":"Unix","layer":"cloud","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-05-14","last_seen":"2026-05-14","median_stated_pay_usd":null},{"name":"Vue.js","layer":"frameworks","postings":1,"share":0.0294,"required":1,"open_postings":1,"first_seen":"2026-09-02","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Human-in-the-Loop","layer":"practices","postings":1,"share":0.0294,"required":0,"open_postings":1,"first_seen":"2026-06-12","last_seen":"2026-06-12","median_stated_pay_usd":null}],"own_products":[],"changes":{"first_appeared":[{"name":"Ansible","first_seen":"2026-09-25"},{"name":"Datadog","first_seen":"2026-09-25"},{"name":"Grafana","first_seen":"2026-09-25"},{"name":"LLM Guardrails","first_seen":"2026-09-01"},{"name":"Microsoft Entra ID","first_seen":"2026-08-25"},{"name":"Okta","first_seen":"2026-08-25"},{"name":"GitHub","first_seen":"2026-08-17"},{"name":"GCP","first_seen":"2026-06-12"}],"rising":[],"falling":[],"not_seen_180d":[{"name":"Claude","last_seen":"2025-11-21"},{"name":"Cursor","last_seen":"2025-11-21"}]},"similar_stacks":[{"name":"monday.com","url":"https://alion.io/company/monday-com/technologies","shared_technologies":52},{"name":"ID.me","url":"https://alion.io/company/id-me/technologies","shared_technologies":55},{"name":"Doctolib","url":"https://alion.io/company/doctolib/technologies","shared_technologies":54},{"name":"Code Europe","url":"https://alion.io/company/codeeurope/technologies","shared_technologies":54},{"name":"Kraken","url":"https://alion.io/company/kraken/technologies","shared_technologies":55},{"name":"Nexthink","url":"https://alion.io/company/nexthink/technologies","shared_technologies":52},{"name":"WEX","url":"https://alion.io/company/wex/technologies","shared_technologies":56},{"name":"Coinbase","url":"https://alion.io/company/coinbase/technologies","shared_technologies":55}],"html_url":"https://alion.io/company/factorial/technologies","json_url":"https://alion.io/company/factorial/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-10-11T20:19:35Z","generated_at":"2026-10-12T05:23:26Z"}}