{"company":{"id":5349,"name":"MaintainX","domain":"getmaintainx.com","url":"https://alion.io/company/maintainx"},"answer":"MaintainX builds mostly with TypeScript, JavaScript, SQL, Python. Its stack also includes AWS, React.js, React Native, MuleSoft. TypeScript is named in 17 of the 79 job postings MaintainX published in the last 12 months (22%). Counted by Alion from the job postings of MaintainX, updated Sep 29, 2026.","window_days":365,"postings_analysed":79,"open_postings":57,"technologies_in_use":92,"modernity_score":75,"ai_adoption":true,"technologies":[{"name":"CI/CD","layer":"practices","postings":27,"share":0.3418,"required":26,"open_postings":18,"first_seen":"2025-10-21","last_seen":"2026-09-21","median_stated_pay_usd":230500},{"name":"Platform Engineering","layer":"practices","postings":24,"share":0.3038,"required":22,"open_postings":15,"first_seen":"2025-01-22","last_seen":"2026-09-18","median_stated_pay_usd":230500},{"name":"TypeScript","layer":"languages","postings":17,"share":0.2152,"required":15,"open_postings":12,"first_seen":"2024-08-08","last_seen":"2026-09-16","median_stated_pay_usd":230500},{"name":"JavaScript","layer":"languages","postings":17,"share":0.2152,"required":7,"open_postings":11,"first_seen":"2024-08-08","last_seen":"2026-09-16","median_stated_pay_usd":225000},{"name":"AWS","layer":"cloud","postings":16,"share":0.2025,"required":13,"open_postings":12,"first_seen":"2025-11-12","last_seen":"2026-09-21","median_stated_pay_usd":217000},{"name":"SQL","layer":"languages","postings":16,"share":0.2025,"required":12,"open_postings":11,"first_seen":"2025-11-12","last_seen":"2026-09-11","median_stated_pay_usd":82025},{"name":"Python","layer":"languages","postings":15,"share":0.1899,"required":15,"open_postings":13,"first_seen":"2026-01-09","last_seen":"2026-09-21","median_stated_pay_usd":192000},{"name":"LLM","layer":"ai","postings":15,"share":0.1899,"required":14,"open_postings":12,"first_seen":"2026-01-19","last_seen":"2026-09-21","median_stated_pay_usd":236000},{"name":"AI Agents","layer":"practices","postings":14,"share":0.1772,"required":12,"open_postings":10,"first_seen":"2026-03-02","last_seen":"2026-09-08","median_stated_pay_usd":236000},{"name":"Node JS","layer":"languages","postings":14,"share":0.1772,"required":12,"open_postings":9,"first_seen":"2024-08-08","last_seen":"2026-09-16","median_stated_pay_usd":236000},{"name":"React.js","layer":"frameworks","postings":12,"share":0.1519,"required":4,"open_postings":7,"first_seen":"2024-08-08","last_seen":"2026-09-04","median_stated_pay_usd":209000},{"name":"Rest API","layer":"tools","postings":11,"share":0.1392,"required":11,"open_postings":11,"first_seen":"2024-08-08","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"GraphQL","layer":"tools","postings":11,"share":0.1392,"required":9,"open_postings":6,"first_seen":"2025-11-12","last_seen":"2026-09-16","median_stated_pay_usd":236800},{"name":"React Native","layer":"frameworks","postings":11,"share":0.1392,"required":7,"open_postings":7,"first_seen":"2024-08-08","last_seen":"2026-09-04","median_stated_pay_usd":209000},{"name":"MuleSoft","layer":"cloud","postings":10,"share":0.1266,"required":10,"open_postings":10,"first_seen":"2025-06-19","last_seen":"2026-07-02","median_stated_pay_usd":null},{"name":"Apex","layer":"languages","postings":10,"share":0.1266,"required":0,"open_postings":10,"first_seen":"2025-06-19","last_seen":"2026-07-02","median_stated_pay_usd":null},{"name":"Terraform","layer":"tools","postings":9,"share":0.1139,"required":9,"open_postings":8,"first_seen":"2026-01-19","last_seen":"2026-09-21","median_stated_pay_usd":209000},{"name":"Azure","layer":"cloud","postings":9,"share":0.1139,"required":6,"open_postings":5,"first_seen":"2025-11-12","last_seen":"2026-09-21","median_stated_pay_usd":249260},{"name":"GCP","layer":"cloud","postings":9,"share":0.1139,"required":6,"open_postings":5,"first_seen":"2025-11-12","last_seen":"2026-09-21","median_stated_pay_usd":249260},{"name":"Machine Learning","layer":"practices","postings":7,"share":0.0886,"required":7,"open_postings":4,"first_seen":"2026-01-09","last_seen":"2026-09-15","median_stated_pay_usd":null},{"name":"Databricks","layer":"cloud","postings":7,"share":0.0886,"required":6,"open_postings":5,"first_seen":"2025-01-22","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Docker","layer":"tools","postings":6,"share":0.0759,"required":5,"open_postings":6,"first_seen":"2026-03-02","last_seen":"2026-09-08","median_stated_pay_usd":236000},{"name":"RAG","layer":"practices","postings":6,"share":0.0759,"required":5,"open_postings":4,"first_seen":"2026-01-12","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Tool Use","layer":"practices","postings":6,"share":0.0759,"required":5,"open_postings":5,"first_seen":"2026-03-04","last_seen":"2026-09-04","median_stated_pay_usd":236000},{"name":"Kubernetes","layer":"cloud","postings":6,"share":0.0759,"required":4,"open_postings":6,"first_seen":"2026-03-02","last_seen":"2026-09-08","median_stated_pay_usd":222500},{"name":"MySQL","layer":"data","postings":6,"share":0.0759,"required":4,"open_postings":6,"first_seen":"2024-08-08","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"C#","layer":"languages","postings":5,"share":0.0633,"required":5,"open_postings":5,"first_seen":"2026-03-09","last_seen":"2026-09-08","median_stated_pay_usd":248600},{"name":"Copilot","layer":"tools","postings":5,"share":0.0633,"required":2,"open_postings":3,"first_seen":"2026-03-09","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Agentic Workflows","layer":"practices","postings":4,"share":0.0506,"required":4,"open_postings":4,"first_seen":"2026-03-04","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"GitHub","layer":"cloud","postings":4,"share":0.0506,"required":4,"open_postings":0,"first_seen":"2025-11-12","last_seen":"2026-05-12","median_stated_pay_usd":null},{"name":"GitHub Actions","layer":"cloud","postings":4,"share":0.0506,"required":4,"open_postings":3,"first_seen":"2026-03-02","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"LLM Guardrails","layer":"practices","postings":4,"share":0.0506,"required":4,"open_postings":4,"first_seen":"2026-03-02","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Model Context Protocol","layer":"tools","postings":4,"share":0.0506,"required":4,"open_postings":3,"first_seen":"2026-03-04","last_seen":"2026-05-18","median_stated_pay_usd":null},{"name":"SLI/SLO/SLA","layer":"practices","postings":4,"share":0.0506,"required":4,"open_postings":1,"first_seen":"2026-05-26","last_seen":"2026-05-26","median_stated_pay_usd":null},{"name":"Structured Outputs","layer":"practices","postings":4,"share":0.0506,"required":4,"open_postings":4,"first_seen":"2026-06-02","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Cursor","layer":"tools","postings":4,"share":0.0506,"required":2,"open_postings":3,"first_seen":"2026-03-04","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Fine-tuning","layer":"practices","postings":4,"share":0.0506,"required":2,"open_postings":4,"first_seen":"2026-06-11","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"OCR","layer":"practices","postings":4,"share":0.0506,"required":2,"open_postings":4,"first_seen":"2026-07-28","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Apache Kafka","layer":"cloud","postings":3,"share":0.038,"required":3,"open_postings":2,"first_seen":"2026-01-09","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Flink","layer":"frameworks","postings":3,"share":0.038,"required":3,"open_postings":2,"first_seen":"2026-01-09","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"IAM","layer":"practices","postings":3,"share":0.038,"required":3,"open_postings":2,"first_seen":"2025-10-21","last_seen":"2026-09-10","median_stated_pay_usd":null},{"name":"MLFlow","layer":"cloud","postings":3,"share":0.038,"required":3,"open_postings":3,"first_seen":"2026-06-09","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"PyTorch","layer":"frameworks","postings":3,"share":0.038,"required":3,"open_postings":3,"first_seen":"2026-07-28","last_seen":"2026-09-15","median_stated_pay_usd":null},{"name":"TensorFlow","layer":"frameworks","postings":3,"share":0.038,"required":3,"open_postings":3,"first_seen":"2026-07-28","last_seen":"2026-09-15","median_stated_pay_usd":null},{"name":"Time Series Forecasting","layer":"practices","postings":3,"share":0.038,"required":3,"open_postings":3,"first_seen":"2026-07-28","last_seen":"2026-09-15","median_stated_pay_usd":null},{"name":"Datadog","layer":"cloud","postings":3,"share":0.038,"required":2,"open_postings":3,"first_seen":"2026-07-10","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Function Calling","layer":"practices","postings":3,"share":0.038,"required":2,"open_postings":2,"first_seen":"2026-05-18","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"LangChain","layer":"frameworks","postings":3,"share":0.038,"required":2,"open_postings":2,"first_seen":"2026-05-18","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"LlamaIndex","layer":"frameworks","postings":3,"share":0.038,"required":2,"open_postings":2,"first_seen":"2026-05-18","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"Claude Code","layer":"tools","postings":3,"share":0.038,"required":1,"open_postings":3,"first_seen":"2026-03-04","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"A/B Testing","layer":"practices","postings":2,"share":0.0253,"required":2,"open_postings":1,"first_seen":"2026-03-11","last_seen":"2026-06-09","median_stated_pay_usd":null},{"name":"Amazon SageMaker","layer":"cloud","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"Anomaly Detection","layer":"practices","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"ElasticSearch","layer":"data","postings":2,"share":0.0253,"required":2,"open_postings":1,"first_seen":"2026-03-09","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Embeddings","layer":"practices","postings":2,"share":0.0253,"required":2,"open_postings":1,"first_seen":"2026-03-09","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Go","layer":"languages","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-03-09","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Helm","layer":"tools","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-03-02","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Hugging Face","layer":"cloud","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"Human-in-the-Loop","layer":"practices","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-06-11","last_seen":"2026-07-28","median_stated_pay_usd":null},{"name":"Incident Management","layer":"practices","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-02-12","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Knowledge Distillation","layer":"practices","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"Model Distillation","layer":"practices","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"Multimodal AI","layer":"practices","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-08-19","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"OpenSearch","layer":"data","postings":2,"share":0.0253,"required":2,"open_postings":1,"first_seen":"2026-03-09","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Playwright","layer":"frameworks","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-07-10","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"PostgreSQL","layer":"data","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-03-09","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Prompt Engineering","layer":"practices","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-08-19","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Pulumi","layer":"tools","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-01-19","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Quantization","layer":"practices","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"Selenium","layer":"frameworks","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-07-10","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Weights & Biases","layer":"cloud","postings":2,"share":0.0253,"required":2,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"ETL/ELT","layer":"practices","postings":2,"share":0.0253,"required":1,"open_postings":2,"first_seen":"2026-03-09","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"SAP BTP","layer":"cloud","postings":2,"share":0.0253,"required":1,"open_postings":2,"first_seen":"2026-03-09","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Semantic Search","layer":"practices","postings":2,"share":0.0253,"required":1,"open_postings":2,"first_seen":"2026-01-09","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"ABAP","layer":"languages","postings":2,"share":0.0253,"required":0,"open_postings":2,"first_seen":"2026-03-09","last_seen":"2026-09-08","median_stated_pay_usd":null},{"name":"Digital Twin","layer":"practices","postings":2,"share":0.0253,"required":0,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"Reinforcement Learning","layer":"practices","postings":2,"share":0.0253,"required":0,"open_postings":2,"first_seen":"2026-07-28","last_seen":"2026-08-25","median_stated_pay_usd":null},{"name":"Amazon ECS","layer":"cloud","postings":1,"share":0.0127,"required":1,"open_postings":1,"first_seen":"2026-05-08","last_seen":"2026-05-08","median_stated_pay_usd":null},{"name":"Amazon EKS","layer":"cloud","postings":1,"share":0.0127,"required":1,"open_postings":1,"first_seen":"2026-05-08","last_seen":"2026-05-08","median_stated_pay_usd":null},{"name":"Docusaurus","layer":"frameworks","postings":1,"share":0.0127,"required":1,"open_postings":0,"first_seen":"2026-09-01","last_seen":"2026-09-01","median_stated_pay_usd":null},{"name":"OpenTelemetry","layer":"frameworks","postings":1,"share":0.0127,"required":1,"open_postings":1,"first_seen":"2026-03-04","last_seen":"2026-03-04","median_stated_pay_usd":null},{"name":"Scikit-learn","layer":"frameworks","postings":1,"share":0.0127,"required":1,"open_postings":1,"first_seen":"2026-06-09","last_seen":"2026-06-09","median_stated_pay_usd":null},{"name":"Semantic Search","layer":"practices","postings":1,"share":0.0127,"required":1,"open_postings":1,"first_seen":"2026-09-04","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Shift-Left","layer":"practices","postings":1,"share":0.0127,"required":1,"open_postings":1,"first_seen":"2026-02-13","last_seen":"2026-02-13","median_stated_pay_usd":null},{"name":"dbt","layer":"tools","postings":1,"share":0.0127,"required":1,"open_postings":1,"first_seen":"2025-01-22","last_seen":"2026-09-02","median_stated_pay_usd":null},{"name":"Braintrust","layer":"tools","postings":1,"share":0.0127,"required":0,"open_postings":0,"first_seen":"2026-05-18","last_seen":"2026-05-18","median_stated_pay_usd":null},{"name":"Knowledge Graph","layer":"practices","postings":1,"share":0.0127,"required":0,"open_postings":0,"first_seen":"2026-05-18","last_seen":"2026-05-18","median_stated_pay_usd":null},{"name":"LangGraph","layer":"frameworks","postings":1,"share":0.0127,"required":0,"open_postings":0,"first_seen":"2026-05-18","last_seen":"2026-05-18","median_stated_pay_usd":null},{"name":"LangSmith","layer":"cloud","postings":1,"share":0.0127,"required":0,"open_postings":0,"first_seen":"2026-05-18","last_seen":"2026-05-18","median_stated_pay_usd":null},{"name":"Langfuse","layer":"cloud","postings":1,"share":0.0127,"required":0,"open_postings":0,"first_seen":"2026-05-18","last_seen":"2026-05-18","median_stated_pay_usd":null},{"name":"Multi-Agent Systems","layer":"practices","postings":1,"share":0.0127,"required":0,"open_postings":0,"first_seen":"2026-05-18","last_seen":"2026-05-18","median_stated_pay_usd":null},{"name":"Okta","layer":"cloud","postings":1,"share":0.0127,"required":0,"open_postings":1,"first_seen":"2026-09-04","last_seen":"2026-09-04","median_stated_pay_usd":null}],"own_products":[],"changes":{"first_appeared":[{"name":"Multimodal AI","first_seen":"2026-08-19"},{"name":"Prompt Engineering","first_seen":"2026-08-19"},{"name":"OCR","first_seen":"2026-07-28"},{"name":"PyTorch","first_seen":"2026-07-28"},{"name":"TensorFlow","first_seen":"2026-07-28"},{"name":"Time Series Forecasting","first_seen":"2026-07-28"},{"name":"Amazon SageMaker","first_seen":"2026-07-28"},{"name":"Anomaly Detection","first_seen":"2026-07-28"}],"rising":[{"name":"SQL","share_from":4,"share_to":31},{"name":"AWS","share_from":4,"share_to":25},{"name":"TypeScript","share_from":4,"share_to":22},{"name":"JavaScript","share_from":4,"share_to":22},{"name":"React.js","share_from":0,"share_to":16},{"name":"Node JS","share_from":4,"share_to":19},{"name":"React Native","share_from":0,"share_to":13},{"name":"Docker","share_from":0,"share_to":13}],"falling":[{"name":"Platform Engineering","share_from":48,"share_to":22},{"name":"CI/CD","share_from":48,"share_to":25},{"name":"MuleSoft","share_from":22,"share_to":3},{"name":"Apex","share_from":22,"share_to":3},{"name":"SLI/SLO/SLA","share_from":17,"share_to":0},{"name":"Model Context Protocol","share_from":13,"share_to":0},{"name":"AI Agents","share_from":26,"share_to":16},{"name":"Rest API","share_from":22,"share_to":13}],"not_seen_180d":[]},"similar_stacks":[{"name":"UiPath","url":"https://alion.io/company/uipath/technologies","shared_technologies":71},{"name":"Doctolib","url":"https://alion.io/company/doctolib/technologies","shared_technologies":71},{"name":"Proofpoint","url":"https://alion.io/company/proofpoint/technologies","shared_technologies":81},{"name":"Tekion","url":"https://alion.io/company/tekion/technologies","shared_technologies":81},{"name":"Point Click Care","url":"https://alion.io/company/point-click-care/technologies","shared_technologies":73},{"name":"Blend360","url":"https://alion.io/company/blend360/technologies","shared_technologies":78},{"name":"Reddit","url":"https://alion.io/company/reddit/technologies","shared_technologies":72},{"name":"Samsara","url":"https://alion.io/company/samsara/technologies","shared_technologies":75}],"html_url":"https://alion.io/company/maintainx/technologies","json_url":"https://alion.io/company/maintainx/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-09-29T00:07:55Z","generated_at":"2026-09-29T20:04:47Z"}}