For example if the caller needs the result of a possible long running task, ie success or fail, then it has to maintain state in a way to associate the async queue message back to the task. Zeromq has the concept of request/reply to handle this, its more problematic with plain old queues, the solution ive worked with is mq for tasks, rest calls for results. Yes it sucks.
It's a great feeling, being the 'best' or better than the majority. I've also experienced the void created after deciding to move on. I still feel as though I'm on an endless search to find something that I can be as passionate about.