SlideShare une entreprise Scribd logo
1  sur  33
Как воспитать программиста Несколько теоретических и трипрактических совета по воспитанию эффективного программиста Михаил Пайсон mikhail@payson.ru
План Основной капитал Software компании Откуда берутся программисты? Как найти готового специалиста? Как найти студента? Как сделать что-то с уже существующими людьми? Уровни мастерства Источники плохого кода Три шага становления программиста Практические советы Чему учить? Основные ценности Инспекция кода
Основной капитал Software компании 	Что является основным продуктом Software компании?
Основной капитал Software компании Программный продукт! Производство Интеграция Поддержка Маркетинг и продажи
Основной капитал Software компании Какие ресурсы идут на производство продукта?
Основной капитал Software компании 	Единственное, что требуется для производства ПО - Человеческая мысль!
Основной капитал Software компании 	Основной капитал Software компании- люди, которые в ней работают 	А конкретно – программисты, которые пишут ПО
Откуда берутся программисты? Как найти готового специалиста? Как найти студента? Как сделать что-то с уже существующими людьми?
Откуда берутся программисты? 	Как найти готового специалиста?
Откуда берутся программисты?Как найти готового специалиста? Переманить деньгами Переманить интересной работой Переманить карьерным ростом Переманить условиями труда Получить готового специалиста в связи с его переездом
Откуда берутся программисты? 	Как найти студента?
Откуда берутся программисты?Как найти студента? Создать высокий имидж компании Договориться с кафедрами Прочитать курс лекций Организовать СКБ или НИРС
Откуда берутся программисты? 	Как сделать что-то с уже существующими людьми?
Откуда берутся программисты? Как сделать что-то с уже существующими людьми? Учить Направлять Воодушевлять Контролировать!
Откуда берутся программисты?Кейс Вы приходите в новую группу Есть разработчик: Большой опыт и знания Не удовлетворяет начальство, т.к. не может в срок выполнить задачу «Слил» важный проект Решение начальства: «надо увольнять» Ваши действия?
Уровни мастерства Источники плохого кода Три шага становления программиста Кривая обучения
Источники плохого кода Никто и никогда сознательно не пишет плохо Основной источник – отсутствие «воспитания» Второй источник – отсутствие контроля Третий источник – отсутствие времени
Три шага становления программиста Качество Эффективное развитие Высокое Исправление ситуации Не бывает! Умничаем Программируем Производительность упала! Бесконтрольное развитие Низкое Надо что-то делать! Тупим Колбасим Производительность Низкая Высокая
Шаг 1. Ненависть Научите программиста ненавидеть: Некачественный код «Сделать как побыстрее» Костыли и заплатки «Сейчас начнём, а потом увидим – что получится»
Шаг 2. Страсть Программист начинает: Любить «умничать» Писать «красивые решения» Наворачивать паттерны и методологии Отшлифовывать код до блеска Гордиться своей профессиональной компетентностью
Шаг 3. Здравомыслие Программист осознаёт: Думаем прежде, чем пишем Нет универсальных решений Чем проще, тем легче работать Эффективность прежде всего
Кривая обучения Первое время любой программист тратит время команды С определённого момента он начинает работать сам, но работает неэффективно Для того, чтобы программист вышел на свою полную мощность требуется много времени Опять инвестиции! Производительность Неэффективная работа Затраты на обучение Недели Убытки
Практические советы Чему учить? Основные ценности Инспекция кода
Чему учить? Подумай каждый раз перед тем, как писать Код вероятно придётся модифицировать: чем «грязнее» код, тем больше проблем у тебя будет потом Аккуратное приложение без ошибок выглядит круто. И все любят его автора. Трус не играет в хоккей, а профессионал не «колбасит»
Чему учить? Общие соглашения написания кода (унификация) Низкоуровневая архитектура (паттерны) Использование сторонних компонентов и готовых решений
Основные ценности Код должен быть Продуман Аккуратен Эффективен Быстро, просто и аккуратно решать поставленную задачу
Инспекция кода Проводится еженедельно для кода, написанного за неделю Проводится опытными программистами по очереди Время на подготовку – 4 часа Время на проведение – 1 час
Инспекция кода. Проведение Проводится в виде обсуждения Ведущий готовит список недочётов (по его мнению) Имена авторов «плохого кода» не указываются Команда обсуждает каждый из недочётов Обязательно подводятся итоги  Принимается решение о исправлении либо рефакторинге части недочётов
Инспекция кода. Junior Для junior Нахождение «плохого кода», пока он не врос в систему контроль профессионального развития программиста Обучение: обсуждение и применение подходящей архитектуры
Инспекция кода. Senior Для senior «Свежий взгляд» на код Обдумывание более быстрых и эффективных решений Иногда и профессионалы «колбасят» 
Инспекция кода.Команда Для команды в целом Возможность обсудить качество кода и архитектурных решений Стимул писать аккуратно, чтобы потом не краснеть на review Постоянное поддержание необходимости «писать хорошо»
Инспекция кода.Проблемы Поиск серьёзных архитектурных недочётов малоэффективен Очень сложно избежать перехода на личности Вечный недостаток времени
Обсуждение

Contenu connexe

Tendances

Иду по приборам… Практические советы по визуализации работ. Москва
Иду по приборам… Практические советы по визуализации работ. МоскваИду по приборам… Практические советы по визуализации работ. Москва
Иду по приборам… Практические советы по визуализации работ. Москва
Maxim Gaponov
 
Практические аспекты разработки ПО #4
Практические аспекты разработки ПО #4Практические аспекты разработки ПО #4
Практические аспекты разработки ПО #4
Denis Umnov
 
Практические аспекты разработки ПО #5
Практические аспекты разработки ПО #5Практические аспекты разработки ПО #5
Практические аспекты разработки ПО #5
Denis Umnov
 
Где искать менеджеров продукта
Где искать менеджеров продуктаГде искать менеджеров продукта
Где искать менеджеров продукта
Denis Beskov
 
Правила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил ТабуновПравила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил Табунов
Coub
 

Tendances (20)

Первый опыт устройства на работу
Первый опыт устройства на работуПервый опыт устройства на работу
Первый опыт устройства на работу
 
Профессии в IT
Профессии в ITПрофессии в IT
Профессии в IT
 
Иду по приборам… Практические советы по визуализации работ. Москва
Иду по приборам… Практические советы по визуализации работ. МоскваИду по приборам… Практические советы по визуализации работ. Москва
Иду по приборам… Практические советы по визуализации работ. Москва
 
низкоуровневое программирование сегодня новые стандарты с++, программирован...
низкоуровневое программирование сегодня   новые стандарты с++, программирован...низкоуровневое программирование сегодня   новые стандарты с++, программирован...
низкоуровневое программирование сегодня новые стандарты с++, программирован...
 
карта It профессий, точки входа, первые шаги
карта It профессий, точки входа, первые шагикарта It профессий, точки входа, первые шаги
карта It профессий, точки входа, первые шаги
 
Практические аспекты разработки ПО #4
Практические аспекты разработки ПО #4Практические аспекты разработки ПО #4
Практические аспекты разработки ПО #4
 
Product Owner: Inception
Product Owner: InceptionProduct Owner: Inception
Product Owner: Inception
 
Практические аспекты разработки ПО #5
Практические аспекты разработки ПО #5Практические аспекты разработки ПО #5
Практические аспекты разработки ПО #5
 
Где искать менеджеров продукта
Где искать менеджеров продуктаГде искать менеджеров продукта
Где искать менеджеров продукта
 
многогранная профессия тестировщика глазами с++ разработчика в примерах
многогранная профессия тестировщика глазами с++ разработчика в примерахмногогранная профессия тестировщика глазами с++ разработчика в примерах
многогранная профессия тестировщика глазами с++ разработчика в примерах
 
Правила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил ТабуновПравила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил Табунов
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
карта IT профессий
карта IT профессийкарта IT профессий
карта IT профессий
 
Python test-automation
Python test-automationPython test-automation
Python test-automation
 
Как выжить начинающему бизнес-аналитику?
Как выжить начинающему бизнес-аналитику?Как выжить начинающему бизнес-аналитику?
Как выжить начинающему бизнес-аналитику?
 
Человек со стокгольмским синдромом
Человек со стокгольмским синдромомЧеловек со стокгольмским синдромом
Человек со стокгольмским синдромом
 
Junior java standard edition developer
Junior java standard edition developerJunior java standard edition developer
Junior java standard edition developer
 
Как попасть на следующий уровень карьеры и зарплаты в C#
Как попасть на следующий уровень карьеры и зарплаты в C#Как попасть на следующий уровень карьеры и зарплаты в C#
Как попасть на следующий уровень карьеры и зарплаты в C#
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ru
 
6 solution inno
6 solution inno6 solution inno
6 solution inno
 

En vedette

En vedette (6)

Промышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияПромышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятия
 
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаПромышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
 
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитикаПромышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
 
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
 
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…
 

Similaire à Как воспитать программиста

8 актуальных вопросов о карьере в IT
8 актуальных вопросов о карьере в IT8 актуальных вопросов о карьере в IT
8 актуальных вопросов о карьере в IT
Alexander Krass
 
Как фаундеру IT компании создать команду лидогенераторов без больших затрат
Как фаундеру IT компании создать команду лидогенераторов без больших затратКак фаундеру IT компании создать команду лидогенераторов без больших затрат
Как фаундеру IT компании создать команду лидогенераторов без больших затрат
International Marketing Group Ukraine
 
7 актуальных вопросов о карьере в IT
7 актуальных вопросов о карьере в IT7 актуальных вопросов о карьере в IT
7 актуальных вопросов о карьере в IT
Alexander Krass
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QAFest
 
3 ошибки в построении интернет-маркетинга
3 ошибки в построении интернет-маркетинга3 ошибки в построении интернет-маркетинга
3 ошибки в построении интернет-маркетинга
Исследовательский центр «Стереомаркетинг»
 
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетологаSECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON
 
проектирование, поддержка и контент интернет магазина
проектирование, поддержка и контент интернет магазинапроектирование, поддержка и контент интернет магазина
проектирование, поддержка и контент интернет магазина
ITMsupport
 
16062010 e le_lmm_vleontyev
16062010 e le_lmm_vleontyev16062010 e le_lmm_vleontyev
16062010 e le_lmm_vleontyev
Valery Leontyev
 

Similaire à Как воспитать программиста (20)

8 актуальных вопросов о карьере в IT
8 актуальных вопросов о карьере в IT8 актуальных вопросов о карьере в IT
8 актуальных вопросов о карьере в IT
 
Формирование технической команды на старте
Формирование технической команды на старте Формирование технической команды на старте
Формирование технической команды на старте
 
5 minutes for design or how can programmer make user be happy
5 minutes for design or how can programmer make user be happy5 minutes for design or how can programmer make user be happy
5 minutes for design or how can programmer make user be happy
 
School IT recruiting
School IT recruiting School IT recruiting
School IT recruiting
 
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
 
Как фаундеру IT компании создать команду лидогенераторов без больших затрат
Как фаундеру IT компании создать команду лидогенераторов без больших затратКак фаундеру IT компании создать команду лидогенераторов без больших затрат
Как фаундеру IT компании создать команду лидогенераторов без больших затрат
 
Lifestyle для стартапера. Что может помочь (Internet life 2011, Алесандр Красс)
Lifestyle для стартапера. Что может помочь (Internet life 2011, Алесандр Красс)Lifestyle для стартапера. Что может помочь (Internet life 2011, Алесандр Красс)
Lifestyle для стартапера. Что может помочь (Internet life 2011, Алесандр Красс)
 
как воспитать программиста (Выступление в Sibirix)
как воспитать программиста (Выступление в Sibirix)как воспитать программиста (Выступление в Sibirix)
как воспитать программиста (Выступление в Sibirix)
 
7 актуальных вопросов о карьере в IT
7 актуальных вопросов о карьере в IT7 актуальных вопросов о карьере в IT
7 актуальных вопросов о карьере в IT
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
 
3 ошибки в построении интернет-маркетинга
3 ошибки в построении интернет-маркетинга3 ошибки в построении интернет-маркетинга
3 ошибки в построении интернет-маркетинга
 
15 шагов к быстрым сделкам на тендерных площадках
15 шагов к быстрым сделкам на тендерных площадках15 шагов к быстрым сделкам на тендерных площадках
15 шагов к быстрым сделкам на тендерных площадках
 
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетологаSECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
 
Agileee Petelin самый непонимаемый принцип Agile Manifesto
Agileee Petelin самый непонимаемый принцип Agile ManifestoAgileee Petelin самый непонимаемый принцип Agile Manifesto
Agileee Petelin самый непонимаемый принцип Agile Manifesto
 
«Формирование технической команды на старте»
«Формирование технической команды на старте»«Формирование технической команды на старте»
«Формирование технической команды на старте»
 
5 правил успешной разработки приложений для бренда
5 правил успешной разработки приложений для бренда 5 правил успешной разработки приложений для бренда
5 правил успешной разработки приложений для бренда
 
проектирование, поддержка и контент интернет магазина
проектирование, поддержка и контент интернет магазинапроектирование, поддержка и контент интернет магазина
проектирование, поддержка и контент интернет магазина
 
Как ставить задачи [копи]райтеру (Анна Каправчук)
Как ставить задачи [копи]райтеру (Анна Каправчук)Как ставить задачи [копи]райтеру (Анна Каправчук)
Как ставить задачи [копи]райтеру (Анна Каправчук)
 
16062010 e le_lmm_vleontyev
16062010 e le_lmm_vleontyev16062010 e le_lmm_vleontyev
16062010 e le_lmm_vleontyev
 
проектирование, поддержка и контент интернет магазина
проектирование, поддержка и контент интернет магазинапроектирование, поддержка и контент интернет магазина
проектирование, поддержка и контент интернет магазина
 

Как воспитать программиста

  • 1. Как воспитать программиста Несколько теоретических и трипрактических совета по воспитанию эффективного программиста Михаил Пайсон mikhail@payson.ru
  • 2. План Основной капитал Software компании Откуда берутся программисты? Как найти готового специалиста? Как найти студента? Как сделать что-то с уже существующими людьми? Уровни мастерства Источники плохого кода Три шага становления программиста Практические советы Чему учить? Основные ценности Инспекция кода
  • 3. Основной капитал Software компании Что является основным продуктом Software компании?
  • 4. Основной капитал Software компании Программный продукт! Производство Интеграция Поддержка Маркетинг и продажи
  • 5. Основной капитал Software компании Какие ресурсы идут на производство продукта?
  • 6. Основной капитал Software компании Единственное, что требуется для производства ПО - Человеческая мысль!
  • 7. Основной капитал Software компании Основной капитал Software компании- люди, которые в ней работают А конкретно – программисты, которые пишут ПО
  • 8. Откуда берутся программисты? Как найти готового специалиста? Как найти студента? Как сделать что-то с уже существующими людьми?
  • 9. Откуда берутся программисты? Как найти готового специалиста?
  • 10. Откуда берутся программисты?Как найти готового специалиста? Переманить деньгами Переманить интересной работой Переманить карьерным ростом Переманить условиями труда Получить готового специалиста в связи с его переездом
  • 11. Откуда берутся программисты? Как найти студента?
  • 12. Откуда берутся программисты?Как найти студента? Создать высокий имидж компании Договориться с кафедрами Прочитать курс лекций Организовать СКБ или НИРС
  • 13. Откуда берутся программисты? Как сделать что-то с уже существующими людьми?
  • 14. Откуда берутся программисты? Как сделать что-то с уже существующими людьми? Учить Направлять Воодушевлять Контролировать!
  • 15. Откуда берутся программисты?Кейс Вы приходите в новую группу Есть разработчик: Большой опыт и знания Не удовлетворяет начальство, т.к. не может в срок выполнить задачу «Слил» важный проект Решение начальства: «надо увольнять» Ваши действия?
  • 16. Уровни мастерства Источники плохого кода Три шага становления программиста Кривая обучения
  • 17. Источники плохого кода Никто и никогда сознательно не пишет плохо Основной источник – отсутствие «воспитания» Второй источник – отсутствие контроля Третий источник – отсутствие времени
  • 18. Три шага становления программиста Качество Эффективное развитие Высокое Исправление ситуации Не бывает! Умничаем Программируем Производительность упала! Бесконтрольное развитие Низкое Надо что-то делать! Тупим Колбасим Производительность Низкая Высокая
  • 19. Шаг 1. Ненависть Научите программиста ненавидеть: Некачественный код «Сделать как побыстрее» Костыли и заплатки «Сейчас начнём, а потом увидим – что получится»
  • 20. Шаг 2. Страсть Программист начинает: Любить «умничать» Писать «красивые решения» Наворачивать паттерны и методологии Отшлифовывать код до блеска Гордиться своей профессиональной компетентностью
  • 21. Шаг 3. Здравомыслие Программист осознаёт: Думаем прежде, чем пишем Нет универсальных решений Чем проще, тем легче работать Эффективность прежде всего
  • 22. Кривая обучения Первое время любой программист тратит время команды С определённого момента он начинает работать сам, но работает неэффективно Для того, чтобы программист вышел на свою полную мощность требуется много времени Опять инвестиции! Производительность Неэффективная работа Затраты на обучение Недели Убытки
  • 23. Практические советы Чему учить? Основные ценности Инспекция кода
  • 24. Чему учить? Подумай каждый раз перед тем, как писать Код вероятно придётся модифицировать: чем «грязнее» код, тем больше проблем у тебя будет потом Аккуратное приложение без ошибок выглядит круто. И все любят его автора. Трус не играет в хоккей, а профессионал не «колбасит»
  • 25. Чему учить? Общие соглашения написания кода (унификация) Низкоуровневая архитектура (паттерны) Использование сторонних компонентов и готовых решений
  • 26. Основные ценности Код должен быть Продуман Аккуратен Эффективен Быстро, просто и аккуратно решать поставленную задачу
  • 27. Инспекция кода Проводится еженедельно для кода, написанного за неделю Проводится опытными программистами по очереди Время на подготовку – 4 часа Время на проведение – 1 час
  • 28. Инспекция кода. Проведение Проводится в виде обсуждения Ведущий готовит список недочётов (по его мнению) Имена авторов «плохого кода» не указываются Команда обсуждает каждый из недочётов Обязательно подводятся итоги Принимается решение о исправлении либо рефакторинге части недочётов
  • 29. Инспекция кода. Junior Для junior Нахождение «плохого кода», пока он не врос в систему контроль профессионального развития программиста Обучение: обсуждение и применение подходящей архитектуры
  • 30. Инспекция кода. Senior Для senior «Свежий взгляд» на код Обдумывание более быстрых и эффективных решений Иногда и профессионалы «колбасят» 
  • 31. Инспекция кода.Команда Для команды в целом Возможность обсудить качество кода и архитектурных решений Стимул писать аккуратно, чтобы потом не краснеть на review Постоянное поддержание необходимости «писать хорошо»
  • 32. Инспекция кода.Проблемы Поиск серьёзных архитектурных недочётов малоэффективен Очень сложно избежать перехода на личности Вечный недостаток времени