Pros
There are some great people at this company (on lower levels, higher management are all worthless) You can get freedom to do things the way you feel is best (but this is somewhat due to bad management which allows you to do what you want, it would be better if this was structured) the atmosphere is pretty good
Cons
Management doesn't have a clue about where the company is going. In the last couple of years they are chasing market trends instead of leading the market (which is amusing since the competition is moving towards places contextweb had been two 2-3 years ago) Product management doesn't know our business or our products, they also don't know how to manage a product in general. Marketing dept. is doing whatever they want, except for promotion the products that the tech team puts out. people get promoted if they're 'yes-men' or if they can BS enough to fool the management. management doesn't want someone who would tell them what they want is wrong but would just do what they say. people with no experience were promoted, people who just joined were promoted, ahead of people who were promised promotions or even hired with that promise. This caused many to leave the company (including me) and this so called managers end up doing all the work because they don't know how to manage or they just let things drop and then make developers on their team stay on weekends and holidays while they're at home doing nothing. No raises in the last three years and no bonuses in the last two. No one gets credit for their work. which sometimes boost morale and motivates people (to at least know your work is appreciated when you're not getting enough money) most people don't know what anyone on other teams does. I've never heard a tech person or small team singled out in company wide meetings. Product team takes credit for work done by tech team where they were not involved at all (since tech management is cutting them out for being clueless).