To find the companies with the most satisfied workers, Glassdoor scanned its massive database of company reviews and ratings from current and former employees.

Reviews include employees' opinions on some of the best reasons to work for their employer, any downsides, advice to management, and whether they'd recommend their employer to a friend, as well as ratings on how satisfied they are with their employer overall, their CEO, and key workplace attributes like career opportunities, compensation and benefits, culture, and values.

Based on employees' reviews, companies received overall ratings on a scale of one to five, with five representing the most satisfied employees. (While Glassdoor's calculations extend beyond the thousandth to determine final rank order, ratings displayed are limited to one decimal space.)

Head over to Glassdoor to check out the full list, and scroll down for the top 20 best tech companies to work for:

20. Yardi Systems

"The employees are friendly and welcoming, the management cares about the employees, coworkers want to help and are always available to answer questions, great benefits such as profit sharing and tuition reimbursement, dress code is business casual, fun company events such as jersey day, Customer Service week, and pumpkin carving." — Yardi Systems technical account manager (Santa Barbara, California)

19. Ellie Mae

Glassdoor

Company rating: 4.4

Ellie Mae is a cloud-based platform for the mortgage finance industry.

"Teams are very collaborative and everybody's input is valued. 'You build it, you own it' philosophy ensures that every team feels a strong sense of ownership towards everything they build." — Ellie Mae software engineer (Pleasanton, California)

"Food is great and cheap, work-life balance allows for me to actually be a normal person outside of the weekends. Benefits are next level, people are incredible, truly if you have ever worked at a place and loved it, I guarantee it is better over at Microsoft." — Microsoft Group business administrative employee (Redmond, Washington)