Software Engineer • Current Employee
Pros: Note that these are team-specific (Android); experience may vary across teams/depts.
* Very flexible hours.
* Relatively few meetings to waste development time.
* You get to see commercial devices before they actually release.
* Great pay for the kind of work you do; it's a bargain, actually.
* Awesome benefits, has a nurse practitioner on site for any illnesses or injuries.
Cons: - Low sense of accomplishment.
- Software is mostly involved in testing and bug fixing. If lucky, you may get to work on big projects, but you have to chase down managers for more important work.
- Repetitive work. One chip after another is mostly the same stuff on different hardware.
- Poor coding practices in certain teams. Bad function names and misspellings get propagated because nobody ever steps up to fix them.
- Three years is the average promotion time for engineers, which seems to be longer than at a lot of other companies. This adds to the lack of accomplishment.
- Line management: Your line manager has no clue what you did in the past quarter, nor do they care. They evaluate you based on an online form filled out by your colleagues. Given the impersonal nature of the evaluation (no personal interaction), people get bored of bubbling things in and writing canned answers. They just don't try to write anything amazing about you.
- They give you lots of bonuses and stock options to keep you here, but rarely actually bump your salary.