2. О авторах
Андрей Пономарёв
●10 лет программирую за деньги
●Sun Certified Java Programmer
●Team Lead
linkedin.com/in/andreyponomarev
andrey.ponomarev@gmail.com
Сергей Пономарёв
●6 лет программирую за деньги
●Проекты на Delphi, PHP, Java
stokito.moikrug.ru
stokito.blogspot.com
stokito@gmail.com
3. О чем пойдет речь
●Какие программисты нужны
●Сколько получают программисты
●Как работают программисты
●Инженерные практики
●Процесс разработки
●С кем работают программисты
9. С кем работают программисты
●Разработчики (Developers)
●Тестировщики (QA)
●Ведущий программист (Team Lead)
●Менеджер проекта (Project Manager, PM)
●Владелец продукта (Product Owner, PO)
●Бизнес аналитик (Business analyst)
10. Как работают программисты
●Баг-трекер
●Система контроля версий
●Тесты
●Шаблоны проектирования
●Рефакторинг
●Автоматическая сборка
●Непрерывная интеграция
●Парное программирование
●Процесс разработки
16. ●Поощрение изменений
●Документирование кода
●Делают лучше архитектуру
●Можно тестировать глубокий код
●Ускоряет разработку
И зачем оно нам надо?
Профессиональным программистом ты
становишься когда начинаешь писать тесты
17. Шаблоны проектирования
●Стандартные решения типичных проблем
●Не привязаны к какому-либо конкретному языку
программирования
●Примеры: Factory, Adapter, Strategy
●Самая главная книга: GoF
18. Рефакторинг
Refactoring
Изменяем код программы при этом внешне она
работает по старому.
Его цель:
Облегчить понимание её работы.
Не рефакторинг:
●Исправление дефектов
●Оптимизация
●Переписывание "с нуля"
19. Автоматическая сборка
Automatic build
Типичные действия во время сборки:
●Генерация кода
●Компиляция
●Прогон модульных тестов
●Копирование ресурсов (картинок, файлов
конфигураций)
●Упаковка
●Сборка инсталлятора
21. Парное программирование
●Роли: "штурман" и "водитель"
●Больше глаз - меньше дефектов
●Лучше архитектура
●Понятнее код
●Обмен знаниями
●Производительность такая же, но багов меньше