1) Поставь Gentoo GNU/Linux. Постарайся сделать ее "дружелюбной" для себя.
2) Выучи подмножество английского, необходимого для понимания технических текстов.
3) Начни с изучения основ языка программирования С. Синтаксис, основные функции.
4) Реализуй простые алгоритмы. Напиши несколько видов сортировок. Осознай их плюсы и минусы. Это даст начало развитию алгоритмического мышления. Ознакомься с таким понятием как рекурсия.
5) Поставь себе простенькую задачу. Не ищи их в гугле, постарайся сам придумать. Придумав, реализуй ее без всяких книжек и туториалов, используя только
www.gnu.org/software/libc/manual/pdf/libc.pdf и мозг. (например я делал сниффер и клиент-серверное приложение, использующее в роли протокола - TLS 1.2)
Такой путь я проходил сам. Раньше я сидел постоянно на винде и не видел даже в глаза GNU/Linux. И я сразу начал знакомство с Gentoo. Не бойся. Пол года помучаешься, зато знать будешь больше чем Убунтушник за 2-3 года пользования Ubuntu. Сможешь уже нормально мыслить. К тому же программировать на С под GNU/Linux одно удовольствие. На все мои пункты у тебя уйдет около 8 месяцев - 1 год, но это того стоит. И главное всегда помни, что любой язык программирования это не сама цель, а лишь средство, инструмент. Это чисто мое имхо)