Pros
The biggest pro to the job for me (and probably most others) is the sweet employee discount; even some of the non-computer oriented products have some nice discounts (and cheap snacks/drinks to keep you going is always nice)! The staff is USUALLY good to work with. Generally the store attracts both nerd/geek-type people to work and shop, so there's generally a common interest - some moreso than others! Customers can be a pro and a con - sometimes there's some truly awesome characters that seems like they could be a blast to hang out with, though not always. Other than employee discounts, there are good medical benefits as well... not much to say about that though. Management, depending on who you have (of course!) often back up the employee (and if not in front of the customer for "customer service" then when the irate customer is gone). Even when making mistakes, staff often seem to be accommodating and try to work with the employee rather than ruthlessly get rid of them, however....
Cons
At times I wish there was more transparency. Taking from the previous section; there are times it seems one small mess up instantly kicks some people out of the company. Usually some time later it was some compounded issue, but often times people just seem to vanish. Additionally, while I do like the company, I do have my bad days working here at multiple positions. Management often contradicts one another. During my days as a Customer Service Rep (Cashier), I would find myself either having to emphasize on the customer at all times, or make some arbitrary decision to re-stock shelves. Sometimes two customers on line with two others on register means there's a line and I have to help (instead of manage the aisle/clean up/restock). Other times there's a legitimate line and people will be off register maintaining the aisle. It's arbitrary, and at times the manager contradict themselves. Sometimes, the rules are bent arbitrarily. Some managers throw around various rules in your face when it's convenient. At times Home Office's Tech Support and us are completely on different pages. Due to our store's setup, a large majority of the networking cables aren't labeled and neither are the ports. No one wanted to re-do it when I suggested (and my current job entails actually maintaining the store systems, and several times we had to re-install systems or printers, but there was no way to easily do it). Things can be slow or quick to change - either long after they're needed, or so soon that no one has time to adjust. Schedules can be rigid or flexible, depending on where you are. If you're a cashier, expect to have schedules that might shift from day to day. At times a manager may forget if you have a specific day you can't work but if you speak to them with enough time they can fix it (or bite the bullet and accept the loss for the day). Sales (General, Peripherals/BYO and Systems/Apple) tend to have more of a fixed schedule, but at times you might come in to help customers, especially if it can make you a good sale. It sucks but if it makes your paycheck go from good to great, it's not much of a con is it? :P Technician positions are a bit different. They're usually fixed with the occasional schedule shift for life/unexpected events. Note - despite these cons, I'm convinced EVERY company has a dark side. Sometimes it's worse than others, and at times it's random - you might have good luck while others crash and burn - I've had very good experiences at the company, and very poor ones - and at times it's best chalked up to a bit of miscommunication and at worst it's a problem employee that was eventually transferred or terminated. I encourage you to try this job either way; see what your experience brings as you might find a nearly flawless company, or perhaps a horrible, problem-ridden company. It's equally the company that makes the experience, as is it the employee him/herself.