Основы, которые должен знать каждый веб-разработчик:
- Умение гуглить
- Архитектура компьютера
- Основы операционных систем
- Протокол HTTP
- [Логика] (sections/logic.md)
- [Основы программирования] (sections/base_programming.md)
- Алгоритмы и структуры данных
- Объектно-ориентированное программирование
- Регулярные выражения
- HTML & CSS
- JavaScript
- Работа в командной строке
- Системы управления версиями
- Тестирование
- Безопасность web-приложений
- Книги о программировании
Навыки Backend разработчика:
- Общие основы
- Серверные языки программирования
- Базы данных и SQL
- Принципы хорошего кода и шаблоны проектирования
- Фреймворки
- [Пакетный менеджер] (sections/package.md)
- [Администрирование веб-сервера] (sections/web_server.md)
- Deployment
- Highload
Навыки Frontend разработчика:
- Общие основы
- Адаптивность (Mobile first, RESS)
- JavaScript библиотеки (jQuery, Underscore)
- ECMAscript 6 (основы)
- Препроцессоры CSS (sass, less)
- Препроцессоры JavaScript (BabelJS, CoffeeScript)
- Сборщик проектов (Gulp, Grunt, Webpack)
- Пакетный менеджер (Bower)
- CSS Фреймворки (Bootstrap, Skeleton)
- JavaScript Фреймворки (AngularJS, Backbone)
Навыки DevOps:
- Общие основы
- Навыки Backend разработчика
- Навыки Frontend разработчика
- Всё выше перечисленное
- Администрирование UNIX систем
- Управление конфигурацией (Chef, Ansible, Puppet)
- Виртуализация
- Понимание устройства облачного стека технологий и контейнеров (OpenStack, Docker)
- Шардинг и репликация
- Построением отказоустойчивых систем
- Балансировка нагрузки/проксирование