Что это?
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
-
Интерактивная обучалка
-
Frontend
-
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/
-
Хорошая книга для продолжающих
-
Backend
-
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
Учить пхп мы не советуем вообще, поэтому приведем только одну ссылку, которую вы должны изучать постоянно, если все-таки отважились на этот отчаянный шаг:
Базы данных
Приведем ссылки на вики и оф. сайты, где есть хорошие руководства по установке и использованию (их нужно читать внимательно). Все, что глубже вам надо искать самому после того как обрастете опытом программирования.
DevOps (сисадминство и настройка)
- Книга How Linux works
Скринкасты о простой настройке linux серверов и деплое приложений, не исчерпывающая информация, но хороший старт:
Изучение Английского языка
-
Поиск перевода на английский в контексте для русских слов, выражений и идиом
-
Английский язык по плейлистам
PS
Эти материалы и ссылки взяты из уроков онлайн-интенсива по web разработке на Ruby on Rails «Хорошего программиста» — goodprogrammer.ru
Список не претендует на универсальность, дополнения и поправки присылайте пулл-реквестами.