Pros
Good pay You get to own code more than most places The other Engineers are great people to work with Hardware and software engineers collaborate and support each other Management doesn't care about your title, so you can increase your role easily
Cons
Management doesn't trust employees, leading to micromanagement Management hires unqualified friends for critical roles Management breeds toxic office politics and is easily swayed by gossip despite demonstrated results Management doesn't know much about software engineering or the process, so platform work is ignored as a requirement The timeline is presented waterfall-style, but without consultation with people doing the work or a clear definition of done (hardware and software) There are no documented requirements, but set deadlines Management and Product Owners do not know how to prioritize or roadmap feature sets Product Owner is a loose term at the company and people with the title are rarely involved in the day-to-day tasks of Product Ownership