Avantages
Good pay, talented & fun coworkers, flexible hours, work from home, wide selection of food trucks at lunch time
Inconvénients
This was a developer position, and I barely got the opportunity to program, and when I did it was mind numbingly trivial. I worked in Retail Systems, and they are mostly bogged down in trouble tickets and constant feature requests from the business side, leaving little time to actually develop software. Furthermore, the paranoia about losing money leads to aversion toward software change, which means the code-base is a monstrous pile of incremental changes accumulated over the years. Almost no documentation, and I frequently would hear sentiments that documentation or comments would be a hindrance-- since that would mean having to maintain the documentation or comments in parallel with the code (this might have just been a cultural aspect of my team). There seems to be a revolving door for young developers, as well as people jumping around from team to team, so teams' know-how deteriorates to the point where there are large portions of code that no one is familiar with. And yet, you have to support that code when you are on-call. If you aren't familiar with on-call, it means getting paged at any time of day when there are problems with the software. You might be thrown into a scenario where you are responsible for Amazon ordering being down, and the problem lies in your team's software, but you aren't familiar with that part of the code. You will probably just have to relay this to your team members-- which is fine-- but needless to say it is stressful. I was promised to eventually get the chance to do some real software development, but perhaps not for a year or more. If you are in it for the long haul, maybe it could be okay. I didn't care about the money, and it didn't make it worth letting my career stagnate for 2-3 years waiting until I was senior enough to do maybe have the chance to do some real work.