Software Industry 101
bit.ly/industry101
vk.com/industry101
#SoftInd101
Что здесь происходит?
• Лекции о реалиях работы в IT-компаниях и
об IT-индустрии в целом
• Для студентов IT-специальностей,
задумывающихся о своей будущей карьере
Зачем этот спецкурс?
• Студент IT-специальности учится 4 года, но в
итоге знает об индустрии далеко не все
• Как устроены IT-компании?
• В чем заключается работа программиста?
• Куда (и кем) лучше идти работать?
Зачем этот спецкурс?
Мы расскажем о том, о чем в университете
обычно не рассказывают
Кто выступает?
• Сотрудники новосибирских (и не только) IT-
компаний
• Ведущие разработчики, менеджеры
проектов, руководители отделов
• Список выступающих - bit.ly/industry101
Кто выступает?
• Семëн Факторович
• Выпускник ФИТ НГУ 2009 года
• 5 лет программистского стажа
• Последние 2.5 года — менеджер проектов в
компании Noveo, noveogroup.ru
О чем будем говорить
сегодня
• Обзор разных профессий в IT-индустрии
• Какие карьерные пути есть у молодого
специалиста
Страшная правда
В IT-компаниях работают не только
программисты
Карьерные области в IT-
компаниях
• Разработка
• Тестирование
• Менеджмент
Менее распространенные
профессии
• Технические писатели, копирайтеры
• Аналитики
• Менеджеры по продажам
Разработка
• Junior Developer / Developer / Senior
Developer
• Team lead
• Software Architect
Junior developer
• Младший разработчик, стажер
• Стартовая позиция
• Опыт работы не обязателен
• Можно совмещать с учебой (начиная со 2-3
курса)
Junior developer
• Чем занимаются на этой позиции?
• Учатся! (еще и получают за это деньги)
• Тренинги, внутренние экзамены, учебные
проекты
Junior developer
Первый реальный проект может начаться
через 3-4 месяца
Junior developer
Один из лучших вариантов начала карьеры
Junior developer
Одно «но»: зарплата будет очень мала
Developer
• Software developer, разработчик, Software
engineer
• Та самая «стандартная» программистская
позиция
• Разработка программного обеспечения
Developer
• Разработка?
• 30%* времени: реализация новых фич
• 70%* времени: поддержка, развитие и
багфиксинг
* результаты могут отличаться от заявленных
Developer
• Бешеный креатив вовсе не обязательно
занимает бóльшую часть времени
• Остальное — поиск и исправление
собственных ошибок и мелкие доделки
• «Передвиньте эту кнопочку левее»
Developer
“Another flaw in the human character is that
everybody wants to build, but nobody wants to do
maintenance.”
– KurtVonnegut
Developer
Бывает, что разработчик вообще не пишет код
Developer
• Code review других разработчиков
• Сборка релизов и установочных пакетов
• Чтение спецификаций и оценка проектов
• Поиск проблем конфигурации на серверах
заказчика
Senior developer
• Старший разработчик
• Не позиция, а название вакансии
• 4-5 лет опыта разработки
• Значительно бóльшая зарплата
Team leader
• Team lead, руководитель команды
• Подразумевается наличие команды
• Руководит командой, но при этом сам пишет
код (в отличие от менеджера)
• «Играющий тренер»
Team leader
• Распределяет задачи, контролирует их
выполнение, консультирует команду
• Самый опытный из всей команды
Software architect
• Архитектор — значит что-то проектирует?
• Структура классов, компоненты сложного
технического решения
• В местных реалиях — то же самое, что senior
developer
Карьерный рост
разработчика
Junior → Developer → Senior
А дальше?
Карьерный рост
разработчика
Developer, developer, developer...
Карьерный рост
разработчика
Developer, developer, developer...
Оставаться разработчиком на протяжении
10-15 лет, если вам это нравится — почему бы
и нет?
Карьерный рост
разработчика
• Уход в менеджмент
• Team leader
• Project manager
• Уход в другие области (например,
тестирование) очень редок
Карьерный рост
разработчика
• Зарплата в основном выше, чем у других IT-
cпециалистов
• Невероятная востребованность профессии:
разработчик легко найдет работу в любом
городе и в любой стране
Quality assurance
• Обеспечение качества, тестирование
• «Тестировщик», но не «тестер»
• Поиск багов? Не совсем
• Проверка того, что приложение работает как
нужно
• А как нужно?
Quality assurance
• Выполняет ли приложение те функции,
которые оно должно выполнять?
• «В спецификации есть вот такая фича, но
разработчики забыли ее реализовать»
• «Эта фича работает не совсем так, как
описано в спецификации»
Quality assurance
• Как приложение работает с неправильными
данными?
• «Что будет, если я введу логин длиной 50
символов?»
• «Что будет, если я попытаюсь сохранить
файл на диск, на котором нет свободного
места?»
Quality assurance
• Работает ли приложение в тех условиях, в
которых оно должно работать?
• «Наше приложение нормально работает на
Windows 7, но крэшится наWindows XP»
• «Наш веб-сайт неправильно отображается на
iPad»
Quality assurance
• Работает ли приложение в экстремальных
условиях?
• «Что будет, если мы откроем нашим
графическим редактором файл в 10Гб?»
• «Что будет, если на наш сайт зайдет 100 000
человек одновременно?»
Quality assurance
• «Не перестало ли приложение работать после
рефакторинга?»
• «Не перестала ли работать какая-либо фича
после того, как мы добавили новую?»
Quality assurance
• Работа тестировщика очень разноплановая
• Не обязательно требует профильного
образования
• Но вполне может включать в себя чтение
кода (а иногда даже его написание)
Quality assurance
QA automation
• Автоматизированное тестирование
• Зачем проверять веб-сайт вручную, если
можно написать программу, которая будет
этим заниматься?
• Интересный вариант для тех, кто умеет
программировать и любит тестировать
• Автотесты зачастую пишутся на несложных
скриптовых языках (Lua, Python)
QA automation
• Есть и более сложные задачи
• Своя платформа для автотестов
• Покрытие тестами большой программной
системы: компилятор Java, С++ STL, ...
QA automation
• Рост, в основном, идет «вширь»: новые
области и методы тестирования
• Есть вариант уйти в менеджмент
• Руководитель отдела тестирования
• Менеджер проектов
• Уйти в девелопмент?
Карьерный рост
тестировщика
• «Пойти работать тестировщиком и потом
дорасти до разработчика» — не самая
лучшая идея
• Займет 1-2 года
• Лучше все это время прокачивать скилл
программиста
Карьерный рост
тестировщика
Менеджмент
• Project manager
• Product manager
• Senior management (CTO, CEO)
• Менеджер проектов, руководитель проектов
• Руководит проектной командой
(разработчики, тестировщики, дизайнеры,
аналитики...)
• Управляет разработкой, но не пишет код
Project Manager
• Налаживает процессы разработки
• Распределяет задачи, отслеживает их
выполнение
• Отслеживает сроки и бюджеты
• Общается с заказчиком
Project Manager
• Ответственность за проект — на менеджере!
• Менеджер собирает все шишки и все плюшки
Project Manager
• Работа менеджера кардинально отличается
от работы программиста
• Общение, решение организационных
вопросов, множество дел одновременно
• Стресс!
Project Manager
• Менеджер продуктов, product owner, program
manager
• Управляет не командой, а продуктом в целом
• Не операционный, а стратегический
менеджмент
Product Manager
• Понимание потребностей рынка: какую
бизнес-задачу решает наш продукт?
• Понимание потребностей пользователей: что
нужно нашим клиентам?
• Продвижение продукта на рынок,
взаимодействие с конкурентами
Product Manager
• Редко общается с разработчиками, обычно
только с менеджерами
• Может иметь в подчинении несколько
проектных команд
Product Manager
• CTO, Chief Technical Officer, технический
директор
• CEO, Chief Executive Officer, генеральный
директор
Senior management
• CTO: верхняя ступень технической
карьерной лестницы
• Финальные решения по сложным
техническим вопросам
• Надзор над несколькими продуктами
Senior management
• CEO: самая главная должность в компании
• Надзор над всеми продуктами
• Административные вопросы (аренда офиса,
финансы...)
Senior management
• Может быть интереснее работы
программиста (зависит от характера)
• Зарплата, как правило, выше (особенно у
старшего менеджмента)
• IT-образование не является обязательным
Менеджмент
Экзотические профессии
• Технические писатели, копирайтеры
• Бизнес-аналитики
• Менеджеры по продажам
Techwriter,
copywriter
В любой программе есть тексты
http://developers.facebook.com/docs/reference/plugins/like/
Text
http://www.gnu.org/software/grub/manual/html_node/Installing-
GRUB-using-grub_002dinstall.html
Программисты традиционно очень не любят
писать документацию
Techwriter,
copywriter
• Технический писатель занимается
инструкциями, файлами помощи...
• Копирайтер пишет менее специфические
тексты: контентное наполнение сайта,
маркетинговые описания продуктов...
Techwriter,
copywriter
• Иногда техписатель — это филолог,
натасканный на понимание предметной
области
• А иногда IT-шник, которого научили хорошо
писать тексты
Techwriter,
copywriter
Systems analyst
• Системный аналитик, реже «бизнес-аналитик»
• Слово «бизнес» — от «бизнес-логика»
• Перевод проблемы заказчика в задачу,
понятную программисту
Заказчик — аналитику:
«Мне нужна система складского учета,
решающая следующие задачи моего бизнеса...»
Systems analyst
Аналитик — программисту:
«Заказчику нужно веб-приложение, оперирующее
следующими сущностями...»
Systems analyst
• Общение с заказчиком и выяснение, чего же
он хочет
• Продумывание бизнес-логики приложения
• Выявление требований к приложению
(вплоть до прототипов интерфейса и
структуры БД)
Systems analyst
Результат работы аналитика — спецификация
приложения, по которой можно начинать
разработку
Systems analyst
• Для фанатично любящих писать документы и
продумывать каждую мелочь
• IT-образование крайне желательно, но не
обязательно
Systems analyst
Sales manager
• Менеджер по продажам, «продажник»
• Общается с заказчиками и заключает
контракты на разработку
• Ищет новых клиентов разнообразными
способами (например, ездит по выставкам и
конференциям)
• Продажник — двигатель бизнеса
• Пока он не найдет заказчика, проектов у
компании не будет
Sales manager
• Задачи продажника:
• Найти потенциального клиента
• Уговорить его выполнить проект именно у
нас
• Сторговаться по цене
Sales manager
• Нужно очень много разнообразного опыта
(переговоры, понимание бизнеса заказчика,
экономика...)
• Средний возраст продажников в крупных
компаниях — 30 лет и старше
Sales manager
• Зарплата минимальная (или даже нулевая)
• Но зато есть процент с продаж
Sales manager
Заключил контракт на 100 000 долларов?
Получи 10%
Sales manager
Зачем мне задумываться о
других профессиях?
• «Мне нравится работать разработчиком/
тестировщиком, я не хочу ничего менять»
• «Я не хочу становиться тимлидом или
менеджером: ответственность — это не для
меня»
Зачем мне задумываться о
других профессиях?
• За 5-10 лет даже любимое занятие может
надоесть, и вам может захотеться чего-то
нового
• Рост в менеджмент
• Смена карьерной области
Зачем мне задумываться о
других профессиях?
• За 5-10 лет даже любимое занятие может
надоесть, и вам может захотеться чего-то
нового
• А может и не надоесть
• 40-летние программисты вполне счастливы
Зачем мне задумываться о
карьерном росте
• Карьерный рост сопровождается ростом
зарплаты
• Разница зарплат между обычным и старшим
разработчиком — 2x
• Разница зарплат по всей карьерной лестнице
програмиста (от junior developer до CTO) —
10-15х
Подытожим?
• Карьерные пути: тестирование, разработка,
менеджмент
• Менее распространенные профессии
• Мотивация к карьерному росту
В следующей серии
• Как устроен IT-бизнес, и как код, написанный
вами, превращается в деньги
• Основные типы IT-компаний: сервисные и
продуктовые
• Почему в большинстве софтверных
компаний есть четкая верхняя граница
зарплат
Спасибо!
Семëн Факторович
sam.faktorovich@gmail.com
bit.ly/industry101
vk.com/industry101
#SoftInd101

More Related Content

PDF
Первый опыт устройства на работу
PDF
Профессии в IT
PPTX
структура It компании
PPTX
я выбираю профессию в It
PDF
Сервисные и продуктовые IT-компании
PPTX
Продуктовая vs cервисная компания
PDF
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
PPTX
Как мы делаем Banki.ru
Первый опыт устройства на работу
Профессии в IT
структура It компании
я выбираю профессию в It
Сервисные и продуктовые IT-компании
Продуктовая vs cервисная компания
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Как мы делаем Banki.ru

What's hot (20)

PPT
Промышленная разработка ПО. Лекция 1. Общие понятия
PPTX
Как воспитать программиста
PDF
Алексей Лустин. Непрерывная проверка качества кода.
PPTX
О фреймворках Backend conf 2016
PDF
CodeFest 2010. Платов А. — Производство ПО для разработчиков
PDF
Как учиться в вузе, заниматься предпринимательством и не умереть в процессе
PDF
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
PDF
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
PPTX
Промышленная разработка ПО. Лекция 7. Особенности работы руководителя проектов
PDF
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
PPTX
низкоуровневое программирование сегодня новые стандарты с++, программирован...
PPTX
методики управления развитием ис на базе 1с
PDF
"Пути развития Java разработчика" Дмитрий Соколов
PDF
Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...
PPTX
Как сделать свой SDK и первые 50 расширений от подпольных технологий к интегр...
PPTX
231116 hr&technology2016
PPTX
Maybe some qa
PDF
Юлия Викторова; Александр Тарасов. DevOps без булшита.
PDF
Евгений Джамалов. Agile в условиях мульти-вендорности и распределённых команд.
PDF
Бумажное прототипирование
Промышленная разработка ПО. Лекция 1. Общие понятия
Как воспитать программиста
Алексей Лустин. Непрерывная проверка качества кода.
О фреймворках Backend conf 2016
CodeFest 2010. Платов А. — Производство ПО для разработчиков
Как учиться в вузе, заниматься предпринимательством и не умереть в процессе
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
Промышленная разработка ПО. Лекция 7. Особенности работы руководителя проектов
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
низкоуровневое программирование сегодня новые стандарты с++, программирован...
методики управления развитием ис на базе 1с
"Пути развития Java разработчика" Дмитрий Соколов
Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...
Как сделать свой SDK и первые 50 расширений от подпольных технологий к интегр...
231116 hr&technology2016
Maybe some qa
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Евгений Джамалов. Agile в условиях мульти-вендорности и распределённых команд.
Бумажное прототипирование
Ad

Viewers also liked (16)

PDF
List of Manpower Training Centres Nepal Overseas Manpower Agencies Nepal
PDF
Documents Required For Visa Stamping Saudi Arabia Karachi Pakistan
PDF
Royal Links Overseas Manpower Consultants Brochure
PDF
June 2010 Smoke Signals Issue 4
DOCX
ENG460 Research Paper
PDF
Saudi Visa Stamping Arabic Translation Attestations Karachi Pakistan
ODT
PROJECT LIST SUPPLY UNDER JAMAL SALAM
PDF
Comprehensive Power Introduction March 2013
PDF
Jobs Nepal Nepali Job in Nepal Job Opportunity in Nepal Find a Job in Nepal
PDF
Family Visa Saudi Arabia Requirements Saudi Visa Instructions Pakistan
TXT
온라인카지노//FUN7。ASIA//바카라사이트 싸이트
PDF
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
PDF
Poster FEBS 2011_P15.3
PDF
Apartments in Hyderabad | Townships in Hyderabad | Brc Infra -Sivhills
PDF
MY.MOSREG.RU
List of Manpower Training Centres Nepal Overseas Manpower Agencies Nepal
Documents Required For Visa Stamping Saudi Arabia Karachi Pakistan
Royal Links Overseas Manpower Consultants Brochure
June 2010 Smoke Signals Issue 4
ENG460 Research Paper
Saudi Visa Stamping Arabic Translation Attestations Karachi Pakistan
PROJECT LIST SUPPLY UNDER JAMAL SALAM
Comprehensive Power Introduction March 2013
Jobs Nepal Nepali Job in Nepal Job Opportunity in Nepal Find a Job in Nepal
Family Visa Saudi Arabia Requirements Saudi Visa Instructions Pakistan
온라인카지노//FUN7。ASIA//바카라사이트 싸이트
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Poster FEBS 2011_P15.3
Apartments in Hyderabad | Townships in Hyderabad | Brc Infra -Sivhills
MY.MOSREG.RU
Ad

Similar to Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не все выпускники IT-специальностей пишут код (20)

PDF
Профессии в IT
PPTX
карта It профессий, точки входа, первые шаги
PPTX
карта IT профессий
PDF
Hub IT School: Лекция "IT профессии"
PPTX
Карьерные и финансовые возможности
PPTX
вапвапвачт лчт чтс чт тч тчлстмлчтстчс чст
PDF
7 актуальных вопросов о карьере в IT
PDF
8 актуальных вопросов о карьере в IT
PPTX
It career guidance by Maxym Mykhalchuk
PDF
School IT recruiting
PDF
Анализ рынка труда тестировщиков в Санкт-Петербурге
PDF
Доклад "Анализ рынка труда тестировщиков в Спб"
PPTX
кумпель I tmozg_тренды_аналитика1_квартал_2013
PDF
Мастер-класс карьерное планирование Smart start
PDF
Работать программистом — это вам не только код писать!
PPTX
Modern IT- technologies
PPTX
IT people
PDF
Виктор Ашик - Профессии в мире информационных технологий
PDF
Хто створює програмне забезпечення? Огляд сучасних ІТ-професІй
PPTX
HR-ам об IT-специалистах
Профессии в IT
карта It профессий, точки входа, первые шаги
карта IT профессий
Hub IT School: Лекция "IT профессии"
Карьерные и финансовые возможности
вапвапвачт лчт чтс чт тч тчлстмлчтстчс чст
7 актуальных вопросов о карьере в IT
8 актуальных вопросов о карьере в IT
It career guidance by Maxym Mykhalchuk
School IT recruiting
Анализ рынка труда тестировщиков в Санкт-Петербурге
Доклад "Анализ рынка труда тестировщиков в Спб"
кумпель I tmozg_тренды_аналитика1_квартал_2013
Мастер-класс карьерное планирование Smart start
Работать программистом — это вам не только код писать!
Modern IT- technologies
IT people
Виктор Ашик - Профессии в мире информационных технологий
Хто створює програмне забезпечення? Огляд сучасних ІТ-професІй
HR-ам об IT-специалистах

More from Tech Talks @NSU (20)

PDF
Tech Talks @NSU: Путь студента в IT-бизнес
PDF
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
PDF
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
PDF
Back to the Future: Функциональное программирование вчера и сегодня
PDF
Что такое Highload? Секреты высокой нагрузки
PDF
Автоматическое доказательство теорем
PDF
AOT-компиляция Java
PDF
Защита от атак по сторонним каналам
PDF
Как приручить дракона: введение в LLVM
PDF
Тестировщик: ожидание vs. реальность
PDF
Гибкие методологии разработки ПО в реальном мире
PDF
Tech Talks @NSU: Что есть QA и как в него попасть
PDF
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
PDF
Tech Talks @NSU: DLang: возможности языка и его применение
PDF
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
PDF
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
PDF
Tech Talks @NSU: Мир open source — мир возможностей
PDF
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
PDF
Тестировщик: ожидание vs. реальность
PDF
Роли и задачи HR в работе IT-компаний
Tech Talks @NSU: Путь студента в IT-бизнес
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
Back to the Future: Функциональное программирование вчера и сегодня
Что такое Highload? Секреты высокой нагрузки
Автоматическое доказательство теорем
AOT-компиляция Java
Защита от атак по сторонним каналам
Как приручить дракона: введение в LLVM
Тестировщик: ожидание vs. реальность
Гибкие методологии разработки ПО в реальном мире
Tech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Тестировщик: ожидание vs. реальность
Роли и задачи HR в работе IT-компаний

Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не все выпускники IT-специальностей пишут код

  • 2. Что здесь происходит? • Лекции о реалиях работы в IT-компаниях и об IT-индустрии в целом • Для студентов IT-специальностей, задумывающихся о своей будущей карьере
  • 3. Зачем этот спецкурс? • Студент IT-специальности учится 4 года, но в итоге знает об индустрии далеко не все • Как устроены IT-компании? • В чем заключается работа программиста? • Куда (и кем) лучше идти работать?
  • 4. Зачем этот спецкурс? Мы расскажем о том, о чем в университете обычно не рассказывают
  • 5. Кто выступает? • Сотрудники новосибирских (и не только) IT- компаний • Ведущие разработчики, менеджеры проектов, руководители отделов • Список выступающих - bit.ly/industry101
  • 6. Кто выступает? • Семëн Факторович • Выпускник ФИТ НГУ 2009 года • 5 лет программистского стажа • Последние 2.5 года — менеджер проектов в компании Noveo, noveogroup.ru
  • 7. О чем будем говорить сегодня • Обзор разных профессий в IT-индустрии • Какие карьерные пути есть у молодого специалиста
  • 8. Страшная правда В IT-компаниях работают не только программисты
  • 9. Карьерные области в IT- компаниях • Разработка • Тестирование • Менеджмент
  • 10. Менее распространенные профессии • Технические писатели, копирайтеры • Аналитики • Менеджеры по продажам
  • 11. Разработка • Junior Developer / Developer / Senior Developer • Team lead • Software Architect
  • 12. Junior developer • Младший разработчик, стажер • Стартовая позиция • Опыт работы не обязателен • Можно совмещать с учебой (начиная со 2-3 курса)
  • 13. Junior developer • Чем занимаются на этой позиции? • Учатся! (еще и получают за это деньги) • Тренинги, внутренние экзамены, учебные проекты
  • 14. Junior developer Первый реальный проект может начаться через 3-4 месяца
  • 15. Junior developer Один из лучших вариантов начала карьеры
  • 16. Junior developer Одно «но»: зарплата будет очень мала
  • 17. Developer • Software developer, разработчик, Software engineer • Та самая «стандартная» программистская позиция • Разработка программного обеспечения
  • 18. Developer • Разработка? • 30%* времени: реализация новых фич • 70%* времени: поддержка, развитие и багфиксинг * результаты могут отличаться от заявленных
  • 19. Developer • Бешеный креатив вовсе не обязательно занимает бóльшую часть времени • Остальное — поиск и исправление собственных ошибок и мелкие доделки • «Передвиньте эту кнопочку левее»
  • 20. Developer “Another flaw in the human character is that everybody wants to build, but nobody wants to do maintenance.” – KurtVonnegut
  • 21. Developer Бывает, что разработчик вообще не пишет код
  • 22. Developer • Code review других разработчиков • Сборка релизов и установочных пакетов • Чтение спецификаций и оценка проектов • Поиск проблем конфигурации на серверах заказчика
  • 23. Senior developer • Старший разработчик • Не позиция, а название вакансии • 4-5 лет опыта разработки • Значительно бóльшая зарплата
  • 24. Team leader • Team lead, руководитель команды • Подразумевается наличие команды • Руководит командой, но при этом сам пишет код (в отличие от менеджера) • «Играющий тренер»
  • 25. Team leader • Распределяет задачи, контролирует их выполнение, консультирует команду • Самый опытный из всей команды
  • 26. Software architect • Архитектор — значит что-то проектирует? • Структура классов, компоненты сложного технического решения • В местных реалиях — то же самое, что senior developer
  • 29. Карьерный рост разработчика Developer, developer, developer... Оставаться разработчиком на протяжении 10-15 лет, если вам это нравится — почему бы и нет?
  • 30. Карьерный рост разработчика • Уход в менеджмент • Team leader • Project manager • Уход в другие области (например, тестирование) очень редок
  • 31. Карьерный рост разработчика • Зарплата в основном выше, чем у других IT- cпециалистов • Невероятная востребованность профессии: разработчик легко найдет работу в любом городе и в любой стране
  • 32. Quality assurance • Обеспечение качества, тестирование • «Тестировщик», но не «тестер»
  • 33. • Поиск багов? Не совсем • Проверка того, что приложение работает как нужно • А как нужно? Quality assurance
  • 34. • Выполняет ли приложение те функции, которые оно должно выполнять? • «В спецификации есть вот такая фича, но разработчики забыли ее реализовать» • «Эта фича работает не совсем так, как описано в спецификации» Quality assurance
  • 35. • Как приложение работает с неправильными данными? • «Что будет, если я введу логин длиной 50 символов?» • «Что будет, если я попытаюсь сохранить файл на диск, на котором нет свободного места?» Quality assurance
  • 36. • Работает ли приложение в тех условиях, в которых оно должно работать? • «Наше приложение нормально работает на Windows 7, но крэшится наWindows XP» • «Наш веб-сайт неправильно отображается на iPad» Quality assurance
  • 37. • Работает ли приложение в экстремальных условиях? • «Что будет, если мы откроем нашим графическим редактором файл в 10Гб?» • «Что будет, если на наш сайт зайдет 100 000 человек одновременно?» Quality assurance
  • 38. • «Не перестало ли приложение работать после рефакторинга?» • «Не перестала ли работать какая-либо фича после того, как мы добавили новую?» Quality assurance
  • 39. • Работа тестировщика очень разноплановая • Не обязательно требует профильного образования • Но вполне может включать в себя чтение кода (а иногда даже его написание) Quality assurance
  • 40. QA automation • Автоматизированное тестирование • Зачем проверять веб-сайт вручную, если можно написать программу, которая будет этим заниматься?
  • 41. • Интересный вариант для тех, кто умеет программировать и любит тестировать • Автотесты зачастую пишутся на несложных скриптовых языках (Lua, Python) QA automation
  • 42. • Есть и более сложные задачи • Своя платформа для автотестов • Покрытие тестами большой программной системы: компилятор Java, С++ STL, ... QA automation
  • 43. • Рост, в основном, идет «вширь»: новые области и методы тестирования • Есть вариант уйти в менеджмент • Руководитель отдела тестирования • Менеджер проектов • Уйти в девелопмент? Карьерный рост тестировщика
  • 44. • «Пойти работать тестировщиком и потом дорасти до разработчика» — не самая лучшая идея • Займет 1-2 года • Лучше все это время прокачивать скилл программиста Карьерный рост тестировщика
  • 45. Менеджмент • Project manager • Product manager • Senior management (CTO, CEO)
  • 46. • Менеджер проектов, руководитель проектов • Руководит проектной командой (разработчики, тестировщики, дизайнеры, аналитики...) • Управляет разработкой, но не пишет код Project Manager
  • 47. • Налаживает процессы разработки • Распределяет задачи, отслеживает их выполнение • Отслеживает сроки и бюджеты • Общается с заказчиком Project Manager
  • 48. • Ответственность за проект — на менеджере! • Менеджер собирает все шишки и все плюшки Project Manager
  • 49. • Работа менеджера кардинально отличается от работы программиста • Общение, решение организационных вопросов, множество дел одновременно • Стресс! Project Manager
  • 50. • Менеджер продуктов, product owner, program manager • Управляет не командой, а продуктом в целом • Не операционный, а стратегический менеджмент Product Manager
  • 51. • Понимание потребностей рынка: какую бизнес-задачу решает наш продукт? • Понимание потребностей пользователей: что нужно нашим клиентам? • Продвижение продукта на рынок, взаимодействие с конкурентами Product Manager
  • 52. • Редко общается с разработчиками, обычно только с менеджерами • Может иметь в подчинении несколько проектных команд Product Manager
  • 53. • CTO, Chief Technical Officer, технический директор • CEO, Chief Executive Officer, генеральный директор Senior management
  • 54. • CTO: верхняя ступень технической карьерной лестницы • Финальные решения по сложным техническим вопросам • Надзор над несколькими продуктами Senior management
  • 55. • CEO: самая главная должность в компании • Надзор над всеми продуктами • Административные вопросы (аренда офиса, финансы...) Senior management
  • 56. • Может быть интереснее работы программиста (зависит от характера) • Зарплата, как правило, выше (особенно у старшего менеджмента) • IT-образование не является обязательным Менеджмент
  • 57. Экзотические профессии • Технические писатели, копирайтеры • Бизнес-аналитики • Менеджеры по продажам
  • 61. Программисты традиционно очень не любят писать документацию Techwriter, copywriter
  • 62. • Технический писатель занимается инструкциями, файлами помощи... • Копирайтер пишет менее специфические тексты: контентное наполнение сайта, маркетинговые описания продуктов... Techwriter, copywriter
  • 63. • Иногда техписатель — это филолог, натасканный на понимание предметной области • А иногда IT-шник, которого научили хорошо писать тексты Techwriter, copywriter
  • 64. Systems analyst • Системный аналитик, реже «бизнес-аналитик» • Слово «бизнес» — от «бизнес-логика» • Перевод проблемы заказчика в задачу, понятную программисту
  • 65. Заказчик — аналитику: «Мне нужна система складского учета, решающая следующие задачи моего бизнеса...» Systems analyst
  • 66. Аналитик — программисту: «Заказчику нужно веб-приложение, оперирующее следующими сущностями...» Systems analyst
  • 67. • Общение с заказчиком и выяснение, чего же он хочет • Продумывание бизнес-логики приложения • Выявление требований к приложению (вплоть до прототипов интерфейса и структуры БД) Systems analyst
  • 68. Результат работы аналитика — спецификация приложения, по которой можно начинать разработку Systems analyst
  • 69. • Для фанатично любящих писать документы и продумывать каждую мелочь • IT-образование крайне желательно, но не обязательно Systems analyst
  • 70. Sales manager • Менеджер по продажам, «продажник» • Общается с заказчиками и заключает контракты на разработку • Ищет новых клиентов разнообразными способами (например, ездит по выставкам и конференциям)
  • 71. • Продажник — двигатель бизнеса • Пока он не найдет заказчика, проектов у компании не будет Sales manager
  • 72. • Задачи продажника: • Найти потенциального клиента • Уговорить его выполнить проект именно у нас • Сторговаться по цене Sales manager
  • 73. • Нужно очень много разнообразного опыта (переговоры, понимание бизнеса заказчика, экономика...) • Средний возраст продажников в крупных компаниях — 30 лет и старше Sales manager
  • 74. • Зарплата минимальная (или даже нулевая) • Но зато есть процент с продаж Sales manager
  • 75. Заключил контракт на 100 000 долларов? Получи 10% Sales manager
  • 76. Зачем мне задумываться о других профессиях? • «Мне нравится работать разработчиком/ тестировщиком, я не хочу ничего менять» • «Я не хочу становиться тимлидом или менеджером: ответственность — это не для меня»
  • 77. Зачем мне задумываться о других профессиях? • За 5-10 лет даже любимое занятие может надоесть, и вам может захотеться чего-то нового • Рост в менеджмент • Смена карьерной области
  • 78. Зачем мне задумываться о других профессиях? • За 5-10 лет даже любимое занятие может надоесть, и вам может захотеться чего-то нового • А может и не надоесть • 40-летние программисты вполне счастливы
  • 79. Зачем мне задумываться о карьерном росте • Карьерный рост сопровождается ростом зарплаты • Разница зарплат между обычным и старшим разработчиком — 2x • Разница зарплат по всей карьерной лестнице програмиста (от junior developer до CTO) — 10-15х
  • 80. Подытожим? • Карьерные пути: тестирование, разработка, менеджмент • Менее распространенные профессии • Мотивация к карьерному росту
  • 81. В следующей серии • Как устроен IT-бизнес, и как код, написанный вами, превращается в деньги • Основные типы IT-компаний: сервисные и продуктовые • Почему в большинстве софтверных компаний есть четкая верхняя граница зарплат