As a mostly technical consulting resource, I agree so much. There is a
lot that needs to be held in my brain at once, and every release of the software just adds to that. Every new client adds to that. Every new technology adds to that.
I seriously struggle to keep the non-tech side of the house in order by myself. I can handle client interactions and emails and task tracking and mentoring new hires and performing my technical job. I'm even on a project supporting an install of our product that's 8 versions out of date, that was released in 2013. That's pulling in skills I haven't used in over two years, but I can still remember what commands worked on that release and what commands were introduced in later versions.
What I don't have time or mental capacity for is making sure we're within budget, both in terms of hours and in terms of dollars. I don't have capacity to sit on every advisory board meeting, of which there are six hours worth internally every week, and at least two hours per client per week (I have 10 clients). I don't have capacity to put my project on hold while I track down an updated billing code.
I thank god every day for project managers. Some people complain, but I love them. Sure, they take a bit of my time and they don't always understand what I do, but they save me even more time and I sure as hell don't always understand what they do.
As an aside, I think the most annoying thing in the world is when a PM thinks they're a technical resource and starts telling me how to do my job. "Hey can you log into Client X's system and run the command 'xyz' with the flags '-yVx' and send me the output?" Uh, no... I know what you're looking for and the better way to get it is directly from the database. Don't worry, I know the command. Stop using Stack Overflow and do your job.