Decent growing .NET shop to practice good software engineering, with much room for improvement
Pros
1. It's a small company with deep pockets, which means you get to have a stable job working at a proper engineering workplace where you can make a huge impact. You get a lot of control over products and there is no limit to what areas you can own if you're interested and trying. 2. The company is at the right place (advertising) at the right time, and is growing very well year after year. There are always an impressive number of head-counts open for its size, and the future tends to look positive. 3. The people are great to work with. They're respectful, competent and genuinely interested and motivated in what they do.
Cons
1. Managers are promoted based on seniority because this place was a small startup with tight connections earlier; they know a lot about business management but not much about software engineering management. The development methodology is agile, but everything else is traditional. a. Management resists shortening the release cycle because it's unfamiliar ground b. They don't recognize good suggestions when they see them. Good initiatives from more experienced sub-ordinates fall through the cracks all the time. c. There is no career track or even a full recognition and utilization of existing talent 2. There is more emphasis on measuring employee performance than on fostering it: a. The working area is crowded with too many cubicles, and very noisy to do real work b. The 12 days a year of vacation package is unrealistically anti-productive c. Flex-time is dangled, but not really practiced. The flexibility only bends by about plus or minus 30 minutes of 10am if you're lucky. 3. The company is inadvertently moving from a flat structure to a hierarchical structure where one person has more authority than an entire team. In doing so, the company is limiting its thinking power to a few individuals and limiting all the talented people it has hired in engineering positions to do mundane day-to-day tasks. If the current trend continues, disruptive changes in the market may throw the company off balance and leave too few people responsible for too many strategic decisions.