Pros
Within engineering, there is a high degree of flexibility. There are clear expectations to get work done and when deadlines are, but working remotely or taking atypical hours is acceptable. Engineers are highly interactive and work together often. It is easy to approach anyone to ask questions, get help, etc. We all get a lot done, but we have a good time doing it and all have fun together (even beyond our own departments).
Cons
Due to small size of company, there is not much room to move up position-wise. There are few positions in between basic engineers and the management, with most people keeping their same job position throughout the course of them working here.