Senior Developer — Алгоритмы
Продвинутый этап начинается с мощной алгоритмической подготовки и работы со структурами данных. Данная часть посвящена эффективному использованию вычислительных ресурсов, оптимизации быстродействия и экономии памяти.
Уровень практики в процессе обучения плавно возрастает от сравнения трех переменных до задач с международной олимпиады по информатике.
Программа алгоритмической части
| Длительность: | 2–2.5 месяца |
|---|---|
| Объем занятий: | от 64 часов (8 полных дней по выходным) |
| Рабочие языки: | C, Python |
- Оптимизация алгоритмов.
- Обработка больших объемов данных.
- Структуры данных: стеки, очереди, списки.
- Графы. Поиск (BFS, DFS, DFSID). Алгоритм Дейкстры.
- Деревья. Двоичное дерево поиска.
- Комбинаторная оптимизация.
Senior Developer — Технологии
Очередная часть посвящена командной работе, углублению знаний и навыков практической разработки, а также подробному освоению вопросов, жизненно важных для серьезных разработчиков.
Программа этапа включает в себя расширенные требования к разработчику уровня Senior.
Программа технологической части
| Длительность: | 2–2.5 месяца |
|---|---|
| Объем занятий: | от 64 часов (8 полных дней по выходным) |
| Рабочие языки: | основной на выбор (C++, C#, Java, PHP, Python, Ruby) |
- Командная работа. Преимущества и обязательства.
- Unit-тестирование. Test-Driven Development.
- Регулярные выражения (PCRE).
- Безопасность. Виды атак и способы защиты.
- Веб-технологии: HTML 5, CSS 3, WebSockets.
- Хранилища данных:
- SQL: триггеры, хранимые процедуры и функции;
- MemcacheDB, Redis, MongoDB, GridFS.
- Архитектурные решения:
- Масштабирование систем хранения данных.
- Параллельные вычисления. Проблемы и решения.
- Распределенные системы. Очереди задач и сообщений.
- Паттерны проектирования GoF.
- Рефакторинг и работа с чужим кодом.
Senior Developer — Проект
После требуемой подготовки, обучение Senior-разработчика переходит в командную работу над open-source проектом. Команда производит полный цикл разработки продукта, получая опыт в технических и организационных вопросах.
Первоочередной целью является релиз версии 0.1 проекта, открывающий возможности дальнейшего развития.
Программа проектной части
| Длительность: | от 2 месяцев |
|---|---|
| Объем занятий: | от 78 часов (6 полных дней по выходным и 10+ вечерних занятий) |
| Рабочие языки: | основной на выбор (C++, C#, Java, PHP, Python, Ruby) |
- Работа с заказчиком. Понимание технического задания.
- Создание проектной документации. Анализ системы.
- Эргономика. Разработка пользовательских интерфейсов.
- Разработка кода. Тестирование. Обратная связь.
- Проверка результата на соответствие поставленным целям.
- Релиз проекта.
К прохождению тренингов Senior Developer допускаются участники, успешно прошедшие тестирование по программе тренинга Junior Developer.
А дальше?
Совсем не случайно длительность проектной части описана без верхней границы. Дальше — много интересного.