The thing that my job is requiring me to do. Trial by fire. But also after the 4th or 5th language and Nth framework, it gets much quicker to pick up new ones.
But I also agree with the last sentence. When you are just starting out in your career, it's nice to have something more complex (I used to write sudoku solvers) to really get the feel of things. I'd never do that anymore though, as most things are similar enough to something I'm already pretty comfortable with.