1. As a Software Engineer, being on certain teams or products can can easily pigeon hole you and limit your skill set, marketability, and future job prospects if you aren't careful. I worked in Aviation on a 20+ year old product line, in C (you don't see a lot of job postings for this anymore), and that leveraged mostly in-house libraries, conventions, and tooling. When I started looking for my next opportunity, I saw 0 (and I mean 0) jobs that my experience at Garmin qualified me for.
2. This is another gripe with working in Aviation in particular, but projects moved extremely slow with all the regulation & testing that comes with writing safety critical software. I didn't mind this slower pace, but it can be monotonous. I had been gone from the company 3 years before the last product I worked on was released.
3. Benefits almost made up for it, but when I left, salaries were at least 20% below market value. This was hard to justify when I was trying to save up for a home as a single earner.
4. Hard to advance, stand out, or make a meaningful impact. Teams can be large, and if people didn't leave after a year or two for better compensation/location, they stayed around for a long time. When I onboarded, average employee tenure was 7 years. When I left, after 5 years on my team, my path toward a Senior position was a vague discussion. At my next role at a smaller company, I was able to learn a new tech stack, build a new product line from the ground up, and advance 2 levels to team lead in less than 2 years.
Overall, pay could be a little better, and I wouldn't recommend working in Aviation specifically as a Software Engineer unless you have a passion for the industry or product line. I have heard this sentiment many times from or about both former and current employees that have switched teams. Consumer, Outdoor, or Fitness products are likely more fun to work on.