{"company":{"id":179587,"name":"Protolabs","domain":"protolabs.com","url":"https://alion.io/company/protolabs"},"answer":"Protolabs builds mostly with Python, SQL, C#, JavaScript. Its stack also includes Azure, AWS, Playwright, PostgreSQL. Python is named in 9 of the 36 job postings Protolabs published in the last 12 months (25%). Counted by Alion from the job postings of Protolabs, updated Sep 30, 2026.","window_days":365,"postings_analysed":36,"open_postings":30,"technologies_in_use":86,"modernity_score":74,"ai_adoption":true,"technologies":[{"name":"CI/CD","layer":"practices","postings":12,"share":0.3333,"required":12,"open_postings":10,"first_seen":"2026-06-17","last_seen":"2026-09-30","median_stated_pay_usd":161000},{"name":"Python","layer":"languages","postings":9,"share":0.25,"required":7,"open_postings":8,"first_seen":"2026-07-01","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Azure","layer":"cloud","postings":9,"share":0.25,"required":5,"open_postings":7,"first_seen":"2026-06-17","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"AWS","layer":"cloud","postings":8,"share":0.2222,"required":6,"open_postings":7,"first_seen":"2026-07-01","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"Azure DevOps","layer":"cloud","postings":8,"share":0.2222,"required":6,"open_postings":6,"first_seen":"2026-06-17","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"Kubernetes","layer":"cloud","postings":8,"share":0.2222,"required":5,"open_postings":7,"first_seen":"2026-07-01","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"SolidWorks","layer":"tools","postings":7,"share":0.1944,"required":7,"open_postings":6,"first_seen":"2026-04-28","last_seen":"2026-09-17","median_stated_pay_usd":80000},{"name":"Git","layer":"tools","postings":7,"share":0.1944,"required":5,"open_postings":4,"first_seen":"2026-06-17","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"GitHub Actions","layer":"cloud","postings":6,"share":0.1667,"required":5,"open_postings":5,"first_seen":"2026-06-17","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"SLI/SLO/SLA","layer":"practices","postings":6,"share":0.1667,"required":5,"open_postings":6,"first_seen":"2026-07-13","last_seen":"2026-09-21","median_stated_pay_usd":161000},{"name":"SQL","layer":"languages","postings":6,"share":0.1667,"required":4,"open_postings":4,"first_seen":"2026-07-01","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"C#","layer":"languages","postings":5,"share":0.1389,"required":4,"open_postings":4,"first_seen":"2026-07-01","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"LLM","layer":"ai","postings":4,"share":0.1111,"required":4,"open_postings":4,"first_seen":"2026-07-01","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Docker","layer":"tools","postings":4,"share":0.1111,"required":3,"open_postings":4,"first_seen":"2026-07-01","last_seen":"2026-09-01","median_stated_pay_usd":null},{"name":"Domo","layer":"cloud","postings":4,"share":0.1111,"required":3,"open_postings":2,"first_seen":"2026-04-28","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"GitHub","layer":"cloud","postings":4,"share":0.1111,"required":2,"open_postings":3,"first_seen":"2026-08-16","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"JavaScript","layer":"languages","postings":4,"share":0.1111,"required":2,"open_postings":4,"first_seen":"2026-07-01","last_seen":"2026-07-28","median_stated_pay_usd":null},{"name":"Playwright","layer":"frameworks","postings":4,"share":0.1111,"required":2,"open_postings":3,"first_seen":"2026-07-01","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Terraform","layer":"tools","postings":4,"share":0.1111,"required":2,"open_postings":3,"first_seen":"2026-07-09","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"Configuration Management","layer":"practices","postings":3,"share":0.0833,"required":3,"open_postings":2,"first_seen":"2026-08-16","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"PostgreSQL","layer":"data","postings":3,"share":0.0833,"required":3,"open_postings":3,"first_seen":"2026-07-09","last_seen":"2026-09-01","median_stated_pay_usd":null},{"name":"Rest API","layer":"tools","postings":3,"share":0.0833,"required":3,"open_postings":2,"first_seen":"2026-06-17","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"Ansible","layer":"tools","postings":3,"share":0.0833,"required":2,"open_postings":2,"first_seen":"2026-08-16","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"HAProxy","layer":"tools","postings":3,"share":0.0833,"required":2,"open_postings":2,"first_seen":"2026-08-16","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"Linux","layer":"cloud","postings":3,"share":0.0833,"required":2,"open_postings":2,"first_seen":"2026-08-16","last_seen":"2026-09-30","median_stated_pay_usd":null},{"name":"Selenium","layer":"frameworks","postings":3,"share":0.0833,"required":2,"open_postings":2,"first_seen":"2026-07-01","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"GCP","layer":"cloud","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-07-01","last_seen":"2026-09-01","median_stated_pay_usd":null},{"name":"Jenkins","layer":"tools","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"Microsoft Excel","layer":"tools","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-07-21","last_seen":"2026-07-31","median_stated_pay_usd":null},{"name":"MySQL","layer":"data","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-07-13","last_seen":"2026-09-01","median_stated_pay_usd":null},{"name":"Power BI","layer":"cloud","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-08-13","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"Windows","layer":"cloud","postings":2,"share":0.0556,"required":2,"open_postings":2,"first_seen":"2026-08-31","last_seen":"2026-09-11","median_stated_pay_usd":null},{"name":"Locust","layer":"tools","postings":2,"share":0.0556,"required":1,"open_postings":2,"first_seen":"2026-07-01","last_seen":"2026-09-01","median_stated_pay_usd":null},{"name":"Postman","layer":"cloud","postings":2,"share":0.0556,"required":1,"open_postings":2,"first_seen":"2026-09-01","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"Shift-Left","layer":"practices","postings":2,"share":0.0556,"required":1,"open_postings":2,"first_seen":"2026-07-01","last_seen":"2026-09-01","median_stated_pay_usd":null},{"name":".NET","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"A/B Testing","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Angular","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null},{"name":"Anomaly Detection","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-11","last_seen":"2026-08-11","median_stated_pay_usd":null},{"name":"Apex","layer":"languages","postings":1,"share":0.0278,"required":1,"open_postings":0,"first_seen":"2026-06-17","last_seen":"2026-06-17","median_stated_pay_usd":null},{"name":"AppDynamics","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"DHCP","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-11","last_seen":"2026-09-11","median_stated_pay_usd":null},{"name":"DNS","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-11","last_seen":"2026-09-11","median_stated_pay_usd":null},{"name":"Datadog","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"Dynatrace","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"Fusion 360","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-28","last_seen":"2026-07-28","median_stated_pay_usd":null},{"name":"Gatling","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"GitLab CI","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"Grafana","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"Incident Management","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-11","last_seen":"2026-08-11","median_stated_pay_usd":null},{"name":"Karpenter","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Lightning Web Components","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":0,"first_seen":"2026-06-17","last_seen":"2026-06-17","median_stated_pay_usd":null},{"name":"Machine Learning","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Microsoft Entra ID","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-11","last_seen":"2026-09-11","median_stated_pay_usd":null},{"name":"New Relic","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"Okta","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-11","last_seen":"2026-09-11","median_stated_pay_usd":null},{"name":"PowerShell","layer":"languages","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-11","last_seen":"2026-09-11","median_stated_pay_usd":null},{"name":"Prometheus","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"Prompt Engineering","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-21","last_seen":"2026-09-21","median_stated_pay_usd":null},{"name":"PyTorch","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Rest-Assured","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"SOAP","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":0,"first_seen":"2026-06-17","last_seen":"2026-06-17","median_stated_pay_usd":null},{"name":"Scikit-learn","layer":"frameworks","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"Self-Healing","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"TCP/IP","layer":"practices","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-11","last_seen":"2026-09-11","median_stated_pay_usd":null},{"name":"TPU","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":"TensorFlow","layer":"frameworks","postings":1,"share":0.0278,"required":1,"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.0278,"required":1,"open_postings":1,"first_seen":"2026-09-11","last_seen":"2026-09-11","median_stated_pay_usd":null},{"name":"Weights & Biases","layer":"cloud","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-09-24","last_seen":"2026-09-24","median_stated_pay_usd":null},{"name":"dbt","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-08-11","last_seen":"2026-08-11","median_stated_pay_usd":null},{"name":"gRPC","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-13","last_seen":"2026-07-13","median_stated_pay_usd":null},{"name":"k6","layer":"tools","postings":1,"share":0.0278,"required":1,"open_postings":1,"first_seen":"2026-07-01","last_seen":"2026-07-01","median_stated_pay_usd":null},{"name":"Amazon EKS","layer":"cloud","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null},{"name":"C++","layer":"languages","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null},{"name":"Celery","layer":"frameworks","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null},{"name":"FastAPI","layer":"frameworks","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null},{"name":"Flask","layer":"frameworks","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null},{"name":"Java","layer":"languages","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null},{"name":"Looker","layer":"cloud","postings":1,"share":0.0278,"required":0,"open_postings":0,"first_seen":"2026-08-21","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"Pytest","layer":"frameworks","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-09-01","last_seen":"2026-09-01","median_stated_pay_usd":null},{"name":"RabbitMQ","layer":"cloud","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null},{"name":"Redis","layer":"data","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null},{"name":"Rust","layer":"languages","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null},{"name":"SQLAlchemy","layer":"frameworks","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null},{"name":"Tableau","layer":"cloud","postings":1,"share":0.0278,"required":0,"open_postings":0,"first_seen":"2026-08-21","last_seen":"2026-08-21","median_stated_pay_usd":null},{"name":"TypeScript","layer":"languages","postings":1,"share":0.0278,"required":0,"open_postings":1,"first_seen":"2026-07-09","last_seen":"2026-07-09","median_stated_pay_usd":null}],"own_products":[],"changes":{"first_appeared":[{"name":"Postman","first_seen":"2026-09-01"},{"name":"Windows","first_seen":"2026-08-31"},{"name":"GitHub","first_seen":"2026-08-16"},{"name":"Configuration Management","first_seen":"2026-08-16"},{"name":"Ansible","first_seen":"2026-08-16"},{"name":"HAProxy","first_seen":"2026-08-16"},{"name":"Linux","first_seen":"2026-08-16"},{"name":"Power BI","first_seen":"2026-08-13"}],"rising":[],"falling":[],"not_seen_180d":[]},"similar_stacks":[{"name":"HighRadius","url":"https://alion.io/company/highradius/technologies","shared_technologies":62},{"name":"Moniepoint Group","url":"https://alion.io/company/moniepoint-group/technologies","shared_technologies":61},{"name":"Exadel","url":"https://alion.io/company/exadel-3/technologies","shared_technologies":67},{"name":"Applied Systems","url":"https://alion.io/company/appliedsystems/technologies","shared_technologies":63},{"name":"66degrees","url":"https://alion.io/company/66degrees/technologies","shared_technologies":66},{"name":"Extreme Networks","url":"https://alion.io/company/extreme-networks/technologies","shared_technologies":67},{"name":"HealthEdge","url":"https://alion.io/company/healthedge/technologies","shared_technologies":66},{"name":"iCapital","url":"https://alion.io/company/icapital/technologies","shared_technologies":62}],"html_url":"https://alion.io/company/protolabs/technologies","json_url":"https://alion.io/company/protolabs/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-09-30T19:39:21Z","generated_at":"2026-09-30T21:02:04Z"}}