Although I will say the first few years were very positive, the last period was completely different, unfortunately...
There was no process from initial agreement to execution in place. I often found myself double-checking agreements that the Sales team would copy and paste from one project to another, which added more work for the project managers and technical staff involved. Sales would vanish after an opportunity was secured, and would only be heard from once or twice throughout the lifecycle of a project.
The clients were often very challenging and difficult to work with. The group of clients I was assigned came with unrealistic timelines and expectations. This stemmed from the lack of proper expectation-setting by Sales/Pre-Sales from the start.
Expect to tackle tasks you may not have intended to. I often found myself acting as a client's administrator for unrelated software or building integrations that were outside the scope of my expertise, simply due to a vague statement in the contract about "handling the integration." Even though we were specialists in one field, clients would threaten to escalate issues if an engineer was not skilled in unrelated software, adding pressure to learn and manage unfamiliar tasks. This stemmed from poor leadership and failure to set boundaries with clients.
Leadership and management had significant issues. I found myself in situations where management involvement could have resolved issues but was lacking unless a client escalated directly. The department meetings were often focused solely on increasing billable work without any substantial support. Monthly check-ins with management felt more like venting sessions without any real outcomes or improvements.
Burnout was a significant issue. One piece of advice: always push back and set boundaries when faced with unreasonable demands; otherwise, management may take advantage, leading to the need to work extra hours to complete projects.