Разработка программного обеспечения для маленьких (ADD-2011, Яков Сироткин)

Материал из CustisWiki
Перейти к: навигация, поиск

Аннотация

Докладчик
Яков Сироткин

Большинство вакансий для программистов открываются в больших компаниях. Миллионы людей приходят с утра на работу и внешне выглядят как разработчики программного обеспечения. Однако, уже несколько десятилетий, большинство софтверных проектов не оправдывают возложенных на них ожиданий, а многие даже не доживают до практического использования.

Часто утверждается, что причиной является большая сложность процесса разработки программного обеспечение и дефицит квалифицированных специалистов. Однако, было экспериментально установлено (часто на собственной шкуре), что, как правило, программисты востребованы только если они довольны существующими весьма жёсткими ограничениями по зарплате, а большинство критичных для бизнеса проблем вызвано до боли банальными причинами.

В докладе объясняется сложившаяся картина мира и даются практические советы по поддержанию душевного равновесия.

Видео

Скачать
http://ftp.linux.kiev.ua/pub/conference/peers/addconf/2011/1a4-software-development-for-young-sirotkin.avs.avi



Для этого доклада нужен подкаст (аудиозапись)?

  •  Да, многое понятно и без видео части, есть смысл его прослушать.
  •  Нет, аудиозапись бесполезна (не понять без видео или вообще мало смысла в докладе).

Презентация

Примечания и отзывы


Очень смешно про ненормальную разработку и чем она отличается от нормальной. Или наоборот. ©
Яшу грех не похвалить. В его исполнении самые махровые банальности звучат волнующе, прямо хочется подпевать. ©

Очень живой докладчик, интересно слушать. В общем, автор зажег неплохо. Мне близки темы, которые затронул Яков: разработка через рефакторинг, результат важнее процесса (процесс лишь средство достижения результата), необходимость постановки четкой цели, основные ценности кода – понятность, востребованность и изменяемость. Про первое и последнее, к сожалению, часто забывают. Согласен насчет нужности искать сложные интервью, насчет увольнения как обратной связи, насчет ВАЖНОСТИ поднимать свой уровень, чтобы быть конкурентоспособным, набирать “джедаев, а не подаванов”. Все это необходимо для разработки качественного программного обеспечения. Важно, что Яков делится СВОИМ ОПЫТОМ, поэтому доклад имеет смысл послушать и новичкам – чтобы перенять опыт и знания, и профессионалам – чтобы сравнить со своим опытом.

©
Что тут сказать - класс и уровень докладчика виден сразу, основатель российского JUG-a все ж таки. Доклад шел бодро и четко, внимание зало было все на Якове. Ну а фраза ближе к концу "АВТОБУС ! НЕ ! ПРИДЕТ !" была отретвитчена много раз и гуляла из уст в уста еще долго.

В общем, доклад скорее из серии отвлеченно-философских, при этом живой, интересный и полезным. Основная идея доклада - то, что в программировании важен не процесс как таковой (Agile ли у вас, или что угодно другое), а получение реального результата, быстро, и укладываясь в бюджет - для меня в общем-то была очевидной, но тем не менее, очень важной. Неожиданно понял, что я видел немало людей, сфокусированных на разнообразных процессах. Процессе багтрекинга, подготовки отчетов о проделанной работе, процессе Continuous Integration, процессе code review, семействе процессов Agile, и все такое - вместо того, чтобы быть сфокусированными на поставке работающего софта. Собственно, я и сам бывают, увлекаюсь процессами (т.к. верю, что правильный процесс в малых дозах способствуют достижению результата) - так что я решил для себя, что отныне буду осторожнее с процессами.

А затем был обед, где я оказался за одним столом с, никогда не угадаете, кем - все тем же Яшей Сироткиным, и еще несколькими ребятами, и мы отлично пообсуждали проблемы тех людей, кто хочет что-то реально изменить в большой компании, ориентированной на процесс, а не на результат. Сошлись на том, что если компания изначально ориентирована на процесс, то изменить ее уже не получится. Результатно-ориентированные люди там будут не к месту.

©

Яков Сироткин — известен, и я его доклады слышал. Этот доклад был про рефакторинг и вообще про разработку. Про ценности качественного кода — понятность, востребованность, изменяемость. А рефакторинг — он дает обратную связь по вашему коду, и это главное. Про разные варианты организации разработки. Как оно говорит о себе, я — специалист по получению результата, а не по организации процесса. Процесс — не самоценен, он — для этого результата. Тем не менее, организация процесса — многомиллиардный бизнес, потому что программистские проекты — часто проваливаются, и тогда вызывают специалистов, пытаясь наладить процесс.

А реально — надо просто концентрироваться на результате, на поставке. Пусть малыми порциями, но часто. Тогда пользователи будут видеть прогресс, а переход на новую версию не будет вызывать стресс. Не надо бояться, что при частом выпуске пользователю будет версия с багами — в багах нет ничего страшного, если их быстро исправлять. Но исправлять — надо. И все это не означает что можно всю проверку скидывать на пользователей.

Процессы в разных фирмах приняты разные, иногда это жесткий менеджмент или просто неразумная организация. Или просто бизнес-модель McDonalds. А программисты — они тоже хотят комфортных условий для творческой работы. Если обстановка не комфортна, но меняется в нужную тебе сторону, то можно этому поспособствовать. Иначе правильно — уходить. Во всяком случае не ждать, пока само измениться — не измениться, а революции снизу не устроить, особенно если организация заложена в бизнес-модель. Это было отчасти в ответах на вопросы.

Послушав некоторое время я ушел на другие доклады — поскольку примерно понял, о чем доклад и эти вещи мне известны. А потом вернулся, посмотрев других… Потому что приятно слушать со-культурного человека. Вообще этот слот — пример хорошего планирования. Якова поставили одновременно с Гедзбергом из Luxoft и каждый мог выбрать доклад по своей культуре, а технари — уйти на html5.

Целостного впечатления не осталось. Что-то о том, в чем должна заключаться разработка ПО. Тезисно:

  • Результат важнее процесса
  • Нужно корректировать требования
  • Обязательно выпускать продукт (+автоматизация выпуска)
  • Не бояться ошибок в production
  • Увеличение зарплаты приближает сотрудника к увольнению
  • Исправление багов — главная ценность
  • Не заниматься проектами > $100K
  • Талантливые программисты есть везде
  • Увольнение хороших сотрудников — обратная связь (что-то не так)



Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».

Репликация: База Знаний «Заказных Информ Систем» → «Разработка программного обеспечения для маленьких (ADD-2011, Яков Сироткин)»