Pros
-Relaxed dress code -Informal / relaxed work atmosphere -Medical / Dental / Life insurance coverage -Opportunity to attend tech conferences -Opportunity for experience with many different technologies and software frameworks
Cons
-Lack of structure/process within most departments, as well as failure to enforce the over-arching structure between departments, is highly prevalent. This leads to a very stressful work environment, as you can often get conflicting orders between the CEO and his appointed VPs. -The CEO interrupts work very often for new objectives and unrelated discussion, much of which is highly inappropriate for the workplace. -Very little opportunity for advancement on the software side. -Tendency to reward/promote people based on perceived necessity, and not based on actual merit or contributions. -Tendency to take advantage of salaried employees' time in ways that are wasteful or unnecessary. -Despite knowing problems ahead of time, management is not always open to preventative maintenance and often does not want to talk about the problem until it is directly costing them money.