Pros
Coworkers are generally awesome. If you need help and aren't just looking to hand your work off to someone else, there is generally someone willing to help. Lots of flexibility in exploring and learning different facets of technology. Generally someone around who knows enough to get you started. Free snacks and beverages were usually good. Special occasion catered lunches are generally really good food. Benefits and health care packages are excellent.
Cons
Odd and erratic displays of favoritism - Some people get written up or yelled at for being 5 minutes late, while others show up consistently late by hours and no one cares. -Allotted PTO time is ignored in some instances but not others. 90 day waiting periods or trials in new roles have been used on employees for "promotions". If you are offered a raise get it in writing or once you've accepted the position management will have changed the figure to something else (vastly lower than the initial offer). You probably didn't get promoted, they just raised the floor, and brought you up with it. No real dedicated HR person, just a liaison to paychex and an "open door solve-this-with-management" policy that is intended to discourage you from actually resolving your issue(s) in any meaningful way. They'll act like you have a ton of advancement opportunities in the interview - you don't. You can advance from service desk to projects. But they already have too many managers anyway. If you actually want to advance or really see a meaningful raise you'll need to find somewhere else to work and either accept that or hope they counter. Downplay skills and value of employees as needed. Management acts like playground bullies - public verbal bashing is not uncommon. Turnover is incredibly high.