Try to work for a startup. There you might encounter more challenges, both in diversity of work you will have to do (in smaller startups), and in the technology and sophistication of the programming required.
Another alternative would be to switch to being smartphone developper, eventually to an independent smartphone developper, where you'll be able to find more interesting and technically-challenging projects.