Qt это другой мир, не std и не boost. Я думаю тех требований которые вы нашли в вакансиях очень даже достаточно. Надо практиковаться много — много. В c++ у вас развязаны руки и надо на практике набивать шишки, чтобы понять когда и насколько использовать все эти си плюс плюсные фишки.
Если вам хочется писать «труъ» программы, где главное логика, алгоритмы, скорость, то лучше больше смотреть на std, boost, если больше гуя, то более глубоко изучать Qt.
Проектов подсказать не смогу к сожалению. Хотя бы пока что посмотрите исходники, ну того же boost. Там все довольно сложно и дизайн «библиотечный», то есть все написано максимально абстрактно и обобщенно (в реальных проектах это скорее зло). Но что-то уже покажет и чему-то научит. Начните с простого (с библиотек, обеспечивающих кроссплатформенность): boost time, boost thread, потом можно boost asio (она сложнее намного).
Что точно должен понимать c++ программист из чисто технических вещей, не относящихся к мастерству — шаблоны. Попробуйте научиться делать вещи, работающие аналогично boost::enable_if, boost::any(+использование RTTI), boost::HAS_XXX (определяет объявлен ли тип XXX в такой-то структуре), потом можно научиться сортировать списки типов (есть в Александреску современной проектирование на С++), заодно в программировании на чистом функциональном языке потренироваться можно. После этого шаблоны — ваши :)