Swiss data and AI jobs: roles and locations
Data engineering, data science, machine learning and AI engineering describe overlapping work. This dated snapshot shows which titles Panta observed and helps you choose a useful starting point for your search.
What this snapshot covers
We paginated Panta’s public data, AI and pharma collections, with 25 records per request, then deduplicated canonical job IDs across queries. The tables below focus on four technical role families. Sources and the index can change between requests; this is an observation over an interval, not an atomic snapshot or a census of Switzerland’s labour market.
Canonical records: 192. Employer IDs: 115.
| Collection | Records |
|---|---|
| data | 96 |
| ai | 69 |
| pharma | 42 |
Compare the four role families
Data engineering covers pipeline, platform and analytics engineering titles. Data science includes explicitly named scientific, internship and leadership roles. Machine learning includes engineering and academic work. AI engineering requires an engineering, development or architecture title. Read the actual responsibilities before treating two titles as equivalent.
| Role family | Records | Employers | Fresh |
|---|---|---|---|
| Data engineering | 28 | 26 | 28 |
| Data science | 30 | 24 | 30 |
| Machine learning | 22 | 17 | 21 |
| AI engineering | 22 | 20 | 22 |
A record can belong to more than one family. These rows must not be added together as a count of different vacancies. Canonical IDs may still represent duplicate real-world requisitions, and employer counts are counts of recorded identities.
Where source evidence supports a canton view
The regional queries use matching Swiss source observations, not the employer’s headquarters or a city-name guess. They cover the whole named canton. One advert can name several workplaces. Basel-Stadt does not include Basel-Landschaft.
| Canton collection | Records | Employers |
|---|---|---|
| Data engineering jobs in the canton of Zürich | 13 | 11 |
| Data engineering jobs in the canton of Geneva | 4 | 4 |
| Data science jobs in the canton of Basel-Stadt | 6 | 5 |
Records without a canonical canton: 51 / 192. Missing canton fields are not proof that a job has no local workplace. A matching source observation can provide stronger location evidence than the canonical field. This is why canton-query results should not be reconstructed by filtering the downloaded canonical canton column alone.
What these numbers cannot tell you
These counts do not measure market demand, search volume, applications, hiring outcomes or completeness of coverage. “Fresh” describes collection metadata at capture time, not independent confirmation that an employer accepts applications. The advert’s language does not establish working-language requirements. We have not estimated salaries or language eligibility.
5 November: a separate job-page quality check
This secondary cohort contains 32 convenience-selected jobs across six observed source/location groups. It is separate from the 4 November tables above: do not add its counts to them or read it as a national estimate.
| Static observation in this 32-job cohort | Records or destinations |
|---|---|
| Panta records with a nonempty description | 32 |
| Panta pages with local JobPosting markup | 6 |
| Pages without markup under the audited local policy | 26 |
| Employer pages with advert-like text and an apply control; acceptance unverified | 9 |
| Employer destinations with insufficient advert text or shells; browser check needed | 23 |
Three bounded first-page queries supplied the pool; IDs were frozen before checks. There were 118 top-level GET captures, including 19 HTML-only requests correcting an initial JSON negotiation. Those original observations were retained. A 200 response or an apply control does not confirm a working application journey.
The sample favours recently observed sources and includes no missing-description or inactive case. Withheld markup reflected location/city rules and other local exclusions, not a Google rejection. This is neither an uptime test nor Google schema acceptance, and it does not verify candidate eligibility.
Download the separate quality summary and capture hashes. The summary includes cohort and source-capture hashes, methods and limits; no account logs or full job descriptions.
Check whether a job is real and current · Explore current jobs
Use the snapshot to narrow your search
Start with the role family that matches the work you want to do. Compare responsibilities, location, workload and required qualifications in a few original adverts. Then open the live collection for current observations; the records in this report are historical evidence.
Inspect and repeat the observation
The file contains request URLs, server snapshot timestamps, canonical IDs, role membership and source links. Repeat the public requests with limit=25 and follow next_offset until has_more is false. Repeated results may differ as sources refresh. Descriptions and candidate data are excluded.
Download the dated evidence as JSON · Public API quickstart
Example source listings from the snapshot
These links document the capture and may no longer accept applications.