Как стать автором
Обновить

Комментарии 31

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


В сложных проектах, всегда есть простор, чтобы улучшить решение. Не пробовали из разработчиков переместиться в саппорт?

Автор вроде как не сомневается в пользе от менеджеров. Он сомневается в пользе менеджеров, которые совсем "не в теме" того, чем именно они "управляют" — эдаких манагеров. Это те, кто считает, что нанять в помощь одному программисту 4-рёх студентов означает — получить автоматическое ускорение разработки в 4 раза.

Автор давно «переместился» во владельцы бизнеса.
Автор давно занимается графоманией и набросом на вентилятор. Благо тут аудитория благодатная.
НЛО прилетело и опубликовало эту надпись здесь
Оффтоп
Как мне кажется что самый эффективный способ (если вам действительно хочется развиваться как программисту), попробуйте устроиться на работу туда, где работают хорошие программисты. Они вас вытянут на свой уровень (с условием что это тебе надо и ты не в конец тупинамбур).
Как понять что там работают хорошие программисты? Интересуюсь вполне серьезно.

Испытательный срок и метод проб и ошибок.

Хорошие программисты обычно не скрывают, где они работают, можно reverse engineering компаний сделать :)

НЛО прилетело и опубликовало эту надпись здесь

У меня, наверно, другое понимание слова "галера". Потому что код ревью в бодишопах тоже бывает почти всегда. В снг-шных, по крайней мере. Проекты там в большинстве тоска и болото, это да, но это другая история.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Только в одном проекте у меня принимали код без ревью, и то только потому, что коллега работал 80% времени над другим проектом, то есть, я, фактически, там один был.
Я у вас посмотрел интересы в профиле, может, это какая-то специфика 1С?

В 1с до последнего времени современные подходы к разработке ПО практически не применялись. Сейчас при желании есть возможность их таки применять. Но вот убедить этих самых менеджеров в необходимости применения задача непростая...

Менеджеры бывают виноваты, но далеко не всегда. В моей практике, ошибки, которые можно связать с внешними факторами делятся на 4 категории:
1) Задача поменялась в процессе реализации (и хорошо, если уменьшилась).
2) Сжатые сроки и/или переработки.
3) Большой объем задачи.
4) Реализовались технические риски.
Большинство этих проблем решаются не кодом, а общением ртом с менеджерами. Первые три решаются переходом на SCRUM, а последняя только с опытом — учишься избегать граблей.
Если долго пилишь один продукт, все твои косяки к тебе же вернутся через сапорт. Фиксить свои же баги — хочешь не хочешь, придется расти.

Хорошему программисту код не только не важен, а и не нужен, для того, чтобы вас работало.

Невероятная жизнь Уолтера Митти.
Гениально снятое кино с невероятно чудовищным посылом: фотолаборант теряет важную фотку в кризисный для компании период, когда новый, только что назначенный ради решения одной конкретной задачи менеджер эту фотку при каждом удобном случае требует. Менеджер, ясное дело, эффективный, и вообще по фильму представлен редкостным говном, он всего-то требует найти то за что отвечает лаборант. Далее фотолаборант весь фильм героически сражается с собой, обстоятельствами, вулканами, акулами и горами по всей планете, а фотку в итоге находит дома.
Менеджеров в принципе принято не любить, а эффективных (без кавычек), тех кто жестко решает поставленную бизнес-задачу, и вовсе ненавидят. Менеджер в фильме безусловно редкостная гнида, но не потому что успешно решает поставленную задачу, паралельно отрабатывая запасные варианты с утерянной фоткой, а потому что в процессе издевается над главгероем, да и в целом получает удовольствие от решения поставленной задачи. А главгерой страдает. Зритель ненавидит того кто получает удовольствие и любит того кто страдает.
Но фотку профакапил кто?
Картинка, звук, игра актеров, все великолепно в этом кино. Но посыл жуткий.


Иван, в статье написаны правильные слова, но они неправильно расставлены. Менеджер решает свои задачи, разработчик свои. У менеджера свой горизонт событий, у разработчика свой. Эти роли в принципе думают разными абстракциями. Я когда-то, лет пятнадцать назад, был думается мне неплохим разработчиком, а потом стал менеджером. С тех пор я не пишу код. Иногда я открываю исходники и что-то по старой памяти смотрю, вижу знакомые "слова" но чтобы понять их "смысл" (правильность, сложность кода и т.п.) мне не хватает тех самых пятнадцати лет потраченных на совершенствование навыков менеджера. Это как разработчику (не связанному по работе с с ФХД) открыть БДР и БДДС, рядом в окне воронку продаж и попросить указать зависимости, лол-што?
Я не защищаю менеджеров, там полно случайных людей, но вот так грубо передергивать на тему что причина плохого кода это менеджер — неправильно.


… любимая сцена в фильме, когда Митти бежит к вертолету.
… или когда едет на лонгборде?

Истина в вине.
Только в свободном творчестве ты поймешь и прочувствуешь, что такое классный код, увидишь красоту ЯП и технологий, ощутишь прелесть бизнес-задач.

Ох уж эти творцы. По моему опыту, если программисту дать полную свободу, то натворит он неописуемое. В 90% случаев получается оверинжиниринг на самом модном фреймворке, на котором пишут 10 человек в мире. Наверное, в этом есть своя красота, но потом такой творец-перфекционист увольняется и тем, кому придется это поддерживать остается только посочувствовать. На всякий случай, я не менеджер.
по моему опыту, самый «красивый» код получается во время «Problem-oriented development». Посидел, подумал, возможно с менеджером поговорил, понял причину/хотелку, пошел написал скриптик/костыль/feature на коленке, на этом все. Т.е. код это средство решения проблемы, и написан необходимо и достаточно красиво для того, чтобы следующий решатель проблем не испытал с ним затруднений. И это может быть даже не код, а 3rd party сервис/утилита, или, например, входящее в моду декларативное решение.
Хорошо получается, когда есть понятная проблема и есть срок для ее решения. Важно, чтобы срок был вменяемым, т.е. чтобы было время на адекватное решение, а не на костыль, но в то же время было понятно, что нельзя точить напильником до бесконечности.
давайте определимся, что значит костыль: в моем понимании он по всем бизнес требованиям проблему решает: тикет можно закрыть, клиенту отписать и т.д., но чаще всего плохо вписывается в архитектуру, так как раз он понадобился, то значит архитектура такое поведение не предусматривала. А дальше возникает вопрос — стоит ли вообще архитектуру менять именно сейчас? Я на этот вопрос почти всегда отвечаю нет. Когда приедет проблема с самой архитектурой, то попытаться ее так исправить, чтобы костыль оказался больше не нужен.
Вы правильно понимаете определение костыля. Для бизнеса это вполне себе решение. Проблема с костылями в том, что каждый следующий костыль влезает все труднее и стоит дороже. И в какой-то момент новый костыль уже будет вставить настолько дорого, что проще все разломать. Но тут надо будет объяснить бизнесу, почему недавно вы делали примерно это же в 10 раз быстрее и дешевле.
если сразу исправлять архитектуру, то 1. бизнесу опять таки придется обьяснять, зачем вам вдруг понадобилось менять то, что и так работает 2. это задача совсем другого плана и сложности (проверить не разорвутся ли контракты, уведомить всех пользователей/админов об изменениях, и т.д.).
У меня обычно все средства для этого есть. Я могу спросить про задачу у всех, у кого надо. И сроки тоже я сам оцениваю.
У вас по другому?
По разному бывает.
И сроки тоже я сам оцениваю.

То, что вы разрабатываете находится в production?

При том, что я двумя руками за качественный код, команда, которая три года писала идеальный код, который никогда не увидит продакшен (потому что писать надо было не это) — потеряла три года в пустую.


У меня был момент в карьере, когда я писал "в стол". Это ужасно. Это демотивирует, это разрушает. Хороший менеджмент решает.

Хороший менеджмент решает.

Релиз MVP через месяц тоже помогает ограничить время написания в стол — месяцем. ( Не всегда применимо, конечно, но в подавляющем большинстве случаев).

У нас в компании разрабатывается продукт под много разных ОС. И мобильные и десктопные, и расширения для браузеров и вот скоро решение в железе будет. Кроме этого, есть проекты с открытым кодом на гитхабе. Помимо расширений к браузерам.

Так вот, в каждой мини-команде, которая разрабатывает под определённую ОС, есть несколько разработчиков. У нас используется git, и куплен BitBucket. Все мерджи в master-ветку происходят только после Code Review, прохождения всех тестов и удачной сборки проекта на агенте битбакета. Если изменились или появились строки в интерфейсе, автоматом в Review добавляется главный переводчик. При наличии определённых тэгов в описании ревью, агент собирает проект и постит ссылку на него в Slack, чтобы тестировщики могли прогнать собранный билд из ветки на предмет фикса бага и т.п.
Например, нас в команде Андроида три разработчика. Один создаёт ревью, два других проверяют.
Хотя, конечно, такой подход к разработке не решает всех проблем, и иногда в мастер попадают разные несуразности, всё-таки все мы люди, и не получается весь код перекомпилить в голове, особенно когда в ревью показываются только изменённые части файлов. Но очень большая часть косяков, какая-нибудь лапша и т.п. не попадают в мастер.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории