Job Description Template: Full-Stack Developer
This template helps Swiss employers write a clear job ad for a full-stack developer. It covers the role's scope, daily responsibilities, technical and soft-skill requirements, and what competitive compensation looks like in the Swiss market. Adapt it to your company's tech stack and location.
A full-stack developer builds and maintains both the user-facing frontend and the server-side backend of your software applications. In small teams, they often wear multiple hats—writing code, reviewing pull requests, troubleshooting production issues, and contributing to architecture decisions.
This template is designed for Swiss SMEs without an HR department. Use the canton or city name in your posting (e.g., 'Zurich' or 'Valais'), specify the Pensum as a percentage (e.g., 80–100%), and state any language requirement clearly. Adapt the tech stack and responsibilities to match your actual needs.
About This Role
Your full-stack developer will own features from conception to deployment. They design databases, write backend APIs, build frontend components, and ensure everything works reliably in production. They collaborate with your team to translate business goals into code.
In a smaller company, they may also mentor junior developers, propose improvements to your development workflow, and take on DevOps tasks like managing deployments or monitoring application health.
- Design and implement backend services and REST/GraphQL APIs
- Build responsive, accessible user interfaces using modern frontend frameworks
- Write automated tests and participate in code reviews
- Debug and optimize application performance across the stack
- Contribute to database schema design and data modeling
- Document technical decisions and keep code maintainable
What We're Looking For
Must-haves are non-negotiable skills that let the person start productively within days. These include solid grasp of your primary frontend and backend languages, experience with version control (Git), and the ability to write clean, tested code.
Nice-to-haves make candidates stand out but aren't deal-breakers. Examples: experience with your exact tech stack, knowledge of cloud platforms (AWS, Google Cloud, Azure), or familiarity with containerization and CI/CD pipelines.
- Proficiency in a modern backend language (e.g., Python, Node.js, Go, Java) and frontend framework (e.g., React, Vue, Angular)
- Experience building and consuming APIs; understanding of relational and non-relational databases
- Strong problem-solving skills and ability to work independently and in teams
- Swiss German (or other official language) spoken fluently; English working proficiency if applicable
- Experience with AWS, Google Cloud, or similar cloud services (nice-to-have)
- Contributions to open-source projects or a GitHub portfolio (nice-to-have)
What We Offer
Competitive salary reflects the candidate's level and your company's size. In Switzerland, a mid-level full-stack developer typically earns CHF 120,000–160,000 gross annually; seniors, CHF 160,000–200,000+. Adjust for canton, company stage, and experience.
Beyond salary, emphasize what makes your company unique: flexible working arrangements, learning budgets, equity options, remote-work policies, or a supportive team culture. State the Pensum clearly (e.g., '80–100% position').
- Gross annual salary: CHF [insert range based on level and location]
- Pensum: [80–100%] / flexible working hours / remote options
- 13th-month salary (or annual performance bonus)
- Occupational pension (BVG) contributions above legal minimum
- Learning and development budget (e.g., CHF 2,000–3,000 per year for courses, conferences)
- Generous paid leave (starting at 20 days per year, plus public holidays in [Canton])
Frequently asked questions
- Should I mention specific frameworks or languages, or stay generic?
- Be specific about your primary stack. If you use React and Python, say so. Specificity attracts candidates with relevant experience and sets clear expectations. You can add 'similar technologies considered' for flexibility without diluting the job ad.
- Do I need to name the canton or city?
- Yes. Swiss job seekers expect it. State the main work location clearly (e.g., 'based in Lausanne, Vaud' or 'Zurich headquarters'). If fully remote, say 'Remote, with occasional visits to [location]' so candidates understand travel expectations.
- Where in the job ad should I state language requirements?
- Include language requirements in the 'What We're Looking For' section. For example: 'German (Zurich region) or French (Romandy) fluently spoken; English working proficiency for code comments and documentation.' Be realistic: overspecifying languages can narrow your talent pool unnecessarily.
General information for Swiss employers, not legal advice. Have a lawyer confirm anything with legal consequences.