Pros
Fairly modern tech stack* (See cons for more detail)
Cons
Disclosure; I did not leave the company on good terms so I'll do my best to leave an impartial review stating facts rather than opinions in the hopes it will help people avoid the mistake I made. Interview: I was heavily misled during my job interview by the manager who hired me who actually left 2 weeks after I joined the company. After the first few weeks I had realised I should have accepted one of the other offers. In future I'll give more weight to Glassdoor reviews. Tech Stack: *While the tech stack is pretty modern, its over pinning architecture is extremely dated as code was copy/pasted from legacy projects into newer ones, this causes a lot of admin overhead. A good example of this would be the deployments which I’ve detailed in its own section. The codebase is large and complex, in a lot of ways it’s comparable to whack-a-mole. One problem appears which you debug & fix and then find it’s caused another issue elsewhere. Due to this and a lack of automation tests releases typically result in needing hotfixes and a very heavy testing footprint pre-release. Deployments, Testing & Environments: The main project is all in 1 single solution consisting of 90+ projects. Due to this deployments take approx 30m to build on Azure DevOps and needs to be built 3 times as part of the deployment pipelines - this can be very tedious when trying to do something quickly as when doing an adoc release you need to wait 30 minutes, start another process, wait 30 minutes,do another process, wait 30 minutes and only then can you start testing.. Environments are done 1 per customer which adds to deployment complexities and also contributes to code complexity as different customers have different requirements. Deployments are usually done once every 3-4 weeks with what I call ‘mega deploys’ which often result in a number of hotfixes being made, etc. The testing for this is a big problem though as there are very little automated regression tests so everything is tested manually by QA (At the time of my leaving the QA team was 4 strong, now down to 3 as the main QA has left). It is very common for the team of developers to all assist with regression testing to test everything in a day, which obviously eats into the sprint's development time. This process also runs over into the evening fairly frequently. Strategy / Roadmap / Project The roadmap is largely determined by which customers are most vocal and will change at the drop of a pin. Numerous issues get highlighted from the developers which never really get listened to. As the lead developer it’s pretty standard to have a regular meeting within the sprint cadence with your project manager(s) to put forward and emphasise the importance of tech debt, after 6 months of me mentioning this and requesting this meeting to take place I think it happened maybe once or twice within this time period. WFH vs Office The company has very little WFH culture. People openly admit to disabling Teams notifications so they can just sit down & focus on work. If you arrange meetings instead of just messaging on Teams you would generally get some conversation but there’s no team channel conversation. The company is trying to push everyone to be in the office more as opposed to being remote as it is how they operate better - which is fine but I was specifically hired to be remote and it just did not work out. If you are happy to commute to the office multiple times a week then you shouldn’t have any issue here outside of the lack of overall culture. Workload & Staffing The team is extremely understaffed for how much work they want to be able to deliver. I was approached by project managers asking my opinion on asking people within the team to work extra hours over weekends/evenings just to be able to deliver more - Hello burnout! Staff retention is a massive issue within the company as such only 1-2 people within the team really have in-depth knowledge of it which makes onboarding very difficult when coupled with the fact the project is too big for the size of the team managing it. Hiring is extremely slow. For the 6 months I was with the company the DevOps team consisted of 1 person all the while looking for additional but not being able to fill the vacancy. Best of luck to anyone accepting an offer.