The problem with algorithms is that for a single algorithm implementation you have a huge array of work around that, which does not involve any significant algorithms. In other words, this work is rather rare.
Personally, I have never seen an open job position for an algorithm developer/engineer outside of academia. On the other hand, I see employers interested in people with algorithmic backgrounds everywhere.
One additional problem, which I encountered in projects, is that management and sometimes even the SW engineers have such a lack of algorithmic background knowledege that they do not even realize when a proper algorithm is needed. Often I see "algorithm" being used synonymously to "piece of code". Once you are in a moderately complex project though, you can bring in your knowledge on algorithms to score such a job simply by driving your current job towards that area.
There's also the option to work for a company, which essentially lends its employed software engineers to third companies. This is especially nice for for recent graduates for multiple reasons:
- payment is usually quite attractive
- your company will try to score jobs for you according to your profile. So if you emphasize the algorithmic part in your profile, you will be more likely selected for job openings in that area
- it gives you the opportunity to work for various different companies in a relatively short time. Again, this helps you in more thoroughly identifying which sort of company you want to remain with (if not the original one even, because you simply like the change itself).