kranonit s00e01 Андрей Пономарёв: Современный программист
DESCRIPTION
http://stokito.wordpress.com/2012/01/31/lecture-it/ Лекция Андрея Пономарёва http://linkedin.com/in/andreyponomarev/ для студентов Криворожского Технического Университета о устройстве IT рынка и как устроится на работу. Где работают программисты Какие программисты нужны Сколько получают программисты Как работают программисты С кем работают программисты Как искать работу Чуть переработанная эта презентация была разбита на две часати и рассказана на первой встрече Клуба анонимных айтишников http://kranonit.wordpress.com/2012/09/16/%D0%BE%D1%82%D1%87%D1%91%D1%82-%D0%BE-%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%B9-%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B5-%D0%BA%D0%BB%D1%83%D0%B1%D0%B0-%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B/TRANSCRIPT
Современный программистЧто ждет студента на рынке труда
Обо мне
Андрей Пономарев
● 10 лет программирую за деньги● Sun Certified Java Programmer● Team Lead
linkedin.com/in/[email protected]
О чем пойдет речь
● Где работают программисты● Какие программисты нужны● Сколько получают программисты● Как работают программисты● С кем работают программисты● Как искать работу
Где работают программисты
● Фриланс● "Рога и Копыта"● IT отдел● IT компания
○ Outsource○ Outstaff○ Product
Какие программисты нужны
Какие программисты нужны
Какие программисты нужныПример объявления
Junior Java разработчик● Высшее профильное образование, РАССМОТРИМ
СТУДЕНТОВ ПОСЛЕДНИХ КУРСОВ● Математический склад ума ● Уверенное знание J2SE, понимание принципов ООП.● Опыт работы с ОС Linux.● Знания SQL, Spring, Hibernate, JavaScript, JUnit.● Опыт работы со средствами сборки ANT, Maven.● Опыт разработки многопоточных систем.● Опыт работы с базами данных MySql, Oracle.● Английский - технический
Сколько получают программисты
Киев, декабрь 2011, по данным developers.org.uaВыборка по Delphi не репрезентативна из-за малого кол-ва анкет
Как работают программисты
● Баг-трекер● Процесс разработки● Парное программирование● Система контроля версий● Тесты● Автоматическая сборка● Непрерывная интеграция● Шаблоны проектирования● Рефакторинг
Как работают программистыПарное программирование● Роли: "штурман" и "водитель"● Больше глаз - меньше дефектов● Лучше архитектура● Понятнее код● Обмен знаниями● Больше производительность
Как работают программистыБаг-трекер
Как работают программистыПроцесс разработки
Из книги Х. Книберг "Scrum и XP: заметки с передовой"
Как работают программистыСистема контроля версий
Как работают программистыСистема контроля версий
Как работают программистыТестыВиды тестов:● Модульные● Интеграционные● Приемочные● Нагрузочные
Структура теста:1. Given2. When3. Then
Как работают программистыТестыПример модульного теста:
Как работают программистыАвтоматическая сборкаТипичные действия во время сборки:● Генерация кода● Компиляция● Копирование ресурсов (картинок, файлов конфигураций)● Упаковка● Сборка инсталлятора
Как работают программистыНеперывная интеграция● Выполняется автоматически● Типичные шаги:
○ Получить код из репозитория○ Прогнать модульные тесты○ Выполнить сборку○ Установить приложение○ Прогнать приемочные тесты○ Прогнать статические анализаторы○ Если найдена проблема, поднять тревогу
Как работают программистыШаблоны проектирования● Стандартные решения типичных проблем● Не привязаны к какому-либо конкретному языку
программирования● Примеры: Factory, Adapter, Strategy● Самая главная книга: GoF
Как работают программистыРефакторингРефакторинг (англ. refactoring) — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы.
Не рефакторинг:● Исправление дифектов● Оптимизация● Переписывание "с нуля"
С кем работают программисты
● Разработчики● Тестировщики (QA)● Team Lead● Менеджер проекта● Бизнес аналитик● Владелец продукта
Как искать работу
● Резюме● Ресурсы
○ Сайты поиска работы○ Социальные сети○ Ресурсы для программистов○ Сайты IT компаний
● Собеседование
Вопросы
?