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

Содержание

Слайд 2

План

Основной капитал Software компании
Откуда берутся программисты?
Как найти готового специалиста?
Как найти студента?
Как сделать

План Основной капитал Software компании Откуда берутся программисты? Как найти готового специалиста?
что-то с уже существующими людьми?
Уровни мастерства
Источники плохого кода
Три шага становления программиста
Практические советы
Чему учить?
Основные ценности
Инспекция кода

Слайд 3

Основной капитал Software компании

Что является основным продуктом Software компании?

Основной капитал Software компании Что является основным продуктом Software компании?

Слайд 4

Основной капитал Software компании

Программный продукт!
Производство
Интеграция
Поддержка
Маркетинг и продажи

Основной капитал Software компании Программный продукт! Производство Интеграция Поддержка Маркетинг и продажи

Слайд 5

Основной капитал Software компании

Какие ресурсы идут на производство продукта?

Основной капитал Software компании Какие ресурсы идут на производство продукта?

Слайд 6

Основной капитал Software компании

Единственное, что требуется для производства ПО -
Человеческая мысль!

Основной капитал Software компании Единственное, что требуется для производства ПО - Человеческая мысль!

Слайд 7

Основной капитал Software компании

Основной капитал Software компании-
люди, которые в ней работают
А конкретно

Основной капитал Software компании Основной капитал Software компании- люди, которые в ней
– программисты, которые пишут ПО

Слайд 8

Откуда берутся программисты?

Как найти готового специалиста?
Как найти студента?
Как сделать что-то с уже

Откуда берутся программисты? Как найти готового специалиста? Как найти студента? Как сделать
существующими людьми?

Слайд 9

Откуда берутся программисты?

Как найти готового специалиста?

Откуда берутся программисты? Как найти готового специалиста?

Слайд 10

Откуда берутся программисты? Как найти готового специалиста?

Переманить деньгами
Переманить интересной работой
Переманить карьерным ростом
Переманить условиями

Откуда берутся программисты? Как найти готового специалиста? Переманить деньгами Переманить интересной работой
труда
Получить готового специалиста в связи с его переездом

Слайд 11

Откуда берутся программисты?

Как найти студента?

Откуда берутся программисты? Как найти студента?

Слайд 12

Откуда берутся программисты? Как найти студента?

Создать высокий имидж компании
Договориться с кафедрами
Прочитать курс лекций
Организовать

Откуда берутся программисты? Как найти студента? Создать высокий имидж компании Договориться с
СКБ или НИРС

Слайд 13

Откуда берутся программисты?

Как сделать что-то с уже существующими людьми?

Откуда берутся программисты? Как сделать что-то с уже существующими людьми?

Слайд 14

Откуда берутся программисты? Как сделать что-то с уже существующими людьми?
Учить
Направлять
Воодушевлять
Контролировать!

Откуда берутся программисты? Как сделать что-то с уже существующими людьми? Учить Направлять Воодушевлять Контролировать!

Слайд 15

Откуда берутся программисты? Кейс

Вы приходите в новую группу
Есть разработчик:
Большой опыт и знания
Не удовлетворяет

Откуда берутся программисты? Кейс Вы приходите в новую группу Есть разработчик: Большой
начальство, т.к. не может в срок выполнить задачу
«Слил» важный проект
Решение начальства: «надо увольнять»
Ваши действия?

Слайд 16

Уровни мастерства

Источники плохого кода
Три шага становления программиста
Кривая обучения

Уровни мастерства Источники плохого кода Три шага становления программиста Кривая обучения

Слайд 17

Источники плохого кода

Никто и никогда сознательно не пишет плохо
Основной источник – отсутствие

Источники плохого кода Никто и никогда сознательно не пишет плохо Основной источник
«воспитания»
Второй источник – отсутствие контроля
Третий источник – отсутствие времени

Слайд 18

Три шага становления программиста

Тупим

Колбасим

Умничаем

Программируем

Эффективное развитие

Бесконтрольное развитие

Надо что-то делать!

Не бывает!

Исправление ситуации

Производительность упала!

Три шага становления программиста Тупим Колбасим Умничаем Программируем Эффективное развитие Бесконтрольное развитие

Слайд 19

Шаг 1. Ненависть

Научите программиста ненавидеть:
Некачественный код
«Сделать как побыстрее»
Костыли и заплатки
«Сейчас начнём, а

Шаг 1. Ненависть Научите программиста ненавидеть: Некачественный код «Сделать как побыстрее» Костыли
потом увидим – что получится»

Слайд 20

Шаг 2. Страсть

Программист начинает:
Любить «умничать»
Писать «красивые решения»
Наворачивать паттерны и методологии
Отшлифовывать код до

Шаг 2. Страсть Программист начинает: Любить «умничать» Писать «красивые решения» Наворачивать паттерны
блеска
Гордиться своей профессиональной компетентностью

Слайд 21

Шаг 3. Здравомыслие

Программист осознаёт:
Думаем прежде, чем пишем
Нет универсальных решений
Чем проще, тем легче

Шаг 3. Здравомыслие Программист осознаёт: Думаем прежде, чем пишем Нет универсальных решений
работать
Эффективность прежде всего

Слайд 22

Кривая обучения

Первое время любой программист тратит время команды
С определённого момента он начинает

Кривая обучения Первое время любой программист тратит время команды С определённого момента
работать сам, но работает неэффективно
Для того, чтобы программист вышел на свою полную мощность требуется много времени
Опять инвестиции!

Производительность

Недели

Убытки

Неэффективная работа

Затраты на обучение

Слайд 23

Практические советы

Чему учить?
Основные ценности
Инспекция кода

Практические советы Чему учить? Основные ценности Инспекция кода

Слайд 24

Чему учить?

Подумай каждый раз перед тем, как писать
Код вероятно придётся модифицировать: чем

Чему учить? Подумай каждый раз перед тем, как писать Код вероятно придётся
«грязнее» код, тем больше проблем у тебя будет потом
Аккуратное приложение без ошибок выглядит круто. И все любят его автора.
Трус не играет в хоккей, а профессионал не «колбасит»

Слайд 25

Чему учить?

Общие соглашения написания кода (унификация)
Низкоуровневая архитектура (паттерны)
Использование сторонних компонентов и готовых

Чему учить? Общие соглашения написания кода (унификация) Низкоуровневая архитектура (паттерны) Использование сторонних компонентов и готовых решений
решений

Слайд 26

Основные ценности

Код должен быть
Продуман
Аккуратен
Эффективен
Быстро, просто и аккуратно решать поставленную задачу

Основные ценности Код должен быть Продуман Аккуратен Эффективен Быстро, просто и аккуратно решать поставленную задачу

Слайд 27

Инспекция кода

Проводится еженедельно для кода, написанного за неделю
Проводится опытными программистами по очереди
Время

Инспекция кода Проводится еженедельно для кода, написанного за неделю Проводится опытными программистами
на подготовку – 4 часа
Время на проведение – 1 час

Слайд 28

Инспекция кода. Проведение

Проводится в виде обсуждения
Ведущий готовит список недочётов (по его мнению)
Имена

Инспекция кода. Проведение Проводится в виде обсуждения Ведущий готовит список недочётов (по
авторов «плохого кода» не указываются
Команда обсуждает каждый из недочётов
Обязательно подводятся итоги
Принимается решение о исправлении либо рефакторинге части недочётов

Слайд 29

Инспекция кода. Junior

Для junior
Нахождение «плохого кода», пока он не врос в систему
контроль

Инспекция кода. Junior Для junior Нахождение «плохого кода», пока он не врос
профессионального развития программиста
Обучение: обсуждение и применение подходящей архитектуры

Слайд 30

Инспекция кода. Senior

Для senior
«Свежий взгляд» на код
Обдумывание более быстрых и эффективных решений
Иногда

Инспекция кода. Senior Для senior «Свежий взгляд» на код Обдумывание более быстрых
и профессионалы «колбасят» ☹

Слайд 31

Инспекция кода. Команда

Для команды в целом
Возможность обсудить качество кода и архитектурных решений
Стимул

Инспекция кода. Команда Для команды в целом Возможность обсудить качество кода и
писать аккуратно, чтобы потом не краснеть на review
Постоянное поддержание необходимости «писать хорошо»

Слайд 32

Инспекция кода. Проблемы

Поиск серьёзных архитектурных недочётов малоэффективен
Очень сложно избежать перехода на личности
Вечный

Инспекция кода. Проблемы Поиск серьёзных архитектурных недочётов малоэффективен Очень сложно избежать перехода
недостаток времени
Имя файла: Как-воспитать-программиста.pptx
Количество просмотров: 160
Количество скачиваний: 0