Many friends has asked me how did I, as a non-EU citizen, a third country national, get workpermit in Switzerland. That's why I am writing this guide to share my experience on it.
The main bottle neck: find the right company
You need to find a small to medium size company that will be willing to go through the process of applying for a workpermit for third country national. Many HRs at big companies has no experience with it. Plus the bureaucracy at big companies, it will never get done.
In short, small to medium size company have higher chances, because you have higher chances to help HR to go through the process.
The overall legal basis is in this Swiss Government Website.
Here are few of they key points that's most relevant for a non-EU college graduate
Quotas
Each year, the total number of workpermit can be granted in Switzerland wide is around 8500, including L and B permit. Often, they are not all used up.
Each kanton will get various number of workpermit. Usually the bigger the city is, the more work permit is distributed.

reference: Swiss Goverment Webiste
Procedure: the cantonal immigration office has the final say
Here is how the procedure looks like when applying for workpermit

Notice after the procedure at the national level, SEM, the process comes back to the local labor market authority and cantonal immigration authority.
The local labor market authority checks if you are failry compensated based on your position and profile. If not, they will ask the employer to adjust it.
In the end, the cantonal immigration office has the final righ to approve and give work permit.
Other important tips
-
In my experience, the time of this procedure is not dependent on who applied the earliest, but rather whose case is most urgent. So even if you have only one month left with your current permit, you should still apply, and you might just get the workpermit in time.
-
As long as your job is not a generalist job, and you're qualified enough (graduating from ETH for example), it most likely works, as long as the HR does the job.
when in doubt
Always check the national immigration office SEM and the cantonal immigration office, e.g. Zurich.