Java Developer CV: Example and Template
A complete Swiss CV example for Java developers that highlights architecture responsibility, numbers and technology depth.
Currently 34 open Java Developer positions in Switzerland, across 7 cantons, 1 of them from the last 7 days. adesso Schweiz AG advertises the most.
CV example — two-page template
This template is editable straight away — or upload your existing CV and it is carried into this layout automatically.
What qualification is expected for Java positions in Switzerland?
Most job ads require a degree in computer science (BSc from a university of applied sciences or ETH) or an EFZ in application development with several years of practical experience - both are equally valued if presented correctly.
Always state your qualification using the official Swiss designation: 'BSc FHNW Computer Science', 'BSc ZHAW Computer Science' or 'IT Specialist EFZ, Application Development'. If you hold a foreign diploma, add the recognition status (Swiss ENIC) in brackets - HR departments at banks and insurers check this early in the process.
Without a degree, weight your practical experience more heavily: an Advanced Federal Diploma of Higher Education, a diploma from a Höhere Fachschule (dipl. Techniker HF Informatik) or a CAS from HSLU or FFHS is just as convincing in Switzerland as a bachelor's degree, provided you specify concrete project scope and technical depth.
Certificates are a strong signal in the Java world, but only the relevant ones: Oracle Certified Professional Java SE, Spring Certified Professional, CKAD or ISTQB. Add the year, since an OCP for Java 8 says little about your current level for a position requiring Java 21 and virtual threads.
How should I structure my professional experience as a Java developer?
For each position, first describe the technical and business context, then list three to four measurable results - technology lists alone won't convince an engineering team.
For each role, state the system landscape: Java version, framework, database, deployment platform, team size and methodology. A sentence like '42 Spring Boot microservices on OpenShift, two Scrum teams, 1.2 million transactions per month' immediately puts your experience in context - unlike 'developed Java applications'.
Quantify your impact with numbers developers can relate to: response times (from 3.5 seconds to 400 ms), test coverage (41 to 84 percent), deployment frequency (96 releases per year), build times, change failure rate, or infrastructure cost savings in CHF. This demonstrates senior-level ability rather than just claiming it.
Domain knowledge is often the deciding factor in Switzerland. Those familiar with core banking environments (Avaloq, Finnova or Temenos interfaces), ISO 20022 payment processing, actuarial mathematics or eCH standards in eGovernment are invited into higher salary brackets: senior Java roles typically range between CHF 115'000 and CHF 150'000 depending on region and industry, while entry-level positions are around CHF 85'000.
How long should the CV be, and does it need a photo?
Two pages are the standard, a professional photo is still customary in Switzerland, and a separate project sheet solves the space problem for long technology histories.
Keep the CV to two pages, three at most if you have over ten years of experience. Describe the last three to four positions in detail, and list older ones only with role, company and period. Avoid bar charts for skills - instead give years and context, such as 'Kafka: 5 years, 11 services in production'.
A professional portrait photo is still common with Swiss employers, as are place of residence, nationality or permit type (B, C, G) and availability. Details about marital status, religion or children's dates of birth do not belong in the CV. Attach references and diplomas as a separate PDF, not within the CV itself.
For technically in-depth applications, add a short project list or a set of links: GitHub profile, an open-source contribution, a conference talk at JUG Switzerland. Save the file as a PDF named 'CV_Marc_Hubacher.pdf' and adapt the title and profile section for each job ad to match the required Java version and framework landscape.
Where Java Developer are hired in Switzerland
How the 34 open positions are spread across the cantons.
Figures as a table
| Canton | postings |
|---|---|
| Zürich | 10 |
| Waadt | 5 |
| Genf | 4 |
| Luzern | 2 |
| Bern | 2 |
| Wallis | 2 |
| St. Gallen | 1 |
Which languages the postings require
Of 29 postings that state a language — in brackets, those requiring professional level.
Figures as a table
| Language | postings |
|---|---|
| English | 20 (12) |
| German | 18 (18) |
| French | 6 (5) |
| Spanish | 1 (1) |
Who hires Java Developer in Switzerland
Employers with the most open positions. Staffing agencies are excluded.
Figures as a table
| Employer | postings |
|---|---|
| adesso Schweiz AG | 9 |
| YO IT Consulting | 2 |
| Julius Baer | 2 |
| Jagaad | 2 |
| Sopra Steria | 1 |
| Callista | 1 |
Full-time or part-time?
How the positions are advertised.
Figures as a table
| Workload | postings |
|---|---|
| Vollzeit / plein temps | 28 |
| Teilzeit / partiel | 1 |
The CV in full
To read through and reuse.
Marc Hubacher
Senior Java Software Engineer, BSc FHNW Computer Science, Oracle Certified Professional Java SE 17
Senior Java Engineer with 12 years of experience developing business-critical backend systems for Swiss banks, insurers and public administration. Focus on Spring Boot microservices, Domain-Driven Design and payment processing according to ISO 20022 (pain.001, camt.053) including QR-bill. Leads migrations from Jakarta EE monoliths to Kubernetes and is responsible for code quality, test automation and operational readiness from requirements through to production release.
What sets me apart
Swiss payment processing in detail: Implements pain.001 and camt.053 processing, Swiss QR-bill according to the SIX style guide, and SIC connections - including testing against the banks' validation platform.
Regulatory requirements as part of the architecture: Takes into account FINMA Circular 2018/3 on outsourcing and the requirements of the revised DSG already at the design stage: data classification, tenant separation and audit-proof logs.
Legacy migration without downtime: Migrated three Java EE monoliths (WebSphere, JBoss) to Spring Boot services using the strangler pattern - all releases without planned downtime in 24/7 banking operations.
Quality made measurable: Established quality gates with SonarQube, ArchUnit rules for hexagonal architecture and Testcontainers integration tests; increased test coverage in the core module from 41 to 84 percent.
Key achievements
Payment platform accelerated by a factor of 6. Redevelopment of the batch processing core with Spring Batch and virtual threads: 1.2 million payments now run in 18 instead of 110 minutes, relieving the overnight window by 4 hours.
Cloud costs reduced by CHF 180'000 per year. JVM tuning (G1 to ZGC, heap profiling with JFR) and rightsizing from 42 pods on OpenShift reduced resource requirements by 37 percent at the same response time under 200 ms.
Release cycle reduced from 8 weeks to 5 days. Built a GitLab CI/CD pipeline with automated Testcontainers stages and blue-green deployment: 96 releases per year with a change failure rate below 3 percent.
Experience
Senior Java Software Engineer — Aarequell Digital Systems AG, Zurich, 03/2020 - present
Integration platform for four regional banks, 42 Spring Boot microservices on Red Hat OpenShift, team of 9 developers in two Scrum teams.
- Led the technical migration of 14 modules from a WebSphere monolith to Spring Boot 3 - 100 percent of releases without downtime.
- Developed the ISO 20022 interface (pain.001, pain.002, camt.053) for 1.2 million transactions per month, reducing the error rate from 0.8 to 0.05 percent.
- Introduced Kafka-based event sourcing for 11 services; reduced end-to-end latency from 3.5 seconds to 400 ms.
- Mentored 4 junior developers and 2 IT apprentices (EFZ), reducing pull request turnaround time from 2.5 days to 6 hours.
Java Developer eGovernment — Lärchenberg Informatik AG, Bern, 08/2016 - 02/2020
Specialist applications for cantonal administrations based on Jakarta EE and Angular, interfaces according to eCH standards (eCH-0058, eCH-0147) and connection to sedex.
- Developed a reporting service for 3 cantons with 280,000 residents; reduced manual follow-up work by 62 percent.
- Replaced 47,000 lines of JSF code with REST APIs using OpenAPI 3, reducing build time from 22 to 6 minutes.
- Implemented authentication via OpenID Connect and SwissID for 1,400 case workers, reducing login-related support tickets by 70 percent.
- Responsible for load testing with Gatling: achieved the target of 500 concurrent sessions with a 99th percentile under 1 second.
Java Application Developer — Zentralwerk Software AG, Olten, 09/2012 - 07/2016
Standard software for insurance distribution, JBoss EAP, Oracle DB 11g, classic waterfall environment with four releases per year.
- Developed the commission calculation module (EJB, JPA) for 2,300 brokers, shortening the monthly closing process from 9 to 2 hours.
- Introduced Flyway for 180 database migrations, reducing failed deployments from 12 to 1 per year.
- Replaced 6 legacy SOAP interfaces with JAX-RS services, cutting maintenance effort by 25 person-days per year.
Education
Bachelor of Science FHNW, Computer Science, Software Engineering specialisation — University of Applied Sciences Northwestern Switzerland, Brugg-Windisch · 2016
Federal VET Diploma (EFZ), IT Specialist, Application Development — Vocational School Olten · 2012
CAS, Cloud Native Software Architecture — Lucerne University of Applied Sciences and Arts - Computer Science · 2022
Oracle Certified Professional, Java SE 17 Developer (2023) · Spring Certified Professional, Broadcom/VMware (2022) · Certified Kubernetes Application Developer CKAD (2021) · ISTQB Certified Tester Foundation Level (2018)