{"company":{"id":14688,"name":"Firmable","domain":"firmable.ai","url":"https://alion.io/company/firmable"},"answer":"Firmable builds mostly with Python, SQL. Its stack also includes AWS, Snowflake, AWS Lambda, OpenTelemetry. Python is named in 6 of the 7 job postings Firmable published in the last 12 months (86%). Counted by Alion from the job postings of Firmable, updated Nov 3, 2026.","window_days":365,"postings_analysed":7,"open_postings":6,"technologies_in_use":56,"modernity_score":81,"ai_adoption":true,"technologies":[{"name":"AWS","layer":"cloud","postings":6,"share":0.8571,"required":6,"open_postings":6,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"LLM","layer":"ai","postings":6,"share":0.8571,"required":6,"open_postings":5,"first_seen":"2026-07-06","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Python","layer":"languages","postings":6,"share":0.8571,"required":6,"open_postings":6,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"SQL","layer":"languages","postings":6,"share":0.8571,"required":6,"open_postings":5,"first_seen":"2026-07-06","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Snowflake","layer":"data","postings":6,"share":0.8571,"required":6,"open_postings":6,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"AI Agents","layer":"practices","postings":5,"share":0.7143,"required":5,"open_postings":4,"first_seen":"2026-07-06","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"AWS Lambda","layer":"cloud","postings":5,"share":0.7143,"required":5,"open_postings":5,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Amazon ECS","layer":"cloud","postings":5,"share":0.7143,"required":5,"open_postings":5,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Amazon S3","layer":"cloud","postings":5,"share":0.7143,"required":5,"open_postings":5,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Claude Code","layer":"tools","postings":5,"share":0.7143,"required":5,"open_postings":5,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Cursor","layer":"tools","postings":5,"share":0.7143,"required":5,"open_postings":5,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"LLM Evaluation","layer":"practices","postings":5,"share":0.7143,"required":5,"open_postings":5,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Embeddings","layer":"practices","postings":4,"share":0.5714,"required":4,"open_postings":4,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"OpenTelemetry","layer":"frameworks","postings":4,"share":0.5714,"required":4,"open_postings":4,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Braintrust","layer":"tools","postings":3,"share":0.4286,"required":3,"open_postings":3,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Promptfoo","layer":"tools","postings":3,"share":0.4286,"required":3,"open_postings":3,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Spark","layer":"cloud","postings":3,"share":0.4286,"required":3,"open_postings":3,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Structured Outputs","layer":"practices","postings":3,"share":0.4286,"required":3,"open_postings":3,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"dbt","layer":"tools","postings":3,"share":0.4286,"required":3,"open_postings":3,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Amazon Kinesis","layer":"cloud","postings":2,"share":0.2857,"required":2,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Amazon Redshift","layer":"data","postings":2,"share":0.2857,"required":2,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Apache Kafka","layer":"cloud","postings":2,"share":0.2857,"required":2,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"ETL/ELT","layer":"practices","postings":2,"share":0.2857,"required":2,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"FastAPI","layer":"frameworks","postings":2,"share":0.2857,"required":2,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Fine-tuning","layer":"practices","postings":2,"share":0.2857,"required":2,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"LangGraph","layer":"frameworks","postings":2,"share":0.2857,"required":2,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Model Context Protocol","layer":"tools","postings":2,"share":0.2857,"required":2,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"PostgreSQL","layer":"data","postings":2,"share":0.2857,"required":2,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Pydantic","layer":"frameworks","postings":2,"share":0.2857,"required":2,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"pySpark","layer":"tools","postings":2,"share":0.2857,"required":2,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"LangChain","layer":"frameworks","postings":2,"share":0.2857,"required":0,"open_postings":2,"first_seen":"2026-10-10","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"AWS Fargate","layer":"cloud","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"AWS Step Functions","layer":"cloud","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Amazon EKS","layer":"cloud","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"CI/CD","layer":"practices","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Claude","layer":"ai","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Dagster","layer":"frameworks","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Dask","layer":"frameworks","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Databricks","layer":"cloud","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"DynamoDB","layer":"data","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"ElasticSearch","layer":"data","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"GCP","layer":"cloud","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Human-in-the-Loop","layer":"practices","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"IAM","layer":"practices","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Master Data Management","layer":"practices","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Memgraph","layer":"data","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Neo4j","layer":"data","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"OpenAI Agents SDK","layer":"frameworks","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"OpenSearch","layer":"data","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Pydantic AI","layer":"frameworks","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"RAG","layer":"practices","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Ray","layer":"frameworks","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Rest API","layer":"tools","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-10","last_seen":"2026-10-10","median_stated_pay_usd":null},{"name":"Shuffle","layer":"tools","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Terraform","layer":"tools","postings":1,"share":0.1429,"required":1,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null},{"name":"Kubernetes","layer":"cloud","postings":1,"share":0.1429,"required":0,"open_postings":1,"first_seen":"2026-10-28","last_seen":"2026-10-28","median_stated_pay_usd":null}],"own_products":[],"changes":{"first_appeared":[{"name":"Amazon Redshift","first_seen":"2026-10-10"},{"name":"ETL/ELT","first_seen":"2026-10-10"},{"name":"Braintrust","first_seen":"2026-10-10"},{"name":"Promptfoo","first_seen":"2026-10-10"},{"name":"FastAPI","first_seen":"2026-10-10"},{"name":"LangGraph","first_seen":"2026-10-10"},{"name":"Model Context Protocol","first_seen":"2026-10-10"},{"name":"Pydantic","first_seen":"2026-10-10"}],"rising":[],"falling":[],"not_seen_180d":[]},"similar_stacks":[{"name":"Similarweb","url":"https://alion.io/company/similarweb/technologies","shared_technologies":34},{"name":"Mobile Programming","url":"https://alion.io/company/mobile-programming/technologies","shared_technologies":32},{"name":"Arionkoder","url":"https://alion.io/company/arionkoder/technologies","shared_technologies":33},{"name":"Mactores","url":"https://alion.io/company/mactores/technologies","shared_technologies":34},{"name":"Wizeline","url":"https://alion.io/company/wizeline-3/technologies","shared_technologies":35},{"name":"ZoomInfo","url":"https://alion.io/company/zoominfo/technologies","shared_technologies":35},{"name":"Ebury","url":"https://alion.io/company/ebury/technologies","shared_technologies":32},{"name":"CreateFuture","url":"https://alion.io/company/createfuture/technologies","shared_technologies":32}],"html_url":"https://alion.io/company/firmable/technologies","json_url":"https://alion.io/company/firmable/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-11-03T21:11:28Z","generated_at":"2026-11-04T18:44:42Z"}}