SlideShare a Scribd company logo

как воспитать программиста (Выступление в Sibirix)

Mikhail Payson
Mikhail Payson
Mikhail PaysonEngineering Manager at Yandex

Презентация с моего доклада "Как воспитать программиста". сделанного в компании Sibirix

как воспитать программиста (Выступление в Sibirix)

1 of 14
Download to read offline
Как воспитать программиста

        Михаил Пайсон
      Perpetuum Software
Как воспитать программиста
• Спасение утопающих –
  дело рук самих
  утопающих

• Воспитание
  программиста – дело
  рук…

• Его руководителя!

• Почему?
Принцип минимума потенциальной
           энергии
• Принцип минимума
  потенциальной
  энергии:
  – любая замкнутая
    система стремится
    перейти в такое
    состояние, в котором
    ее потенциальная
    энергия минимальна
Принцип минимума потенциальной
           энергии
• Следствие
  – Программист не будет
    стараться что-то делать
    до тех пор, пока ему
    комфортно

  – Желания улучшать
    качество работы нет, т.к.
    нет понимания низкого
    качества

  – Он уверен, что всё делает
    правильно!
Источники плохого кода
• Никто и никогда сознательно
  не пишет плохо

• Основной источник –
  отсутствие «воспитания»

• Второй источник – отсутствие
  контроля

• Третий источник – отсутствие
  времени
Что же делать менеджеру?

     Учить

  Направлять

 Воодушевлять

Контролировать!
Ad

Recommended

карта It профессий, точки входа, первые шаги
карта It профессий, точки входа, первые шагикарта It профессий, точки входа, первые шаги
карта It профессий, точки входа, первые шагиCOMAQA.BY
 
многогранная профессия тестировщика глазами с++ разработчика в примерах
многогранная профессия тестировщика глазами с++ разработчика в примерахмногогранная профессия тестировщика глазами с++ разработчика в примерах
многогранная профессия тестировщика глазами с++ разработчика в примерахCOMAQA.BY
 
карта IT профессий
карта IT профессийкарта IT профессий
карта IT профессийCOMAQA.BY
 
Как отучить программиста колбасить (Прагматик 2012)
Как отучить программиста колбасить (Прагматик 2012)Как отучить программиста колбасить (Прагматик 2012)
Как отучить программиста колбасить (Прагматик 2012)Mikhail Payson
 
It career guidance by Maxym Mykhalchuk
It career guidance by Maxym MykhalchukIt career guidance by Maxym Mykhalchuk
It career guidance by Maxym MykhalchukAlice Zabolotnaya
 
Зачем читать чужой код?
Зачем читать чужой код?Зачем читать чужой код?
Зачем читать чужой код?Max Klymyshyn
 
Оценка фронтенда: моя история о том, как сдавать задачи вовремя / Александра ...
Оценка фронтенда: моя история о том, как сдавать задачи вовремя / Александра ...Оценка фронтенда: моя история о том, как сдавать задачи вовремя / Александра ...
Оценка фронтенда: моя история о том, как сдавать задачи вовремя / Александра ...Ontico
 

More Related Content

Viewers also liked

Промышленная разработка ПО. Лекция 7. Особенности работы руководителя проектов
Промышленная разработка ПО. Лекция 7. Особенности работы руководителя проектовПромышленная разработка ПО. Лекция 7. Особенности работы руководителя проектов
Промышленная разработка ПО. Лекция 7. Особенности работы руководителя проектовMikhail Payson
 
Пара слов о рисках
Пара слов о рискахПара слов о рисках
Пара слов о рискахMikhail Payson
 
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаПромышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаMikhail Payson
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыMikhail Payson
 
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитикаПромышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитикаMikhail Payson
 
Why you should think twice before giving your programmer to design the UI
Why you should think twice before giving your programmer to design the UIWhy you should think twice before giving your programmer to design the UI
Why you should think twice before giving your programmer to design the UIMikhail Payson
 
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…Mikhail Payson
 
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...Mikhail Payson
 
Эффективная работа команды: поток
Эффективная работа команды: потокЭффективная работа команды: поток
Эффективная работа команды: потокMikhail Payson
 
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...Mikhail Payson
 
Как воспитать программиста
Как воспитать программистаКак воспитать программиста
Как воспитать программистаMikhail Payson
 
Промышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияПромышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияMikhail Payson
 

Viewers also liked (13)

Промышленная разработка ПО. Лекция 7. Особенности работы руководителя проектов
Промышленная разработка ПО. Лекция 7. Особенности работы руководителя проектовПромышленная разработка ПО. Лекция 7. Особенности работы руководителя проектов
Промышленная разработка ПО. Лекция 7. Особенности работы руководителя проектов
 
Пара слов о рисках
Пара слов о рискахПара слов о рисках
Пара слов о рисках
 
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаПромышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
 
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитикаПромышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
 
Why you should think twice before giving your programmer to design the UI
Why you should think twice before giving your programmer to design the UIWhy you should think twice before giving your programmer to design the UI
Why you should think twice before giving your programmer to design the UI
 
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…
 
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
 
Эффективная работа команды: поток
Эффективная работа команды: потокЭффективная работа команды: поток
Эффективная работа команды: поток
 
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
 
Как воспитать программиста
Как воспитать программистаКак воспитать программиста
Как воспитать программиста
 
Промышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияПромышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятия
 
Введение в алгоритмы и структуры данных
Введение в алгоритмы и структуры данныхВведение в алгоритмы и структуры данных
Введение в алгоритмы и структуры данных
 

Similar to как воспитать программиста (Выступление в Sibirix)

лобасев 3 ключевых навыка успешной agile-команды
лобасев   3 ключевых навыка успешной agile-командылобасев   3 ключевых навыка успешной agile-команды
лобасев 3 ключевых навыка успешной agile-командыMagneta AI
 
3 ключевых навыка успешной Agile-команды
3 ключевых навыка успешной Agile-команды3 ключевых навыка успешной Agile-команды
3 ключевых навыка успешной Agile-командыDmitry Lobasev
 
я выбираю профессию в It
я выбираю профессию в Itя выбираю профессию в It
я выбираю профессию в Itmalahova-helen
 
Практика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковПрактика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковSQALab
 
организация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октябряорганизация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октябряit-people
 
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыДмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыITSpringBY
 
Менеджер продукта: как обрести и развить ключевые навыки (Денис Бесков)
Менеджер продукта: как обрести и развить ключевые навыки (Денис Бесков)Менеджер продукта: как обрести и развить ключевые навыки (Денис Бесков)
Менеджер продукта: как обрести и развить ключевые навыки (Денис Бесков)Alexander Orlov
 
Многогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерахМногогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерахCOMAQA.BY
 
Менеджер продукта. Как обрести и развить ключевые навыки
Менеджер продукта. Как обрести и развить ключевые навыкиМенеджер продукта. Как обрести и развить ключевые навыки
Менеджер продукта. Как обрести и развить ключевые навыкиDenis Beskov
 
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)Ontico
 
Формирование технической команды на старте
Формирование технической команды на старте Формирование технической команды на старте
Формирование технической команды на старте Sergey Xek
 
Правила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил ТабуновПравила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил ТабуновCoub
 
Cемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектамиCемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектамиBoris Volfson
 
Персональные риски аналитика
Персональные риски аналитикаПерсональные риски аналитика
Персональные риски аналитикаGrigoriy Pechenkin
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективыBoris Volfson
 
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыAgile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыLuxoftAgilePractice
 
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыAgile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыLuxoftAgilePractice
 

Similar to как воспитать программиста (Выступление в Sibirix) (20)

лобасев 3 ключевых навыка успешной agile-команды
лобасев   3 ключевых навыка успешной agile-командылобасев   3 ключевых навыка успешной agile-команды
лобасев 3 ключевых навыка успешной agile-команды
 
3 ключевых навыка успешной Agile-команды
3 ключевых навыка успешной Agile-команды3 ключевых навыка успешной Agile-команды
3 ключевых навыка успешной Agile-команды
 
я выбираю профессию в It
я выбираю профессию в Itя выбираю профессию в It
я выбираю профессию в It
 
Маркетинг в образовательном проекте своими руками
Маркетинг в образовательном проекте своими рукамиМаркетинг в образовательном проекте своими руками
Маркетинг в образовательном проекте своими руками
 
Практика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковПрактика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиков
 
организация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октябряорганизация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октября
 
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыДмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
 
Менеджер продукта: как обрести и развить ключевые навыки (Денис Бесков)
Менеджер продукта: как обрести и развить ключевые навыки (Денис Бесков)Менеджер продукта: как обрести и развить ключевые навыки (Денис Бесков)
Менеджер продукта: как обрести и развить ключевые навыки (Денис Бесков)
 
Многогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерахМногогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерах
 
Менеджер продукта. Как обрести и развить ключевые навыки
Менеджер продукта. Как обрести и развить ключевые навыкиМенеджер продукта. Как обрести и развить ключевые навыки
Менеджер продукта. Как обрести и развить ключевые навыки
 
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)
 
Формирование технической команды на старте
Формирование технической команды на старте Формирование технической команды на старте
Формирование технической команды на старте
 
Правила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил ТабуновПравила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил Табунов
 
Cемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектамиCемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектами
 
Персональные риски аналитика
Персональные риски аналитикаПерсональные риски аналитика
Персональные риски аналитика
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективы
 
SqaВфны8
SqaВфны8SqaВфны8
SqaВфны8
 
CL_Kaspersky_CyberHeroes_final
CL_Kaspersky_CyberHeroes_finalCL_Kaspersky_CyberHeroes_final
CL_Kaspersky_CyberHeroes_final
 
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыAgile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
 
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыAgile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
 

как воспитать программиста (Выступление в Sibirix)

  • 1. Как воспитать программиста Михаил Пайсон Perpetuum Software
  • 2. Как воспитать программиста • Спасение утопающих – дело рук самих утопающих • Воспитание программиста – дело рук… • Его руководителя! • Почему?
  • 3. Принцип минимума потенциальной энергии • Принцип минимума потенциальной энергии: – любая замкнутая система стремится перейти в такое состояние, в котором ее потенциальная энергия минимальна
  • 4. Принцип минимума потенциальной энергии • Следствие – Программист не будет стараться что-то делать до тех пор, пока ему комфортно – Желания улучшать качество работы нет, т.к. нет понимания низкого качества – Он уверен, что всё делает правильно!
  • 5. Источники плохого кода • Никто и никогда сознательно не пишет плохо • Основной источник – отсутствие «воспитания» • Второй источник – отсутствие контроля • Третий источник – отсутствие времени
  • 6. Что же делать менеджеру? Учить Направлять Воодушевлять Контролировать!
  • 7. Три шага к совершенному коду • Ненависть • Страсть • Здравомыслие
  • 8. Шаг 1. Ненависть • Научите программиста ненавидеть: – Некачественный код – «Сделать как побыстрее» – Костыли и заплатки – «Сейчас начнём, а потом увидим – что получится»
  • 9. Шаг 2. Страсть • Программист начинает: – Любить «умничать» – Писать «красивые решения» – Наворачивать паттерны и методологии – Отшлифовывать код до блеска – Гордиться своей профессиональной компетентностью
  • 10. Шаг 3. Здравомыслие • Программист осознаёт: – Думаем прежде, чем пишем – Нет универсальных решений – Чем проще, тем легче работать – Эффективность прежде всего
  • 11. Чему учу я • Единый стиль кода • Общие понятия об архитектуре • Паттерны и антипаттерны • Целесообразность изобретения велосипеда
  • 12. Как добиться? • Общение, общение и ещё раз общение • Code Review • Публичное обсуждение подходов к решению задачи • Поощрение поиска хороших решений
  • 13. Плохие новости • Улучшение качества разработки требует инвестиций • Больших инвестиций!