LINUX.ORG.RU

Как умирают софтверные компании


0

0

довольно интересная статья 1995 года http://vadda.livejournal.com/61339.html

"Среда, в которой талантливые программисты цветут и пахнут, убивает всяческого рода управленцев и маркетологов - и наоборот. Программирование - это Большая Игра. Она захватывает тебя, твое тело и душу. Как только ты увлекаешься ею - для тебя больше не существует ничего. Когда ты выползаешь на свет божий, ты можешь с удивлением обнаружить, что у тебя полценнтнера лишнего веса, что твое нижнее белье старше, чем среднестатистический первоклашка и что, судя по стопке коробок от пиццы, наступила весна. Но тебе все равно, потому что твоя программа работает и код ее и чист и светел и прекрасен. Ты победил. Тебе известно, что кое-кто считает тебя ботаном. Ну и что? Они-то не Игроки. Они никогда не фехтовали с Windows и не сходились в рукопашной с ДОС. Для них С++ - неплохая школьная оценка, почти В - а вовсе не язык программирования. Они практически не существуют. Подобно солдату или художнику, тебя не заботит мнение обывателей. Ты строишь изысканную и сложную вещь. Им не понять.

Пчеловодство

Секрет любой успешной софтверной компании - вы можете приручить программистов в той же степени, в которой пчеловод может приручить своих пчел. Вы не можете с ними общаться в полном смысле этого слова, но вы можете заставить их роиться в определенном месте и, когда они не смотрят, забирать их мед. Вы платите им деньги, чтобы они вас не жалили. Больше денег, чем они могут потратить. Но и это не так уж много. Все дело в том, что в головах у этих программистов постоянно звучат голоса их родителей, вопрошающие : "Когда ж ты наконец за ум возьмешься?". Вам просто надо платить им столько, чтобы они могли (тоже мысленно) ответить : "Блин, папа, да я зарабатываю больше тебя!". Это, в общем, не такие уж и большие деньги.

Они останутся в улье, если вокруг них будут роиться другие кодеры. Единственный человек, чья похвала чего-нибудь стоит - это другой кодер. Менее талантливые программисты будут на них молиться, равные будут состязаться и подстрекать друг друга к новым свершениям. Если же вы хотите, чтоы ваш рой был по-настоящему хорош, в нем обязательно должен присутствовать хотя бы один гениальный кодер, на которого остальные будут взирать снизу вверх - даже если он смотрит на код других программистов только для того, чтобы над ним поглумиться. "Он Игрок", думает начинающий программист. "Он посмотрел на мой код. Жизнь удалась". Кодеры забудут что такое сон, секс, здоровье и чистое нижнее белье, если софтверная компания сможет предоставить им такой улей - а компания сможет оставить себе львиную долю прибылей.

Без руля и ветрил

Существует одна проблема, которая убивает софтверные компании одну за одной. Во главе всех успешных софтверных фирм стоял один авторитетный лидер, заботившийся о программистах. Однако ни один лидер не вечен. Он либо продает свою долю в компании, либо приводит в компанию новых менеджеров, которые в конце концов выживают его из фирмы, либо сам становитя таким менеджером. Так или иначе "эффективные менеджеры" берут управление на себя. Но ... управление чем? Менеджеры быстро обнаруживают, что вместо трудолюбивых раборников у стройных конвейерных линий над их продуктом работает сборище непредсказуемых, неотзывчивых, недисциплинированных и, хуже всего, непривлекательных людей, которые противятся любым попыткам установить над ними контроль. Начните фиксировать часы их работы, оденьте их в костюмы и они помрачнеют и начнут саботировать разработку продукта. Хуже всего - вы будете чувствовать, что они за над вами постоянно насмехаются.

Выкуренные

Однако для кодера потрясение является намного более серьезным. Он вдруг осознает, что его жизнь находится под контролем чуждых жизнеформ. Совещания, Расписания, Отчеты. А потом кто-то начинает требовать, чтобы он ПЛАНИРОВАЛ свою работу, а затем придерживался плана, ничего не улучшая и и не подправляя - и никогда, никогда не влезая в код другой группы. Молокосос, начинаюшиий программистишка вдруг становится его начальником-тираном только потому, что он партнер по гольфу какого-то сфинктера в костюме. Улей разрушен. Лучшие кодеры уходят. А маркетологи, довольные тем, что их теперь окружают люди в галстуки и всё находится под контролем, с удивлением обнаруживают, что каждый релиз их продукта занимает все меньшую нишу на рынке, что код распухает, а количество багов растет. Наверное надо улучшить дизайн упаковки. Ага, точно."

кстати автор статьи не менее интересен: http://en.wikipedia.org/wiki/Orson_Scott_Card


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

вспомнилась фраза из code guidelines:

never multiply by sizeof(char): some people may laugh at it and choke with a cookie..

dilmah ★★★★★
()
Ответ на: комментарий от friday

> P.S.: тока в Talks перенесите:-)

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

asgard
() автор топика
Ответ на: комментарий от anonymous

> Однако, я видел платформы, где sizeof(char)=2...

O_o

а sizeof чего там был == 1?

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

> днако, я видел платформы, где sizeof(char)=2...

таки сие не по стандарту. с99:

plain char may be represented as either signed or unsigned depending upon the implementation, as in prior practice. The type signed char was introduced in C89 to make available a one-byte signed integer type on those systems which implement plain char as unsigned char.

asgard
() автор топика
Ответ на: комментарий от anonymous

В военное время π может достигать четырёх! :-)

Sphinx ★★☆☆
()
Ответ на: комментарий от anonymous

>>нету, нету таких платформ

>Есть. Embedded.

Таки нету. Те, на которых char - это 2 (или даже 4) байта - есть. а вот c sizeof(char) == 2 - нету. Ну или приведи название.

tailgunner ★★★★★
()

БРЕД...
просто 'программистам' из ПТУ не объяснили,
что это всё - командный вид спорта..отсюда и все обиды

MKuznetsov ★★★★★
()
Ответ на: комментарий от asgard

>какой язык программирования лучше.

lisp, вестимо

anonymous
()
Ответ на: комментарий от MKuznetsov

>это всё - командный вид спорта..отсюда и все обиды

Оппа. А вот и менегеры подтянулись

anonymous
()
Ответ на: комментарий от MKuznetsov

> просто 'программистам' из ПТУ не объяснили, что это всё - командный вид спорта..отсюда и все обиды

а батенька не хочет перечитать статью, чотбы понять, что речи об "обидах" там и в помине нет.

> БРЕД...

меня поразила вескасть вашей исчерпывающей аргументации. вы открыли мне глаза.

asgard
() автор топика
Ответ на: комментарий от anonymous

> Все правда. :)

+1. Если вспомню, в понедельник поцеплю еще одну статейку на тему "Жизненный цикл компании".

eugine_kosenko ★★★
()
Ответ на: комментарий от friday

> P.S.: тока в Talks перенесите:-)

Угумс. А в толксах спрашивают, где найти нормальную книжку по C.

Куда катится этот мир? :-(

eugine_kosenko ★★★
()
Ответ на: комментарий от MKuznetsov

> Обида явно прослеживается у автора треда, иначе этого треда просто бы не появилось :)

хм, следуя вашей логике, если я прочитал некую интересную статью, то лишь обида должна двигать мной, чтобы выставить её для обсуждения?

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

asgard
() автор топика
Ответ на: комментарий от MKuznetsov

> просто 'программистам' из ПТУ

Ну вот не надо проецировать свои комплексы на других :)

> это всё - командный вид спорта

Вообще-то описывается именно работа и распад команды

tailgunner ★★★★★
()
Ответ на: комментарий от asgard

> статья интересна грамотным стратегическим подходом к созданию "улия" для девелоперов

К слову, Джоэль об этом пишет не меньше:

http://local.joelonsoftware.com/mediawiki/index.php/%22%D0%AF_%D0%BD%D0%B0%D1... http://local.joelonsoftware.com/mediawiki/index.php/%D0%A2%D1%80%D0%B8_%D0%BC... http://local.joelonsoftware.com/mediawiki/index.php/%D0%9A%D0%BE%D0%BC%D0%B0%... http://local.joelonsoftware.com/mediawiki/index.php/%D0%9C%D0%B5%D1%82%D0%BE%... http://local.joelonsoftware.com/mediawiki/index.php/%D0%9C%D0%B5%D1%82%D0%BE%...

И конкретно, "пчеловодам на заметку":

http://local.joelonsoftware.com/mediawiki/index.php/%D0%91%D0%B8%D0%BE%D0%BD%...

;-)

eugine_kosenko ★★★
()

Хм , а я его книги когда-то читал , про Эндера .

kitov ★★★
()
Ответ на: комментарий от asgard

2asgard

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

по поводу "улия для девелопера" (как-раз то к чему непосредственно относится слово БРЕД)..просто считаю программирование (вообще computer science) сугубо прикладной вещью, то если есть конкретная прикладная тема, то это нормально, вокруг этого создаются и работают профессиональные коллективы;

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

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

> хм, вообщем-то выдвигая статью на обсуждение, стоило добавить к треду своё мнение, а не просто перевод-длинное_цитирование.

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

> по поводу "улия для девелопера" (как-раз то к чему непосредственно относится слово БРЕД)..просто считаю программирование (вообще computer science) сугубо прикладной вещью, то если есть конкретная прикладная тема, то это нормально, вокруг этого создаются и работают профессиональные коллективы;

хм, а не считаете ли вы, что для computer science вовсе не computer и вовсе не science? =) поясню: http://youtube.com/watch?v=zQLUPjefuWA (sicp/what is computer science [video; 9 minutes])

"Science is what we understand well enough to explain to a computer. Art is everything else we do." (c) don knuth (http://www.brainyquote.com/quotes/authors/d/donald_knuth.html)

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

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

давайте примем 'feature request' за заказ, бо у них много общего. и допустим, что некоторый feature request A был отправлен 2м командам - команде open-source девелоперов и команде проприетарных девелоперов. также допустим, что абстракные программисты в 2х коммандах имеют одинаковый уровень. как вы думаете, где кач-во конечного кода будет лучше?

asgard
() автор топика
Ответ на: комментарий от asgard

> давайте примем 'feature request' за заказ, бо у них много общего. и допустим, что некоторый feature request A был отправлен 2м командам - команде open-source девелоперов и команде проприетарных девелоперов

Давайте. firefox - open source, Opera - proprietary, feature - хоткеи в русской раскладке. Ага?

Legioner ★★★★★
()
Ответ на: комментарий от asgard

> давайте примем 'feature request' за заказ, бо у них много общего. и допустим, что некоторый feature request A был отправлен 2м командам - команде open-source девелоперов и команде проприетарных девелоперов. также допустим, что абстракные программисты в 2х коммандах имеют одинаковый уровень. как вы думаете, где кач-во конечного кода будет лучше?

есть некоторая коренная разница, но давайте предполжим, что есть продукт a-la Qt с двумя командами (сообшествами).. так вот качество кода (да и проектирования) как таковое будет лучше у проприетарных девелоперах, чья работа полностью ореиентированна на Qt. Идей на будущее будет больше у open-source комунити, просто их больше и ширина взглядов и интересов у них больше.

Но ведь мы говорим о професиональной работе и професиональных командах? Или всё-же о группах общающихся дай бог по аське ? :)

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

> есть некоторая коренная разница, но давайте предполжим, что есть продукт a-la Qt с двумя командами (сообшествами).. так вот качество кода (да и проектирования) как таковое будет лучше у проприетарных девелоперах, чья работа полностью ореиентированна на Qt. Идей на будущее будет больше у open-source комунити, просто их больше и ширина взглядов и интересов у них больше.

пожалуй я немного не верно выразился. суть в том, что команда, пишущая код для конечного продукта без энтузиазма даст гораздо худший код, чем команда, пишущая код с энтузиазмом. тут даже дело не open/closed-source, а в подходе. я не сомневаюсь, что ребята из opera или trolltech любят своё дело, и поэтому выдают очень неплохие результаты. а индусы из команды девелоперов, например ie7(http://www.trovster.com/images/weblog/ie-counting.jpg), не любят своё дело. они пишут этот пордукт только потому, что у них нет выбора. либо сидеть в тепле и достатке, либо возвращаться в индийские трущёбы.

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

asgard
() автор топика
Ответ на: комментарий от kto_tama

> гуманитарий , поэт и философ - откуда он знает программерскую кухню ?

психология, архитипы, etc?

или у него просто был друг-девелопер =)

asgard
() автор топика
Ответ на: комментарий от asgard

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

ps. Кстати, <cite>Совещания, Расписания, Отчеты. А потом кто-то начинает требовать, чтобы он ПЛАНИРОВАЛ свою работу<continues/></cite> которое представленно в топике как закат команды, на самом деле является началом професиональной работы

pps. вечер пятницы и не совсем понятно чем вам не угодили индусы с картинки http://www.trovster.com/images/weblog/ie-counting.jpg ?

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

> ну да, есть разница в терминологии, но опять-же "команда, пишущая код" и коллектив делающий продукт, это опять два разных понятия. Первое - это российский оффшор и индусские программисты, второе это действительно серьёзные компании (не только коммерческие). И "энтузиазм" у них по разному :)

приведу другой пример. есть некоторая абстрактная контора, в которой работает некоторый абстрактный программист. контора выпускает конечный продукт, который пишет команда программистов. программист просто зарабатывает свои деньги, он не будет перерабатывать, не будет с особым фанатизмом искать баги, etc. лучше он отсидит свои 8 часов на работе, а придя домой займётся своими проектами. займётся вдумчиво и с фанатизмом, возможно потратив на них всю ночь, и не выспавшись придя на работу. здесь есть первиный и вторичный факторы. первичный - личный интерес, вторичный - необходимость "что-то делать". они не коррелируют. а если грамотно совместить необходимость и личный интерес, то можно добиться великолепных результтаов.

> Кстати, <cite>Совещания, Расписания, Отчеты. А потом кто-то начинает требовать, чтобы он ПЛАНИРОВАЛ свою работу<continues/></cite> которое представленно в топике как закат команды, на самом деле является началом професиональной работы

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

> ервое - это российский оффшор и индусские программисты, второе это действительно серьёзные компании (не только коммерческие). И "энтузиазм" у них по разному :)

что есть "действительно серьёзная компания"? wmvare - серьёзная компания?

> вечер пятницы и не совсем понятно чем вам не угодили индусы с картинки http://www.trovster.com/images/weblog/ie-counting.jpg ?

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

asgard
() автор топика
Ответ на: комментарий от asgard

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

Ну признайся, себя ведь ты позиционируешь как весьма квалифицированного разработчика, так ведь? ;)

swizard
()
Ответ на: комментарий от swizard

> Ну признайся, себя ведь ты позиционируешь как весьма квалифицированного разработчика, так ведь? ;)

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

asgard
() автор топика
Ответ на: комментарий от swizard

> Вы в этом году на петрограйнд пойдете, господин senior system developer? :)

таки да, господин system engineer(если я не ошибаюсь).

asgard
() автор топика

Святая правда. Всех манагеров, начиная с бг расстрелять, деньги отменить, а в качестве разменной единицы ввести курс Ггц/Гиг к поллитре.

marsijanin ★★
()
Ответ на: комментарий от asgard

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

Так собственно и живу =) Это вообще беда повальная, и особенно для думающих людей. По сему очень многие вместо работать с 3х отдачей отсиживают 8 часов и идут домой заниматься интересными вещами. А постулаты вроде "у нас тут работается с 9 до 5 без возможности отлучиться" заставляют серьезно призадуматься.

anonymousI
()

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

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

anonymousI
()
Ответ на: комментарий от anonymousI

> Так собственно и живу =)

я думаю, что большинство программистов так живёт, я тоже не исключение =)

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

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

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

asgard
() автор топика
Ответ на: комментарий от asgard

>ie7(http://www.trovster.com/images/weblog/ie-counting.jpg), не любят своё дело. они пишут этот пордукт только потому, что у них нет выбора. либо сидеть в тепле и достатке, либо возвращаться в индийские трущёбы.

IMHO чушь. Я почти уверен, что любой из этих программистов, если уйдёт из MS не вернётся в "индийские трущёбы". Он устроится в другую, не менее крупную, компанию. А в трущёбах, я думаю, они и не жили даже, а закончили какой-нить Кембридж. Так что вам, asgard, и мне, есть ещё чему у них поучиться.

P.S. Интересно, что вы скажете о программистах, пишущих Firefox, когда количество дыр в нём будет больше, чем в IE? (хотя кажется в этом году именно так и есть) А что бы вы сказали, если бы узнали, что в гугле очень многие из Индии?

php-coder ★★★★★
()
Ответ на: комментарий от php-coder

Всегда нужна дешёвая раб. сила для выполнения несложной работы, которую гуру и его "стая" выполнять не будет.

krum
()
Ответ на: комментарий от MKuznetsov

>Кстати, <cite>Совещания, Расписания, Отчеты. А потом кто-то начинает требовать, чтобы он ПЛАНИРОВАЛ свою работу<continues/></cite> которое представленно в топике как закат команды, на самом деле является началом професиональной работы

...профессионального программиста в качестве непрофессионального манагера.

фтопку!

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

grinn ★★
()
Ответ на: комментарий от krum

>Всегда нужна дешёвая раб. сила для выполнения несложной работы, которую гуру и его "стая" выполнять не будет.

ну так уборщицы и курьеры для этого есть.

grinn ★★
()
Ответ на: комментарий от krum

> Всегда нужна дешёвая раб. сила для выполнения несложной работы, которую гуру и его "стая" выполнять не будет.

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

anonymous
()
Ответ на: комментарий от asgard

> я думаю, что большинство программистов так живёт, я тоже не исключение =)

У программистов жены еще бывают, так что не все ;)

fmj
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.