Pros
Many knowledgeable people whom you can learn a lot from Nice atmosphere (used to be nicer though - was degrading fast when I left) In general high technical level / agile Small company radius / small communication overhead Degree of freedom in trying out new solutions Some managers are really striving to make your life easier Business trips (getting very rare and with no work/life balance when I left)
Cons
Not enough manpower for the workload Office politics Wages held low even when company at its best No career paths No serious advancement for people not in the "family" Management that has no idea about software (but they are running a software house) Stupid rules imposed by HR leading to resentment (like they're trying to drive all creative people out) No training