Job Description Template: Software Engineer

This template helps Swiss employers write clear, effective software engineer job postings. It covers role scope, technical and soft-skill requirements, and what to offer candidates—formatted for Swiss standards including Pensum percentages, canton location naming, and typical compensation ranges in CHF.

Also available inDeutschFrançaisItaliano

A well-structured job description attracts qualified engineers and sets expectations upfront. This template is designed for Swiss SMEs without dedicated HR teams. Adapt each section to match your company's actual needs and culture.

Include your canton and city explicitly—candidates search by location. Specify Pensum as a percentage (e.g. 80–100%). Keep language requirements clear: state whether German, French, Italian, or English is essential or a plus.

Role Overview & Responsibilities

Start with what the role does in one sentence. Then describe daily tasks and projects the engineer will own or contribute to. Be specific: mention tech stack, team size, and reporting line.

List 5–8 core responsibilities. Focus on outcomes, not busywork. Example: 'Develop and maintain our cloud-based customer dashboard' rather than 'Write code.' Help candidates picture the real work.

  • Design, build, and test software features in [your tech stack]
  • Collaborate with product and design to translate requirements into code
  • Participate in code reviews and contribute to system architecture decisions
  • Debug production issues and implement improvements
  • Mentor junior developers and document technical decisions
  • Take ownership of assigned projects from concept to deployment

Must-Have & Nice-to-Have Requirements

Separate mandatory skills from preferred ones. Must-haves are dealbreakers; nice-to-haves are bonuses. Be honest: if you need 5 years' experience, say so. If you're willing to train, say that too.

Include technical skills (languages, frameworks, tools), soft skills (teamwork, communication, problem-solving), and domain knowledge. Add the language requirement here: 'Fluent German (working level); English is a plus' or similar.

  • Must-have: [X years] experience with [language/framework, e.g. Python, React, Java]
  • Must-have: Experience writing clean, tested code and collaborating via Git
  • Must-have: [Language requirement, e.g. 'German or French at working level']
  • Nice-to-have: Experience with [specific tool or domain, e.g. Kubernetes, fintech]
  • Nice-to-have: Open-source contributions or a portfolio demonstrating your work
  • Nice-to-have: Experience with agile development or startup environments

What We Offer

This section attracts candidates. Include salary range in CHF (e.g. 'CHF 90,000–130,000 per annum, depending on experience'). Mention Pensum: '80–100% position' or flexible options. State whether this is permanent or fixed-term.

Add real benefits: paid vacation days, home office policy, professional development budget, equipment, team perks. Keep it honest. Swiss candidates expect 20+ days' vacation and often a 13th-month bonus; name yours explicitly if you offer it.

  • Competitive salary: CHF [range] per annum; 13th-month bonus if applicable
  • Pensum: [percentage, e.g. 80–100%] flexible; home office [policy, e.g. 3 days/week]
  • Vacation: [number] days per year plus public holidays in [canton]
  • Professional development: [budget or examples, e.g. CHF 2,000/year for courses, conference attendance]
  • Equipment: [laptop, monitor, etc.]; tech stack support and tooling
  • Team & culture: [1–2 sentences on your environment: startup speed, stability, values, etc.]

Frequently asked questions

Should I include salary in the job posting?
Yes. Swiss candidates increasingly expect transparent salary ranges. Posting a range (e.g. CHF 90,000–130,000) sets realistic expectations and saves time filtering mismatches. Compliance and fairness laws in several cantons now encourage transparency.
How specific should my tech-stack requirement be?
Specific enough that candidates know whether they match. Name your primary language or framework (React, Python, Go) as must-have if critical to the role. List secondary tools as nice-to-have. Avoid 15-item checklists; engineers with 3–4 core skills can usually learn the rest.
Where do I mention language requirements?
Place it in the Requirements section. Swiss roles often require regional languages: 'Fluent German (working level); English is a plus' or 'French and German required.' If English is enough, state it—don't leave it ambiguous.

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

Related