Каждый уважающий себя разработчик должен знать:
- Архитектуру компьютера
- Linux, командная строка Bash
- Типы данных
- Функциональное программирование
- Объектно-ориентированное программирование
- HTML
- CSS
- JavaScript
- Системы управления версиями
- Протокол HTTP
- Тестирование
- Безопасность сайтов
- Чтение книг
Карта развития Back-end разработчика:
- Алгоритмы
- Серверные языки программирования
- Паттерны программирования
- Принципы программирования
- Регулярные выражения (Квантификация, жадность, группировка)
- SQL
- Проектирование баз данных
- Фреймворки (Laravel, Django, Ruby on Rails)
- Пакетный менеджер (Composer, pip, gem)
- Устройство веб-серверов и способы взаимодействия (CGI, FastCGI, event Loop)
- Разворачивание проектов (Ansible, миграции, релизы)
Карта развития Front-end разработчика:
- Адаптивность (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 разработчика:
- Администрирование UNIX систем
- Управление конфигурацией (Chef, Ansible, Puppet)
- Виртуализация
- Понимание устройства облачного стека технологий и контейнеров (OpenStack, Docker)
- Знание серверного языка программирования на приличном уровне (Python)
- Шардинг и репликация
- Построением отказоустойчивых систем
- Балансировка нагрузки/проксирование
*Основа карты взята с сайта Hexlet: Путь программиста