Software Engineer II • Current Employee
Pros: Genuinely friendly coworkers - Great social opportunities if wanted - Has some very good mentors on staff, if you are willing to talk to people you will find experience in a diverse set of skills and domains - Some teams have very modern tech stacks so can be a great way to get experience in modern technologies - Compensation seems roughly average/slightly above compared to general work area/experience - Low level management is encouraged to give feedback to staff consistently. You don't need to worry about speculating on how you are performing which is great. - A lot of immediate managers on the engineering side have been developers recently, they have experience in the domain that makes it a lot easier to talk about issues/concerns- Great commitment to improving workflows, new ways of managing projects and estimating work helps minimize the amount of admin required from senior team members
Cons: - Some teams are quite severely understaffed, this is acknowledged by leadership but remains the case (in a personally experienced case for multiple years and ongoing). - Upper management seems more than willing to let you burn yourself out trying to keep things together while dangling promises of improvement in the future to keep you doing it. - Constant reshuffling of teams and management, had all senior engineering removed from a team leaving only junior engineers, received assurances from leadership of new senior engineering staff being hired, the senior leader who made these assurances was then reshuffled and the new hires simply never appeared. Other reshuffles are said to be for a certain purpose, when engineers meet to discuss that purpose they realise that they don't work in a similar or related area at all, raising questions as to management's understanding of what their engineering teams actually do.
- Some teams are expected to be on call effectively 24/7, the work on these teams does require rapid response however the already mentioned staffing issues can result in death marches for a few weeks at a time for an already limited pool of staff.
- Whilst there is a 'clear career progression' in terms of expectations from each level of engineer don't be expecting that to be any form of guarantee of promotion. For example have been told it's 'only a guideline' after being told I've fulfilled all requirements for the level above my title. - You will see a few teams/devs consistently moved onto newer/greenfield development and other teams then get staff removed from them to backfill the vacated positions to maintain the code that was left behind. - Can have opportunity for people management very early in career (not sure this is a pro or con if you don't really get a choice about it)- Engineering standards for new hires dipping in areas the company are struggling to hire in. Results in a lot of effort being expended to try and bring new staff up to speed and can end up in a long term drain on the team instead of aiding them.
- Stresses importance of in person collaboration, still hugely limited budget for teams in different countries to come together in person to try and address the big technical issues they want to address in the medium-long term.