Я бы посоветовал определиться в первую очередь с направлением. Тот же boost, на мой взгляд, потерял актуальность с появлением новых стандартов. Qt, Unreal SDK, linux kernel - слишком специфичные вещи, чтобы учить их, не определившись с направлением. Лучше подтянуть основы: операционные системы, сети, системный дизайн, алгоритмы и структуры данных, и можно смело идти по собеседованиям. Если человек сообразительный, понимает основы и сам язык, знание конкретных фреймворков не является необходимым условием чтобы найти работу.