{"company":{"id":1754712,"name":"Ecolab","domain":"ecolab.com","url":"https://alion.io/company/ecolab-com"},"answer":"Ecolab builds mostly with Python, SQL, JavaScript, C#. Its stack also includes Power BI, Azure, Snowflake, Delta Lake. Power BI is named in 13 of the 46 job postings Ecolab published in the last 12 months (28%). Counted by Alion from the job postings of Ecolab, updated Sep 27, 2026.","window_days":365,"postings_analysed":46,"open_postings":46,"technologies_in_use":100,"modernity_score":79,"ai_adoption":true,"technologies":[{"name":"AI Agents","layer":"practices","postings":13,"share":0.2826,"required":12,"open_postings":13,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Power BI","layer":"cloud","postings":13,"share":0.2826,"required":8,"open_postings":13,"first_seen":"2026-09-18","last_seen":"2026-09-25","median_stated_pay_usd":null},{"name":"Azure","layer":"cloud","postings":11,"share":0.2391,"required":9,"open_postings":11,"first_seen":"2026-09-21","last_seen":"2026-09-25","median_stated_pay_usd":null},{"name":"Microsoft Excel","layer":"tools","postings":11,"share":0.2391,"required":6,"open_postings":11,"first_seen":"2026-09-18","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"LLM","layer":"ai","postings":10,"share":0.2174,"required":9,"open_postings":10,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Python","layer":"languages","postings":9,"share":0.1957,"required":8,"open_postings":9,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"CI/CD","layer":"practices","postings":8,"share":0.1739,"required":8,"open_postings":8,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Databricks","layer":"cloud","postings":8,"share":0.1739,"required":8,"open_postings":8,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Platform Engineering","layer":"practices","postings":7,"share":0.1522,"required":7,"open_postings":7,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Snowflake","layer":"data","postings":7,"share":0.1522,"required":7,"open_postings":7,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"SQL","layer":"languages","postings":6,"share":0.1304,"required":6,"open_postings":6,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Incident Management","layer":"practices","postings":5,"share":0.1087,"required":5,"open_postings":5,"first_seen":"2026-09-18","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"RAG","layer":"practices","postings":5,"share":0.1087,"required":5,"open_postings":5,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"OpenAI","layer":"cloud","postings":5,"share":0.1087,"required":4,"open_postings":5,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Kubernetes","layer":"cloud","postings":5,"share":0.1087,"required":3,"open_postings":5,"first_seen":"2026-09-21","last_seen":"2026-09-25","median_stated_pay_usd":null},{"name":"HPC","layer":"practices","postings":5,"share":0.1087,"required":1,"open_postings":5,"first_seen":"2026-09-21","last_seen":"2026-09-22","median_stated_pay_usd":null},{"name":"Embeddings","layer":"practices","postings":4,"share":0.087,"required":4,"open_postings":4,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Multi-Agent Systems","layer":"practices","postings":4,"share":0.087,"required":4,"open_postings":4,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Rest API","layer":"tools","postings":4,"share":0.087,"required":4,"open_postings":4,"first_seen":"2026-09-22","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"pySpark","layer":"tools","postings":4,"share":0.087,"required":4,"open_postings":4,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Delta Lake","layer":"data","postings":4,"share":0.087,"required":3,"open_postings":4,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Docker","layer":"tools","postings":4,"share":0.087,"required":3,"open_postings":4,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Spark","layer":"cloud","postings":4,"share":0.087,"required":3,"open_postings":4,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Agentic Workflows","layer":"practices","postings":3,"share":0.0652,"required":3,"open_postings":3,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Anthropic","layer":"cloud","postings":3,"share":0.0652,"required":3,"open_postings":3,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"AutoGen","layer":"frameworks","postings":3,"share":0.0652,"required":3,"open_postings":3,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Copilot","layer":"tools","postings":3,"share":0.0652,"required":3,"open_postings":3,"first_seen":"2026-09-18","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Machine Learning","layer":"practices","postings":3,"share":0.0652,"required":3,"open_postings":3,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Semantic Kernel","layer":"tools","postings":3,"share":0.0652,"required":3,"open_postings":3,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"AWS","layer":"cloud","postings":3,"share":0.0652,"required":2,"open_postings":3,"first_seen":"2026-09-21","last_seen":"2026-09-25","median_stated_pay_usd":null},{"name":"GCP","layer":"cloud","postings":3,"share":0.0652,"required":2,"open_postings":3,"first_seen":"2026-09-21","last_seen":"2026-09-25","median_stated_pay_usd":null},{"name":"LangChain","layer":"frameworks","postings":3,"share":0.0652,"required":1,"open_postings":3,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"AutoCAD","layer":"tools","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Azure Data Factory","layer":"tools","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Azure DevOps","layer":"cloud","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Canva","layer":"tools","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"CrewAI","layer":"frameworks","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"ETL/ELT","layer":"practices","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-22","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Gemini","layer":"ai","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Git","layer":"tools","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"GitHub","layer":"cloud","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"GitHub Actions","layer":"cloud","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"JavaScript","layer":"languages","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-21","last_seen":"2026-09-22","median_stated_pay_usd":null},{"name":"LangGraph","layer":"frameworks","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"MLFlow","layer":"cloud","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Microsoft Fabric","layer":"cloud","postings":2,"share":0.0435,"required":2,"open_postings":2,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"LLM Guardrails","layer":"practices","postings":2,"share":0.0435,"required":1,"open_postings":2,"first_seen":"2026-09-21","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"A2A","layer":"tools","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Adobe Photoshop","layer":"tools","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"AgentOps","layer":"tools","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Akamai","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Anomaly Detection","layer":"practices","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Ansible","layer":"tools","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-25","last_seen":"2026-09-25","median_stated_pay_usd":null},{"name":"Apache Kafka","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Azure AKS","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Burp Suite","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"C#","layer":"languages","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Claude Code","layer":"tools","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Cloudflare","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Cursor","layer":"tools","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Datadog","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Dimensional Modeling","layer":"practices","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"FAISS","layer":"frameworks","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"FastAPI","layer":"frameworks","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Fastly","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Feature Store","layer":"practices","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"FinOps","layer":"practices","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Fine-tuning","layer":"practices","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Function Calling","layer":"practices","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Google AI Studio","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Linux","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-25","last_seen":"2026-09-25","median_stated_pay_usd":null},{"name":"MobSF","layer":"tools","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Model Context Protocol","layer":"tools","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"New Relic","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"OCR","layer":"practices","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-18","last_seen":"2026-09-18","median_stated_pay_usd":null},{"name":"OpenTelemetry","layer":"frameworks","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Oracle","layer":"data","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Pinecone","layer":"data","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Postman","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"PowerShell","layer":"languages","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Prompt Engineering","layer":"practices","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Qualys Cloud Platform","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"SLI/SLO/SLA","layer":"practices","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"SOAP","layer":"practices","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-22","last_seen":"2026-09-22","median_stated_pay_usd":null},{"name":"Snyk","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"SolidWorks","layer":"tools","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"Terraform","layer":"tools","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Tool Use","layer":"practices","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"TypeScript","layer":"languages","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Unix","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-25","last_seen":"2026-09-25","median_stated_pay_usd":null},{"name":"Weaviate","layer":"data","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Wiz","layer":"cloud","postings":1,"share":0.0217,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"DLP","layer":"cloud","postings":1,"share":0.0217,"required":0,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Fabric AI","layer":"tools","postings":1,"share":0.0217,"required":0,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Hallucination","layer":"practices","postings":1,"share":0.0217,"required":0,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"MS SQL","layer":"data","postings":1,"share":0.0217,"required":0,"open_postings":1,"first_seen":"2026-09-23","last_seen":"2026-09-23","median_stated_pay_usd":null},{"name":"NLP","layer":"practices","postings":1,"share":0.0217,"required":0,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Recommender Systems","layer":"practices","postings":1,"share":0.0217,"required":0,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"VPN","layer":"practices","postings":1,"share":0.0217,"required":0,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Windows","layer":"cloud","postings":1,"share":0.0217,"required":0,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null}],"own_products":[],"changes":{"first_appeared":[],"rising":[],"falling":[],"not_seen_180d":[]},"similar_stacks":[{"name":"The Coca-Cola Company","url":"https://alion.io/company/the-coca-cola-company/technologies","shared_technologies":87},{"name":"Johnson Controls","url":"https://alion.io/company/johnsoncontrols-3/technologies","shared_technologies":100},{"name":"Maersk","url":"https://alion.io/company/maersk/technologies","shared_technologies":80},{"name":"The Hartford","url":"https://alion.io/company/thehartford-com/technologies","shared_technologies":89},{"name":"Zebra Technologies","url":"https://alion.io/company/zebra-technologies/technologies","shared_technologies":86},{"name":"Blend360","url":"https://alion.io/company/blend360/technologies","shared_technologies":83},{"name":"Michelin","url":"https://alion.io/company/michelin/technologies","shared_technologies":73},{"name":"Tiger Analytics","url":"https://alion.io/company/tigeranalytics/technologies","shared_technologies":88}],"html_url":"https://alion.io/company/ecolab-com/technologies","json_url":"https://alion.io/company/ecolab-com/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-09-27T16:55:36Z","generated_at":"2026-09-28T02:31:16Z"}}