Pros
Garmin provides young developers a good place to earn experience with the many aspects of developing software for consumer electronics. They treat their developers very well with great benefits and many fun events to keep morale high. They are open to hear complaints and try very hard to keep the environment up beat and employees satisfied.
Cons
The worst thing that can happen to a software developer is to become technologically obsolete. Unfortunately for Garmin, that is inevitably what happens to every engineer. Garmin has had many opportunities to see the ever changing market for navigation and has refused to change; chasing the success of the nuvi by trying to re-release variants. Even in those markets which they lead, they are satisfied to focus on the smallest niche of consumers, shrinking their audience instead of growing it. Another unfortunate fact for Garmin longevity is the lack of opportunity for personal growth by way of responsibilities and compensation. In many places, Engineer II's are responsible to supervise several Engineer I's while taking on many responsibilities reserved for higher ranking employees, yet they never see substantial raises, bonuses or promotions. In my time there, I saw a peer given preferential treatment as this person was groomed for promotion over others who were equally qualified.