Pros
Comfortable atmosphere Approachable Management Management always feels like it cares about their employees Fantastic perks (free soda and snacks or time with a personal trainer at the on site gym) (Usually) Good balance of empowered employees and strong management
Cons
Nepotism is the name of the game Pay is all over the place, but generally low Beware of implied (but not explicit) promises from management, particularly around raise season. Technical side can either be a great place to grow as a young developer or a great way to crush your spirit depending on your disposition and what you're interested in doing with your career later. Management can either be fantastically progressive or will go out of their way to stonewall you in the name of protecting the old guard from change, sounds something like "it's worked well for the past x years". General quality of developers varies wildly due to an attitude of "home grown employees are the best employees". It either creates great developers with a fantastic domain knowledge, or senior architects that can't grasp the difference between HTML and HTTP. Full Microsoft Stack, so that's either valuable career building or terrible depending on your stance and desires going forward.