{"company":{"id":13046,"name":"Sonatus","domain":"sonatus.com","url":"https://alion.io/company/sonatus"},"answer":"Sonatus builds mostly with Python, C++, Go, Java. Its stack also includes Linux, Kubernetes, PyTorch, PyTorch C++. Python is named in 18 of the 26 job postings Sonatus published in the last 12 months (69%). Counted by Alion from the job postings of Sonatus, updated Sep 28, 2026.","window_days":365,"postings_analysed":26,"open_postings":19,"technologies_in_use":101,"modernity_score":83,"ai_adoption":true,"technologies":[{"name":"Python","layer":"languages","postings":18,"share":0.6923,"required":17,"open_postings":13,"first_seen":"2026-02-12","last_seen":"2026-08-24","median_stated_pay_usd":290000},{"name":"C++","layer":"languages","postings":17,"share":0.6538,"required":15,"open_postings":14,"first_seen":"2026-03-06","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"Linux","layer":"cloud","postings":15,"share":0.5769,"required":12,"open_postings":14,"first_seen":"2026-03-06","last_seen":"2026-08-24","median_stated_pay_usd":272000},{"name":"AI Agents","layer":"practices","postings":8,"share":0.3077,"required":8,"open_postings":3,"first_seen":"2026-03-09","last_seen":"2026-07-22","median_stated_pay_usd":null},{"name":"LLM","layer":"ai","postings":8,"share":0.3077,"required":8,"open_postings":6,"first_seen":"2026-03-09","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Time Series Forecasting","layer":"practices","postings":8,"share":0.3077,"required":8,"open_postings":5,"first_seen":"2026-03-09","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Kubernetes","layer":"cloud","postings":8,"share":0.3077,"required":5,"open_postings":6,"first_seen":"2026-03-06","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"AWS","layer":"cloud","postings":7,"share":0.2692,"required":7,"open_postings":5,"first_seen":"2026-03-06","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"CI/CD","layer":"practices","postings":7,"share":0.2692,"required":7,"open_postings":7,"first_seen":"2026-03-06","last_seen":"2026-07-21","median_stated_pay_usd":null},{"name":"Claude","layer":"ai","postings":7,"share":0.2692,"required":7,"open_postings":7,"first_seen":"2026-03-17","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Machine Learning","layer":"practices","postings":7,"share":0.2692,"required":7,"open_postings":4,"first_seen":"2026-03-09","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Copilot","layer":"tools","postings":6,"share":0.2308,"required":6,"open_postings":6,"first_seen":"2026-03-17","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"Go","layer":"languages","postings":6,"share":0.2308,"required":6,"open_postings":4,"first_seen":"2026-03-09","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Java","layer":"languages","postings":6,"share":0.2308,"required":6,"open_postings":4,"first_seen":"2026-03-09","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"PyTorch","layer":"frameworks","postings":6,"share":0.2308,"required":6,"open_postings":4,"first_seen":"2026-03-09","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"PyTorch C++","layer":"frameworks","postings":6,"share":0.2308,"required":6,"open_postings":4,"first_seen":"2026-03-09","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Pytest","layer":"frameworks","postings":6,"share":0.2308,"required":6,"open_postings":6,"first_seen":"2026-03-17","last_seen":"2026-07-21","median_stated_pay_usd":null},{"name":"RAG","layer":"practices","postings":6,"share":0.2308,"required":6,"open_postings":2,"first_seen":"2026-03-09","last_seen":"2026-07-22","median_stated_pay_usd":null},{"name":"Scikit-learn","layer":"frameworks","postings":6,"share":0.2308,"required":6,"open_postings":4,"first_seen":"2026-03-09","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"TensorFlow","layer":"frameworks","postings":6,"share":0.2308,"required":6,"open_postings":4,"first_seen":"2026-03-09","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"TensorFlow C++","layer":"frameworks","postings":6,"share":0.2308,"required":6,"open_postings":4,"first_seen":"2026-03-09","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Docker","layer":"tools","postings":6,"share":0.2308,"required":5,"open_postings":4,"first_seen":"2026-03-09","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"MQTT","layer":"tools","postings":6,"share":0.2308,"required":1,"open_postings":5,"first_seen":"2026-07-14","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"GCP","layer":"cloud","postings":5,"share":0.1923,"required":5,"open_postings":3,"first_seen":"2026-03-09","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Git","layer":"tools","postings":5,"share":0.1923,"required":5,"open_postings":4,"first_seen":"2026-02-12","last_seen":"2026-07-21","median_stated_pay_usd":null},{"name":"A/B Testing","layer":"practices","postings":4,"share":0.1538,"required":4,"open_postings":1,"first_seen":"2026-03-09","last_seen":"2026-04-06","median_stated_pay_usd":null},{"name":"Azure","layer":"cloud","postings":4,"share":0.1538,"required":4,"open_postings":2,"first_seen":"2026-03-09","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Computer Vision","layer":"practices","postings":4,"share":0.1538,"required":4,"open_postings":3,"first_seen":"2026-04-06","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Hallucination","layer":"practices","postings":4,"share":0.1538,"required":4,"open_postings":2,"first_seen":"2026-03-09","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"SQL","layer":"languages","postings":4,"share":0.1538,"required":4,"open_postings":3,"first_seen":"2026-02-12","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Transformers","layer":"frameworks","postings":4,"share":0.1538,"required":4,"open_postings":3,"first_seen":"2026-04-06","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Jenkins","layer":"tools","postings":4,"share":0.1538,"required":3,"open_postings":4,"first_seen":"2026-03-06","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"Anomaly Detection","layer":"practices","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Apache TVM","layer":"frameworks","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"CNN","layer":"practices","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Edge AI","layer":"practices","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Gemini","layer":"ai","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Knowledge Distillation","layer":"practices","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"LiteRT","layer":"frameworks","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Model Distillation","layer":"practices","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Multi-Agent Systems","layer":"practices","postings":3,"share":0.1154,"required":3,"open_postings":1,"first_seen":"2026-03-09","last_seen":"2026-04-01","median_stated_pay_usd":null},{"name":"NLP","layer":"practices","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"ONNX","layer":"tools","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"OpenAI","layer":"cloud","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Quantization","layer":"practices","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Statsmodels","layer":"frameworks","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Synthetic Data","layer":"practices","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"TFLite","layer":"frameworks","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Terraform","layer":"tools","postings":3,"share":0.1154,"required":3,"open_postings":3,"first_seen":"2026-03-06","last_seen":"2026-07-20","median_stated_pay_usd":null},{"name":"Tool Use","layer":"practices","postings":3,"share":0.1154,"required":3,"open_postings":1,"first_seen":"2026-03-09","last_seen":"2026-04-01","median_stated_pay_usd":null},{"name":"Apache Kafka","layer":"cloud","postings":3,"share":0.1154,"required":2,"open_postings":3,"first_seen":"2026-05-21","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Rust","layer":"languages","postings":3,"share":0.1154,"required":2,"open_postings":3,"first_seen":"2026-05-21","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"TCP/IP","layer":"practices","postings":3,"share":0.1154,"required":2,"open_postings":2,"first_seen":"2026-07-21","last_seen":"2026-08-24","median_stated_pay_usd":null},{"name":"CMake","layer":"tools","postings":3,"share":0.1154,"required":1,"open_postings":3,"first_seen":"2026-03-06","last_seen":"2026-08-10","median_stated_pay_usd":null},{"name":"TensorRT","layer":"tools","postings":3,"share":0.1154,"required":0,"open_postings":3,"first_seen":"2026-07-14","last_seen":"2026-07-27","median_stated_pay_usd":null},{"name":"Ansible","layer":"tools","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"Bash","layer":"languages","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"Configuration Management","layer":"practices","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"Context Engineering","layer":"practices","postings":2,"share":0.0769,"required":2,"open_postings":0,"first_seen":"2026-04-06","last_seen":"2026-07-22","median_stated_pay_usd":null},{"name":"DNS","layer":"practices","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"Fastlane","layer":"tools","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-07-20","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"Grafana","layer":"cloud","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"Groovy","layer":"languages","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"HPC","layer":"practices","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-07-20","last_seen":"2026-08-14","median_stated_pay_usd":null},{"name":"Nagios","layer":"tools","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"Playwright","layer":"frameworks","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-06-30","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"Prometheus","layer":"tools","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"RabbitMQ","layer":"cloud","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-05-21","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Scala","layer":"languages","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-07-20","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"VPN","layer":"practices","postings":2,"share":0.0769,"required":2,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"Bazel","layer":"tools","postings":2,"share":0.0769,"required":0,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"KVM","layer":"tools","postings":2,"share":0.0769,"required":0,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"VMWare","layer":"cloud","postings":2,"share":0.0769,"required":0,"open_postings":2,"first_seen":"2026-03-06","last_seen":"2026-03-06","median_stated_pay_usd":null},{"name":"Agentic Workflows","layer":"practices","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-17","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"BigQuery","layer":"data","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-20","last_seen":"2026-07-20","median_stated_pay_usd":null},{"name":"Cassandra","layer":"data","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-20","last_seen":"2026-07-20","median_stated_pay_usd":null},{"name":"ClickHouse","layer":"data","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-20","last_seen":"2026-07-20","median_stated_pay_usd":null},{"name":"CloudFormation","layer":"tools","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-20","last_seen":"2026-07-20","median_stated_pay_usd":null},{"name":"Druid","layer":"data","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-20","last_seen":"2026-07-20","median_stated_pay_usd":null},{"name":"ETL/ELT","layer":"practices","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-20","last_seen":"2026-07-20","median_stated_pay_usd":null},{"name":"Embeddings","layer":"practices","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-17","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"Fine-tuning","layer":"practices","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-03-09","last_seen":"2026-03-09","median_stated_pay_usd":null},{"name":"Google BigQuery","layer":"data","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-20","last_seen":"2026-07-20","median_stated_pay_usd":null},{"name":"GraphQL","layer":"tools","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-09-17","last_seen":"2026-09-17","median_stated_pay_usd":null},{"name":"Human-in-the-Loop","layer":"practices","postings":1,"share":0.0385,"required":1,"open_postings":0,"first_seen":"2026-02-12","last_seen":"2026-02-12","median_stated_pay_usd":null},{"name":"LLM Evaluation","layer":"practices","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-17","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"LLM Guardrails","layer":"practices","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-17","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"LangGraph","layer":"frameworks","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-17","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"MLFlow","layer":"cloud","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-06-30","last_seen":"2026-06-30","median_stated_pay_usd":null},{"name":"MySQL","layer":"data","postings":1,"share":0.0385,"required":1,"open_postings":0,"first_seen":"2026-02-12","last_seen":"2026-02-12","median_stated_pay_usd":null},{"name":"PostgreSQL","layer":"data","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-20","last_seen":"2026-07-20","median_stated_pay_usd":null},{"name":"Reinforcement Learning","layer":"practices","postings":1,"share":0.0385,"required":1,"open_postings":0,"first_seen":"2026-04-06","last_seen":"2026-04-06","median_stated_pay_usd":null},{"name":"Rest API","layer":"tools","postings":1,"share":0.0385,"required":1,"open_postings":0,"first_seen":"2026-02-12","last_seen":"2026-02-12","median_stated_pay_usd":null},{"name":"SQLite","layer":"data","postings":1,"share":0.0385,"required":1,"open_postings":0,"first_seen":"2026-02-12","last_seen":"2026-02-12","median_stated_pay_usd":null},{"name":"Tcpdump","layer":"tools","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-21","last_seen":"2026-07-21","median_stated_pay_usd":null},{"name":"TimescaleDB","layer":"data","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-20","last_seen":"2026-07-20","median_stated_pay_usd":null},{"name":"VLAN","layer":"practices","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-21","last_seen":"2026-07-21","median_stated_pay_usd":null},{"name":"Wireshark","layer":"tools","postings":1,"share":0.0385,"required":1,"open_postings":1,"first_seen":"2026-07-21","last_seen":"2026-07-21","median_stated_pay_usd":null},{"name":"LDAP","layer":"cloud","postings":1,"share":0.0385,"required":0,"open_postings":0,"first_seen":"2026-02-12","last_seen":"2026-02-12","median_stated_pay_usd":null},{"name":"LangChain","layer":"frameworks","postings":1,"share":0.0385,"required":0,"open_postings":1,"first_seen":"2026-07-17","last_seen":"2026-07-17","median_stated_pay_usd":null},{"name":"Protobuf","layer":"tools","postings":1,"share":0.0385,"required":0,"open_postings":1,"first_seen":"2026-08-14","last_seen":"2026-08-14","median_stated_pay_usd":null}],"own_products":[],"changes":{"first_appeared":[{"name":"TCP/IP","first_seen":"2026-07-21"},{"name":"Fastlane","first_seen":"2026-07-20"},{"name":"HPC","first_seen":"2026-07-20"},{"name":"Scala","first_seen":"2026-07-20"},{"name":"MQTT","first_seen":"2026-07-14"},{"name":"Anomaly Detection","first_seen":"2026-07-14"},{"name":"Apache TVM","first_seen":"2026-07-14"},{"name":"CNN","first_seen":"2026-07-14"}],"rising":[],"falling":[],"not_seen_180d":[{"name":"Ansible","last_seen":"2026-03-06"},{"name":"Bash","last_seen":"2026-03-06"},{"name":"Configuration Management","last_seen":"2026-03-06"},{"name":"DNS","last_seen":"2026-03-06"},{"name":"Grafana","last_seen":"2026-03-06"},{"name":"Groovy","last_seen":"2026-03-06"},{"name":"Nagios","last_seen":"2026-03-06"},{"name":"Prometheus","last_seen":"2026-03-06"}]},"similar_stacks":[{"name":"Tower Research Capital","url":"https://alion.io/company/tower-research-capital/technologies","shared_technologies":63},{"name":"Proofpoint","url":"https://alion.io/company/proofpoint/technologies","shared_technologies":76},{"name":"NetApp","url":"https://alion.io/company/netapp/technologies","shared_technologies":67},{"name":"Airbnb","url":"https://alion.io/company/airbnb/technologies","shared_technologies":68},{"name":"Unity Technologies","url":"https://alion.io/company/unity-technologies/technologies","shared_technologies":73},{"name":"Zebra Technologies","url":"https://alion.io/company/zebra-technologies/technologies","shared_technologies":73},{"name":"True Anomaly","url":"https://alion.io/company/true-anomaly/technologies","shared_technologies":72},{"name":"Cerebras Systems","url":"https://alion.io/company/cerebras-systems/technologies","shared_technologies":69}],"html_url":"https://alion.io/company/sonatus/technologies","json_url":"https://alion.io/company/sonatus/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-09-28T02:27:17Z","generated_at":"2026-09-28T04:27:13Z"}}