Job Description Template: Frontend Developer

This template helps you write a compelling frontend developer job ad for your Swiss team. It includes role overview, key responsibilities, technical and soft-skill requirements, and guidance on benefits and compensation in CHF. Adapt the Pensum (%), canton, and language requirements to your location and hiring needs.

Also available inDeutschFrançaisItaliano

A strong job description attracts the right frontend developers and sets clear expectations from day one. This template covers what candidates need to know: what they'll build, who they'll work with, the skills you need, and what your company offers.

Use this as a starting point. Swap in your company details, adjust the Pensum (full-time is typically 100%), name your canton or city (e.g. Zurich, Valais), and specify language requirements—most Swiss tech roles require German or English, sometimes both.

Role Overview & Responsibilities

Begin by describing what this person will actually do each week. Frontend developers build user-facing features, debug browser issues, and collaborate with design and backend teams. Be concrete: mention the tech stack you use (React, Vue, Next.js, etc.).

List 4–6 key responsibilities so candidates know if they're a fit. Examples: develop responsive interfaces, write maintainable code, participate in code review, contribute to testing and performance optimization.

  • Design and implement user interfaces using [your tech stack]
  • Collaborate with designers, backend developers, and product managers on feature delivery
  • Write clean, testable code and participate in peer code reviews
  • Debug and optimize frontend performance across browsers and devices
  • Contribute to documentation and knowledge-sharing within the team
  • Take ownership of assigned features from conception to deployment

Requirements & Skills

Split this into must-haves (e.g. 2+ years frontend experience, fluent in your chosen framework) and nice-to-haves (e.g. TypeScript, testing libraries, design system experience). This helps candidates self-assess honestly.

Language requirements belong here. If your team works in German, state 'German (B2 or higher) required' or 'English-speaking welcome.' Don't assume; be explicit about daily communication language.

  • Solid experience with HTML, CSS, and JavaScript (ES6+) — must-have
  • Professional experience with [React/Vue/Angular] or similar framework — must-have
  • Experience building responsive, accessible web interfaces — must-have
  • Familiarity with version control (Git) and agile workflows — must-have
  • TypeScript, automated testing (Jest, Vitest), or design systems — nice-to-have
  • Experience with performance monitoring and optimization tools — nice-to-have

What We Offer

Compensation and benefits matter. Name a salary range in CHF (e.g. CHF 95,000–120,000 gross annually for a 100% role). If you offer a 13th-month salary (13. Monatslohn), say so—it's standard in many Swiss contracts but worth highlighting.

Describe your team culture, working conditions, and development opportunities. Mention Pensum flexibility (80–100% for example), home-office policy, professional development budget, or mentorship. Keep it honest and specific to your company.

  • Competitive salary (CHF [X–Y] gross annually) and 13th-month bonus
  • Pensum 80–100% (flexible hours negotiable)
  • Home office [X days/week] and collaborative office in [Canton/City]
  • Professional development budget for courses, conferences, or certifications
  • Health and accident insurance; contributions to occupational pension plan (BVG)
  • Mentorship from experienced developers and growth opportunities within the company

Frequently asked questions

Should I name a specific salary range or leave it open?
Naming a range (in CHF) attracts serious candidates and speeds up recruitment. If your budget varies by experience, give a realistic range (e.g. CHF 95,000–120,000) and note that salary is open to discussion based on background.
What does Pensum mean and how should I state it?
Pensum is the percentage of full-time employment in Switzerland. 100% is full-time; 80% means four days/week. State it clearly: 'Pensum 100%' or 'Pensum 80–100%' if flexible. This replaces 'FTE' or 'hours/week' in Swiss job ads.
Where do I mention language requirements?
Include language requirements in the Requirements section, not buried in the intro. Example: 'German B2 or higher required for daily standups' or 'English-speaking candidates welcome; German a plus.' Be honest about what's needed for the role.

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

Related