Pros
For code lovers, there is never a shortage of software to write, read, review, etc.
The cross-training performed allows for employees to gain experience in all elements of the Software Development Process.
Promotion/Recruitment from within has always been a focus of the company.
The smaller agile development environment allows for an efficient and accurate software delivery.
The tasks assigned change frequently enough to keep from becoming stale.
Co-Workers are pleasant and the environment is usually jovial.
Salary has been competitive relative to the market for positions I have held.
Pioneering new software and equipment is challenging but highly interesting work.
Seeing the finished products and recognizing it in the field is always a prideful and rewarding experience.
Cons
Deadlines tend to be short / task lists tend to be heavy.
Long-term employee benefits are behind market comparison.
Work from home is still frowned upon