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