SlideShare a Scribd company logo
1 of 19
1.   Введение и ограничения доклада
2.   Часть I. «Жизненная»
3.   Часть II. «Философская»
4.   Мораль
Почему решил сделать этот доклад?
Почему доклад получился из двух частей?
Не хочу никого обидеть!
1.   Фразы программистов из реальной жизни.
   Когда произносится: Универсальный ответ на любой вопрос
    связанный с производительностью: «почему программа съела
    500 Мб памяти?», «почему так медленно происходит
    переключение экранов?» и т.п.
   Что думает программист: «Как я ловко отмазался!»
   Что слышу я:
    ◦ Программист не понимает технологий с которыми работает
    ◦ Программист не умеет пользоваться профилировкой
    ◦ Программист не понимает особенности управления памятью
    ◦ Программист уходит от ответственности
   Как можно было бы ответить: « Скорее всего у нас утечка
    памяти. Мне нужно X часов, я запущу под профайлером,
    проверю гипотезы и скорее всего найду ее»
   Когда произносится: Ответ на полученный баг-репорт
   Что думает программист: «Я все правильно делаю»
   Что слышу я:
    ◦ Программист не может воспроизвести проблемную ситуацию
    ◦ Программист не внимательно читает баг-репорты
    ◦ Программист не умеет задавать вопросы
    ◦ Программист не хочет разбираться
   Как можно было бы ответить: « У меня работает, но это
    наверное потому что у меня система отличается<список
    гипотез> от системы Заказчика (Тестировщика), мне нужно X
    времени, чтобы проверить какая из них срабатывает у
    Заказчика (Тестировщика)».
   Когда произносится: В ответ на вопросы:
    ◦   «Что у Заказчика происходит на сервере?»
    ◦   «Как возник это Exception?»
    ◦   «Как это работает?»
    ◦   «Сколько времени у меня займет эта задача (это исправить)?»
    ◦   «Как сделать эту задачу?» и т.п.
   Что думает программист: Не знаю
   Что слышу я:
    ◦ Программист не хочет думать
    ◦ Программист не знает системы, которую создает (как она работает)
    ◦ Программист забыл сделать логгирование
   Как можно было бы ответить: «Я не знаю сейчас в чем
    проблема, но… Дайте мне X часов, телефон Заказчика, логи сервера,
    доступ к нему и я решу проблему».
   Когда произносится: В ответ на просьбу что-то изменить в
    поведении системы.
   Что думает программист: Не хочу ничего делать
   Что слышу я:
    ◦ Программист не хочет ничего делать
    ◦ Программист не умеет решать проблемы
   Как можно было бы ответить: «Пока я не знаю, что с этим
    делать. Мне нужно X часов, чтобы разобраться и предложить
    варианты ».
 Фраза №5: «Предупреждаю! Здесь у меня (нас)
  много багов»
 Фраза №6: «Я не делал коммит (сборку) N

  дней»
 Фраза №7: «Тут надо все переделать»

 Фраза №8: «Это баг не в нашем (моем) коде»

 Фраза №9: «Я сейчас по-быстрому …»

 Фраза №10: «Я не мог сделать по-другому»
   Когда произносится: Когда уже было произнесено несколько
    фраз из приведенного списка, но решать проблему все равно
    надо
   Что думает программист: Все оказалось не так как я думал
   Что слышу я:
    ◦ Программист не подумал раньше
    ◦ Программист сделал по-быстрому
    ◦ Программист ошибся, но не считает, что не прав
   Как можно было бы ответить: «Я виноват не подумал
    раньше. Мне нужно X часов на то, чтобы разобраться в
    создавшейся ситуации и принять решение»
1.   Чего руководитель ждет от программиста?
2.   Почему не всегда оправдываются ожидания?
3.   Как сделать так, чтобы наши ошибки не
     возвращались снова?
 Конкретные сроки (время)
 Конкретные действия
 Конкретный ожидаемый результат
Сотрудник не выполняет задачу если:
 Не умеет

 Нет времени

 Не понимает задачу

 Не хочет




                   (С) Стратосфера (А. Орлов)
 Не умеет – пусть учится. Можно даже на
  своих ошибках, то только правильно это
  делать.
 Нет времени – наша проблема. Нужно

  решать.
 Не понимает задачу – если подойти к

  проблеме чуть тоньше, то скорее всего не
  понимает контекст, ситуацию.
 Не хочет – можно заставлять, но лучше

  уволить
«правильный» подход




«неправильный» подход
1.   Они работают в команде и их плохая работа
     влияет на других программистов,
     тестировщиков
2.   Есть заказчик, который ожидает конкретики и
     который требует ее от Пма
3.   Полная стоимость работы включает не
     только стоимость работы программиста
Полная стоимость работы:




    «плохой» программист




    «хороший» программист
1.       Говорить неправильные фразы – невыгодно!
     ◦    Они свидетельствуют о слабом уровне программиста,
          мешают росту.
1.       Программист, который:
     ◦    Быстро учится на своих ошибках (делает выводы и
          принимает меры)
     ◦    Понимает общий контекст работы над проектом (не
          выпадает из него)
     ◦    Называет конкретные сроки и действия
Это уже как минимум готовый тим-лид!
Прошу задавать Ваши вопросы.

More Related Content

What's hot

Володимир Дем’яненко, «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»Sigma Software
 
How to Calculate Test Automation ROI
How to Calculate Test Automation ROIHow to Calculate Test Automation ROI
How to Calculate Test Automation ROIÞorgeir Ingvarsson
 
Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?Stas Fomin
 
Basics of assertions in automated testing
Basics of assertions in automated testingBasics of assertions in automated testing
Basics of assertions in automated testingÞorgeir Ingvarsson
 
JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1sgdread
 
Антон Золотарев "Работа с жалобами заказчика"
Антон Золотарев "Работа с жалобами заказчика"Антон Золотарев "Работа с жалобами заказчика"
Антон Золотарев "Работа с жалобами заказчика"EPAM Systems
 
Mortal Sins and Guilty Pleasures of Automation Engineers
Mortal Sins and Guilty Pleasures of Automation EngineersMortal Sins and Guilty Pleasures of Automation Engineers
Mortal Sins and Guilty Pleasures of Automation EngineersÞorgeir Ingvarsson
 
Построение процессов тестирования на новом проекте: как выбрать правильный путь
Построение процессов тестирования на новом проекте: как выбрать правильный путьПостроение процессов тестирования на новом проекте: как выбрать правильный путь
Построение процессов тестирования на новом проекте: как выбрать правильный путьSQALab
 
Как мы админа увольняли, или тонкости организации корпоративной безопасности ...
Как мы админа увольняли, или тонкости организации корпоративной безопасности ...Как мы админа увольняли, или тонкости организации корпоративной безопасности ...
Как мы админа увольняли, или тонкости организации корпоративной безопасности ...Ontico
 
SQA Days 10: Фишки просветлённых тест-менеджеров
SQA Days 10: Фишки просветлённых тест-менеджеровSQA Days 10: Фишки просветлённых тест-менеджеров
SQA Days 10: Фишки просветлённых тест-менеджеровNatalya Rukol
 
Pros and Cons of Being an Automation Specialist
Pros and Cons of Being an Automation SpecialistPros and Cons of Being an Automation Specialist
Pros and Cons of Being an Automation SpecialistÞorgeir Ingvarsson
 
«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21
«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21
«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21MoscowJS
 
HappyDev-lite-2016-весна 11 Виктор Белов. Мифы о (в) тестировании
HappyDev-lite-2016-весна 11 Виктор Белов. Мифы о (в) тестированииHappyDev-lite-2016-весна 11 Виктор Белов. Мифы о (в) тестировании
HappyDev-lite-2016-весна 11 Виктор Белов. Мифы о (в) тестированииHappyDev-lite
 
Документация тестировщика - Александр Трибушный
Документация тестировщика - Александр ТрибушныйДокументация тестировщика - Александр Трибушный
Документация тестировщика - Александр ТрибушныйDataArt
 
Автотесты и образ мышления
Автотесты и образ мышленияАвтотесты и образ мышления
Автотесты и образ мышленияAndrei Zubov
 
Git and Github for Beginners
Git and Github for Beginners Git and Github for Beginners
Git and Github for Beginners Mad Devs
 
SQA Days 10: Session-based testing
SQA Days 10: Session-based testingSQA Days 10: Session-based testing
SQA Days 10: Session-based testingNatalya Rukol
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромKirill Kovalchuk
 
Фреймворк для регрессионного тестирования на основе WebDriver
Фреймворк для регрессионного тестирования на основе WebDriverФреймворк для регрессионного тестирования на основе WebDriver
Фреймворк для регрессионного тестирования на основе WebDriverautomated-testing.info
 

What's hot (20)

Володимир Дем’яненко, «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»
 
How to Calculate Test Automation ROI
How to Calculate Test Automation ROIHow to Calculate Test Automation ROI
How to Calculate Test Automation ROI
 
Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?
 
Basics of assertions in automated testing
Basics of assertions in automated testingBasics of assertions in automated testing
Basics of assertions in automated testing
 
JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1
 
Антон Золотарев "Работа с жалобами заказчика"
Антон Золотарев "Работа с жалобами заказчика"Антон Золотарев "Работа с жалобами заказчика"
Антон Золотарев "Работа с жалобами заказчика"
 
Mortal Sins and Guilty Pleasures of Automation Engineers
Mortal Sins and Guilty Pleasures of Automation EngineersMortal Sins and Guilty Pleasures of Automation Engineers
Mortal Sins and Guilty Pleasures of Automation Engineers
 
Построение процессов тестирования на новом проекте: как выбрать правильный путь
Построение процессов тестирования на новом проекте: как выбрать правильный путьПостроение процессов тестирования на новом проекте: как выбрать правильный путь
Построение процессов тестирования на новом проекте: как выбрать правильный путь
 
Как мы админа увольняли, или тонкости организации корпоративной безопасности ...
Как мы админа увольняли, или тонкости организации корпоративной безопасности ...Как мы админа увольняли, или тонкости организации корпоративной безопасности ...
Как мы админа увольняли, или тонкости организации корпоративной безопасности ...
 
SQA Days 10: Фишки просветлённых тест-менеджеров
SQA Days 10: Фишки просветлённых тест-менеджеровSQA Days 10: Фишки просветлённых тест-менеджеров
SQA Days 10: Фишки просветлённых тест-менеджеров
 
Pros and Cons of Being an Automation Specialist
Pros and Cons of Being an Automation SpecialistPros and Cons of Being an Automation Specialist
Pros and Cons of Being an Automation Specialist
 
Tao and Test Automation
Tao and Test AutomationTao and Test Automation
Tao and Test Automation
 
«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21
«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21
«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21
 
HappyDev-lite-2016-весна 11 Виктор Белов. Мифы о (в) тестировании
HappyDev-lite-2016-весна 11 Виктор Белов. Мифы о (в) тестированииHappyDev-lite-2016-весна 11 Виктор Белов. Мифы о (в) тестировании
HappyDev-lite-2016-весна 11 Виктор Белов. Мифы о (в) тестировании
 
Документация тестировщика - Александр Трибушный
Документация тестировщика - Александр ТрибушныйДокументация тестировщика - Александр Трибушный
Документация тестировщика - Александр Трибушный
 
Автотесты и образ мышления
Автотесты и образ мышленияАвтотесты и образ мышления
Автотесты и образ мышления
 
Git and Github for Beginners
Git and Github for Beginners Git and Github for Beginners
Git and Github for Beginners
 
SQA Days 10: Session-based testing
SQA Days 10: Session-based testingSQA Days 10: Session-based testing
SQA Days 10: Session-based testing
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
 
Фреймворк для регрессионного тестирования на основе WebDriver
Фреймворк для регрессионного тестирования на основе WebDriverФреймворк для регрессионного тестирования на основе WebDriver
Фреймворк для регрессионного тестирования на основе WebDriver
 

Similar to Так говорят программисты

Андрей Солоной "Как людям бизнеса работать с программистами"
Андрей Солоной "Как людям бизнеса работать с программистами"Андрей Солоной "Как людям бизнеса работать с программистами"
Андрей Солоной "Как людям бизнеса работать с программистами"Startup_Technologies
 
Проектирование с учетом пользовательских требований
Проектирование с учетом пользовательских требованийПроектирование с учетом пользовательских требований
Проектирование с учетом пользовательских требованийCEE-SEC(R)
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинOntico
 
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсовAndrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсовrit2010
 
Andrey Petrov P D P
Andrey Petrov P D PAndrey Petrov P D P
Andrey Petrov P D Prit2010
 
Роль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиРоль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиDmitry Lobasev
 
Путь Product Owner`s. От факапов до успешного продукта
Путь Product Owner`s. От факапов до успешного продуктаПуть Product Owner`s. От факапов до успешного продукта
Путь Product Owner`s. От факапов до успешного продуктаAndrii Mandrika
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыryba4
 
Эффективные email коммуникации
Эффективные email коммуникацииЭффективные email коммуникации
Эффективные email коммуникацииDenis Tsvettsih
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидахОмские ИТ-субботники
 
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыДмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыITSpringBY
 
тайм менеджмент для разработчика
тайм менеджмент для разработчикатайм менеджмент для разработчика
тайм менеджмент для разработчикаТатьяна Баева
 
презентация для сайта free-student.ru
презентация для сайта free-student.ruпрезентация для сайта free-student.ru
презентация для сайта free-student.ruEvgenii Rumyatsev
 
Как подружить PO c UX командой (Антон Иванов, B2B-Center)
Как подружить PO c UX командой (Антон Иванов, B2B-Center)Как подружить PO c UX командой (Антон Иванов, B2B-Center)
Как подружить PO c UX командой (Антон Иванов, B2B-Center)PCampRussia
 
как правильно описывать_дефекты_по_(практическое-занятие-кгту)
как правильно описывать_дефекты_по_(практическое-занятие-кгту)как правильно описывать_дефекты_по_(практическое-занятие-кгту)
как правильно описывать_дефекты_по_(практическое-занятие-кгту)Club QA Kostroma
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0HighLoad2009
 
Производство счастья промышленными методами, для программистов и их менеджеров
Производство счастья промышленными методами, для программистов и их менеджеровПроизводство счастья промышленными методами, для программистов и их менеджеров
Производство счастья промышленными методами, для программистов и их менеджеровAnna Tarasenko
 
Мастер-класс по ЮТ для Британки
Мастер-класс по ЮТ для БританкиМастер-класс по ЮТ для Британки
Мастер-класс по ЮТ для БританкиKsenia Sternina
 
10 проблем заказчика на старте аутсорсингового проекта
10 проблем заказчика на старте аутсорсингового проекта10 проблем заказчика на старте аутсорсингового проекта
10 проблем заказчика на старте аутсорсингового проектаСергей Бережной
 

Similar to Так говорят программисты (20)

Андрей Солоной "Как людям бизнеса работать с программистами"
Андрей Солоной "Как людям бизнеса работать с программистами"Андрей Солоной "Как людям бизнеса работать с программистами"
Андрей Солоной "Как людям бизнеса работать с программистами"
 
Проектирование с учетом пользовательских требований
Проектирование с учетом пользовательских требованийПроектирование с учетом пользовательских требований
Проектирование с учетом пользовательских требований
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсовAndrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
 
Andrey Petrov P D P
Andrey Petrov P D PAndrey Petrov P D P
Andrey Petrov P D P
 
Роль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиРоль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработки
 
Путь Product Owner`s. От факапов до успешного продукта
Путь Product Owner`s. От факапов до успешного продуктаПуть Product Owner`s. От факапов до успешного продукта
Путь Product Owner`s. От факапов до успешного продукта
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работы
 
Эффективные email коммуникации
Эффективные email коммуникацииЭффективные email коммуникации
Эффективные email коммуникации
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
 
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыДмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
 
тайм менеджмент для разработчика
тайм менеджмент для разработчикатайм менеджмент для разработчика
тайм менеджмент для разработчика
 
презентация для сайта free-student.ru
презентация для сайта free-student.ruпрезентация для сайта free-student.ru
презентация для сайта free-student.ru
 
Как подружить PO c UX командой (Антон Иванов, B2B-Center)
Как подружить PO c UX командой (Антон Иванов, B2B-Center)Как подружить PO c UX командой (Антон Иванов, B2B-Center)
Как подружить PO c UX командой (Антон Иванов, B2B-Center)
 
как правильно описывать_дефекты_по_(практическое-занятие-кгту)
как правильно описывать_дефекты_по_(практическое-занятие-кгту)как правильно описывать_дефекты_по_(практическое-занятие-кгту)
как правильно описывать_дефекты_по_(практическое-занятие-кгту)
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0
 
Производство счастья промышленными методами, для программистов и их менеджеров
Производство счастья промышленными методами, для программистов и их менеджеровПроизводство счастья промышленными методами, для программистов и их менеджеров
Производство счастья промышленными методами, для программистов и их менеджеров
 
Мастер-класс по ЮТ для Британки
Мастер-класс по ЮТ для БританкиМастер-класс по ЮТ для Британки
Мастер-класс по ЮТ для Британки
 
10 проблем заказчика на старте аутсорсингового проекта
10 проблем заказчика на старте аутсорсингового проекта10 проблем заказчика на старте аутсорсингового проекта
10 проблем заказчика на старте аутсорсингового проекта
 

Так говорят программисты

  • 1.
  • 2. 1. Введение и ограничения доклада 2. Часть I. «Жизненная» 3. Часть II. «Философская» 4. Мораль
  • 3. Почему решил сделать этот доклад? Почему доклад получился из двух частей? Не хочу никого обидеть!
  • 4. 1. Фразы программистов из реальной жизни.
  • 5. Когда произносится: Универсальный ответ на любой вопрос связанный с производительностью: «почему программа съела 500 Мб памяти?», «почему так медленно происходит переключение экранов?» и т.п.  Что думает программист: «Как я ловко отмазался!»  Что слышу я: ◦ Программист не понимает технологий с которыми работает ◦ Программист не умеет пользоваться профилировкой ◦ Программист не понимает особенности управления памятью ◦ Программист уходит от ответственности  Как можно было бы ответить: « Скорее всего у нас утечка памяти. Мне нужно X часов, я запущу под профайлером, проверю гипотезы и скорее всего найду ее»
  • 6. Когда произносится: Ответ на полученный баг-репорт  Что думает программист: «Я все правильно делаю»  Что слышу я: ◦ Программист не может воспроизвести проблемную ситуацию ◦ Программист не внимательно читает баг-репорты ◦ Программист не умеет задавать вопросы ◦ Программист не хочет разбираться  Как можно было бы ответить: « У меня работает, но это наверное потому что у меня система отличается<список гипотез> от системы Заказчика (Тестировщика), мне нужно X времени, чтобы проверить какая из них срабатывает у Заказчика (Тестировщика)».
  • 7. Когда произносится: В ответ на вопросы: ◦ «Что у Заказчика происходит на сервере?» ◦ «Как возник это Exception?» ◦ «Как это работает?» ◦ «Сколько времени у меня займет эта задача (это исправить)?» ◦ «Как сделать эту задачу?» и т.п.  Что думает программист: Не знаю  Что слышу я: ◦ Программист не хочет думать ◦ Программист не знает системы, которую создает (как она работает) ◦ Программист забыл сделать логгирование  Как можно было бы ответить: «Я не знаю сейчас в чем проблема, но… Дайте мне X часов, телефон Заказчика, логи сервера, доступ к нему и я решу проблему».
  • 8. Когда произносится: В ответ на просьбу что-то изменить в поведении системы.  Что думает программист: Не хочу ничего делать  Что слышу я: ◦ Программист не хочет ничего делать ◦ Программист не умеет решать проблемы  Как можно было бы ответить: «Пока я не знаю, что с этим делать. Мне нужно X часов, чтобы разобраться и предложить варианты ».
  • 9.  Фраза №5: «Предупреждаю! Здесь у меня (нас) много багов»  Фраза №6: «Я не делал коммит (сборку) N дней»  Фраза №7: «Тут надо все переделать»  Фраза №8: «Это баг не в нашем (моем) коде»  Фраза №9: «Я сейчас по-быстрому …»  Фраза №10: «Я не мог сделать по-другому»
  • 10. Когда произносится: Когда уже было произнесено несколько фраз из приведенного списка, но решать проблему все равно надо  Что думает программист: Все оказалось не так как я думал  Что слышу я: ◦ Программист не подумал раньше ◦ Программист сделал по-быстрому ◦ Программист ошибся, но не считает, что не прав  Как можно было бы ответить: «Я виноват не подумал раньше. Мне нужно X часов на то, чтобы разобраться в создавшейся ситуации и принять решение»
  • 11. 1. Чего руководитель ждет от программиста? 2. Почему не всегда оправдываются ожидания? 3. Как сделать так, чтобы наши ошибки не возвращались снова?
  • 12.  Конкретные сроки (время)  Конкретные действия  Конкретный ожидаемый результат
  • 13. Сотрудник не выполняет задачу если:  Не умеет  Нет времени  Не понимает задачу  Не хочет (С) Стратосфера (А. Орлов)
  • 14.  Не умеет – пусть учится. Можно даже на своих ошибках, то только правильно это делать.  Нет времени – наша проблема. Нужно решать.  Не понимает задачу – если подойти к проблеме чуть тоньше, то скорее всего не понимает контекст, ситуацию.  Не хочет – можно заставлять, но лучше уволить
  • 16. 1. Они работают в команде и их плохая работа влияет на других программистов, тестировщиков 2. Есть заказчик, который ожидает конкретики и который требует ее от Пма 3. Полная стоимость работы включает не только стоимость работы программиста
  • 17. Полная стоимость работы: «плохой» программист «хороший» программист
  • 18. 1. Говорить неправильные фразы – невыгодно! ◦ Они свидетельствуют о слабом уровне программиста, мешают росту. 1. Программист, который: ◦ Быстро учится на своих ошибках (делает выводы и принимает меры) ◦ Понимает общий контекст работы над проектом (не выпадает из него) ◦ Называет конкретные сроки и действия Это уже как минимум готовый тим-лид!