Roadmap или карта знаний современного web-программиста и список рекомендуемой литературы.
А также список типичных вопросов и тестовых заданий с собеседований Rails разработчика и тестировщика.
Сделано и развивается при поддержке начинающих программистов в телеграм чате @rubyrush 👍
Оригинал здесь: https://github.com/aristofun/webdevdao
- 
Математика - Выбирайте из первых курсов ВУЗа любую понятную вам книгу, или понятный вам курс по темам Алгебра, Линейная алгебра, Дискретная математика.
 
- 
Computer science - 
МакКонелл "Анализ алгоритмов" отличная обучающая книга для понимания основ http://www.technosphera.ru/lib/book/8 https://books.google.com/books?id=mW4S0AHFKrAC&source=gbs_book_other_versions 
- 
Математические основы информатики от отцов (в печатном виде на русском не достать, но можно нагуглить в эл. виде скан) 
- 
Адитья Бхаргава "Грокаем алгоритмы" - возможно, лучшая книжка для старта познания алгоритмов (очень простым и понятным языком; можно нагуглить, но лучше печатный вариант) 
- 
Курсы по алгоритмам: 
- 
Чарльз Петцольд "Код" (беллетристика про устройство компьютера для всех) https://www.litres.ru/charlz-petcold/kod-taynyy-yazyk-informatiki/ 
 
- 
- 
Воображение - 
Косвенно хорошо развивается математикой, программированием, рисованием, изучением языков. Причем практикой всего этого а не чтением книг. 
- 
Перельман и все его книги серии "Занимательная..." (прежде всего занимательная физика, занимательная математика, занимательная арифметика) 
 
- 
- 
Соображалка - 
Книги Мартина Гарднера полны интересных задач и остроумной математики (Математические головоломки и развлечения, Математические досуги, Математические новеллы и т. д.) 
- 
Рэймонд Смаллиан менее известен, чем Гарднер, но тоже хорош 
- 
Книга об остроумных задачах для программистов на собеседованиях https://www.amazon.com/How-Would-Move-Mount-Fuji/dp/0316778494 
- 
Хорошая книга о математических парадоксах и взгляде на мир 
 
- 
- 
Культура программирования - 
Для уже работающих программистов 
- 
Мартин Фаулер "Рефакторинг" — обязательна к прочтению после полугода работы программистом (ищите в эл. виде или англ. версию) 
- 
Курсы хорошего программиста 
- 
Для программистов от 1 года работы: Кент Бек "Test driven development" (есть перевод) https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530 
- 
Роберт К. Мартин "Чистый код. Создание, анализ и рефакторинг. Библиотека программиста" 
 
- 
- 
Проектирование и ООП - 
Грэди Буч "ОО анализ и дизайн", обязательна к прочтению, основополагающая книга http://www.helloworld.ru/texts/comp/other/oop/ch01.htm Статья по алгоритмам и структурам данных (примеры на JavaScript). 
 
- 
- 
REST архитектура 
- 
Git, GitHub - 
Толковые ссылки для начинающих: https://git-scm.com/book/ru/v1/Введение http://rgblog.ru/page/git-dlja-chajnika-komandy-kotorye-pomogut-nachat-rabotu 
- 
Интерактивная обучалка 
 
- 
- 
HTML/CSS - 
Книга http://www.litres.ru/erik-frimen/izuchaem-html-xhtml-i-css-8511974/?lfrom=14517722 
- 
Справочник с примерами 
- 
Learn CSS Layout 
 
- 
- 
JS (JavaScript) - 
Хорошая книга для начинающих https://karmazzin.gitbooks.io/eloquentjavascript_ru/content/ 
- 
Хорошая книга для продолжающих 
 
- 
- 
Ruby, Ruby on Rails - 
Лучший онлайн туториал для самостоятельного изучения 
- 
Коллекция отличных скринкастов (частично устаревшая) 
- 
Онлайн-интенсив «Хорошего программиста» 
- 
Онлайн-справочник всех языков программирования 
- 
Онлайн-курс по Ruby (Eng). https://leetcode.com/explore/learn/card/become-a-web-developer/ 
- 
Игорь Симдянов: Самоучитель Ruby - возможно, одна из лучших книжек для начала, поможет построить прочную базу знаний по Ruby 
- 
Фултон, Арко: Путь Ruby (в печатном виде, но лучше нагуглить) - хорошая книга для начинающих и продолжающих, чтобы заполнить пробелы по Ruby 
 
- 
- 
Python/Django Среди питонистов нет единства в том, какие ресурсы считать лучшими, поэтому ниже ссылки с наиболее авторитетными мнениями: 
- 
NodeJS Хороших курсов и книг практически нет (при выходе, они сразу устаревают), основа работы с нодой — хорошее знание JavaScript (выше ссылки) + практический опыт работы с ним (знание лучших практик и приемов). 
- 
PHP Учить пхп мы не советуем вообще, поэтому приведем только одну ссылку, которую вы должны изучать постоянно, если все-таки отважились на этот отчаянный шаг: 
Приведем ссылки на вики и оф. сайты, где есть хорошие руководства по установке и использованию (их нужно читать внимательно). Все, что глубже вам надо искать самому после того как обрастете опытом программирования.
- Книга How Linux works
Скринкасты о простой настройке linux серверов и деплое приложений, не исчерпывающая информация, но хороший старт:
- 
Поиск перевода на английский в контексте для русских слов, выражений и идиом 
- 
Английский язык по плейлистам 
Эти материалы и ссылки взяты из уроков онлайн-интенсива по web разработке на Ruby on Rails «Хорошего программиста» — goodprogrammer.ru
Список не претендует на универсальность, дополнения и поправки присылайте пулл-реквестами.