Job Description Template: Senior Software Engineer

This template guides Swiss employers through writing a Senior Software Engineer job ad. It covers core responsibilities, technical and soft-skill requirements, and what competitive compensation looks like in Switzerland—structured by Pensum percentage and canton. Customize sections to match your tech stack, team size, and company culture.

Also available inDeutschFrançaisItaliano

A well-structured job description attracts qualified software engineers and sets clear expectations from day one. This template is designed for Swiss SMEs without dedicated HR—use it as a starting point and adapt the technical focus, Pensum, and location (canton) to your needs.

Remember to specify your canton and city early in the ad (e.g., 'Zurich' or 'Valais'). Language requirements belong in the qualifications section. Swiss salaries are typically quoted as annual CHF with 13-month pay as the norm.

About the Role & Responsibilities

Open with a one-sentence summary of what the engineer will build or maintain—be specific about your product or service. Then list 4–6 core responsibilities that reflect how they'll spend their time: coding features, code review, mentoring, architecture decisions, etc.

Tie responsibilities to your business reality. If you need someone to lead a migration, own a service, or ship features fast, say so. Vague role descriptions attract tire-kickers; concrete ones attract people who actually want to do that work.

  • Design, implement, and deploy software features in [your primary tech stack, e.g., 'Node.js and React']
  • Review and mentor code from junior developers; contribute to technical standards and architecture
  • Collaborate with product and design to translate requirements into scalable solutions
  • Troubleshoot production issues; participate in on-call rotation [if applicable]
  • Take ownership of [specific area: e.g., API layer, frontend performance, database optimization]
  • Contribute to continuous improvement of CI/CD pipelines and development practices

Must-Have & Nice-to-Have Requirements

List must-haves first: years of professional experience (e.g., 5+), core languages or frameworks, and soft skills like communication. Be honest—if you need someone who can work in German, French, or English, specify it here.

Nice-to-haves follow: specific certifications, familiarity with your exact stack, experience in your domain (fintech, healthcare, etc.), or open-source contributions. Don't make nice-to-haves sound mandatory; candidates will self-select better.

  • 5+ years of professional software engineering experience
  • Strong proficiency in [primary language: Go, Python, Java, C#, etc.] and [secondary language or framework]
  • Proven ability to write maintainable, tested code and mentor others
  • Fluent in [English, German, French, or other language your team uses]; others a plus
  • (Nice-to-have) Experience with [cloud platform: AWS, GCP, Azure] or Kubernetes
  • (Nice-to-have) Track record shipping products in [your domain: SaaS, embedded systems, etc.]

What We Offer

Compensation anchors your ad. Research salary benchmarks (e.g., salary.ch, jobs.ch) for your canton and experience level; offer a realistic range in CHF. Include 13-month pay, vacation days, and any health insurance subsidy as defaults—these are table stakes in Switzerland.

Then add the intangibles: flexible working hours, home-office policy, learning budget, equity (if applicable), and commute perks. Be specific about Pensum (e.g., '80–100%') and clarify if remote or hybrid. Honesty here builds trust and reduces mismatches.

  • Competitive salary: CHF [range] per annum, 13-month pay standard
  • Flexible work: [X] days home-office per week; core hours [Y–Z]
  • 25 vacation days per year plus public holidays in [your canton]
  • Learning budget: CHF [amount] annually for courses, conferences, or certifications
  • Comprehensive health insurance; [company contribution %] company contribution
  • [Other: equity, pension top-up, free lunch, gym membership, etc.]

Frequently asked questions

Should I list specific years of experience or a range?
Use a minimum (e.g., '5+ years') to filter resumes, but be flexible—a 4-year engineer with strong portfolio might outshine a 6-year generalist. Avoid over-specifying unless the role truly requires it (e.g., embedded systems in automotive). You can always adjust during screening.
What Pensum should I advertise?
State your primary need (e.g., '100%') but signal flexibility if you're open to it (e.g., '80–100%'). Remote workers and parents often seek reduced Pensum; clarity upfront avoids mismatches. Confirm with your accountant or HR adviser how reduced Pensum affects social insurance contributions.
How specific should I be about tech stack?
List your core languages and frameworks (the ones they'll use daily). Avoid listing every tool—it narrows your pool unnecessarily. If you're open to learning, say so: 'Strong Python skills or willingness to learn Go.' This attracts curious engineers, not just exact-match searchers.

General information for Swiss employers, not legal advice. Have a lawyer confirm anything with legal consequences.

Related