Pros
Flat hierarchy in company - Top Engineering management is accessible easily to engineers and is always in direct communication with them. You can easily communicate your message directly with top without a second thought. I won't say everything happens as per your message but come on guys, its a private company and not a democratic voting process. Learning Opportunity - Company works on wide range of technologies. Console Apps, WPF, WCF, WebAPIs, Javascript/JQuery, Angular, SharePoint, SAP, SQL etc. I won't say one engineer is always involved in all these during stay in company but nobody can deny you opportunity in company if you wish to have hands-on experience in these. Products and Code is open to all. Learn whatever you wish! Mix bag of experience - You'll work with Engineers having couple of years of experience as well as ones having a decade long experience. We may not care about it but it is like a blessing in disguise. Good for company as well as individuals. New ideas keep on flowing. Smart Engineers - The interview process is a rigorous one. So every engineer in company can be considered an above average individual. Communication is open. You can always take help from others if you feel stuck in some product feature or some technical info. Salary - Company provides best salary in region. Atleast salary is never a problem for an employee here.
Cons
Nothing which makes sense sharing on a public platform.