Algorithms and architecture for job recommendations