Pros
I think they nailed the people culture over at apply in general. It's easy to get along with anyone in any department.
Cons
Firstly, salary. Compensation is average, but below average if you're a senior level IC. They wouldn't budge past 100k, and given the competitive nature of the current job market, you can easily find a better compensation package with more interesting work. Secondly, regarding work, it depends. It's a consulting shop, so it varies from client to client. My experience might not be representative, but for those interviewing and are aware they might be placed on the same client, please keep reading. In my short time there, I was placed on a team working for a big Canadian telecom company, and good luck trying to get anything done with them. Initially, I was blinded with excitement, but I could only tolerate the lack of process and understanding of what it takes to ship a product end to end. From a product side, there was constant scope creep, deadlines that never moved, and more meetings than you can ever dream of that never resulted in anything productive because of the constant scope creep. 4 hours of meetings one day, and the next week it doesn't matter, because the scope got flipped upside the head and you start over your mental model of the product. It was infuriating starting each week knowing that whatever I sat through before, was just a waste of my time and effort. The engineering side of things was just as busted, unfortunately. The idea of being a senior at a consulting shop is a unfavorable, and implementing ideas that will help the client's product in the long run is a losing battle. Good luck trying to walk into a codebase that isn't fundamentally yours, and try to change things that would potentially benefit the entire team. You'd get a better reaction calling a stranger's baby ugly. My manager at the time told me that we are a "big feature team", and tackling tech debt was basically seen as a taboo because it isn't noticeable to the client. To a degree, I understand the merit, but eventually tech debt at any company will drown engineers and grind product development to a halt. Along with a lack of concern for tech debt, releases for code were absurdly delayed, where a single release was deployed once a month, no more. Given that no tech debt was tackled, and we could only release once a month, all that did was create a backlog of bugs that further grinded development to a halt. There was also a test coverage quota to hit X %, but any test that was written for the front end was just a dummy snapshot of a component saying "it renders", which fundamentally means, there were no tests that did anything. What all the above boils down to is: You work on "big features", but VERY minimal work will be done on tech debt. You will release these big features once a month maybe, and since you can't tackle tech debt, you can't go back and refactor or test existing logic. As a result, this creates a backlog of bugs, puts an enormous pressure on QA, and you start fixing bugs. Bugs end up taking a priority, but you still have the same deadline for your "big feature". You squash the bugs, hope QA says it's okay, and rinse and repeat. This process will drive anyone who has any experience as an engineer over the edge. Looking back at this experience, it was an eye opener to me. Because, looking back at it, I know what to look for now when I look for new work so I never have to experience that ever again. I strongly urge you to question why you would want to work for this specific client if you are interviewing at Apply. I would strongly suggest you ask to be placed on a different team.