recoder: (Default)
[personal profile] recoder

[livejournal.com profile] korw1n подкинул замечательный текст ’Как не надо программировать’. Красочно описывается текущее невесёлое состояние софтверной индустрии, что называется, ’глядя изнутри’. Я сам, со своим тоже немаленьким прграммерским опытом, склонен согласиться с автором по всем пунктам. Недостаток статьи только один — автор явно забыл русский язык (что для него вполне естественно) и это местами усложняет понимание.

Предположим проект новый. Сначала забираем деньги по максимуму. Сажаем кучу народу и все опять бегают в полной конфузии. А кого только там нет.

Тут мне придется переключиться на английский, не знаю русских терминов. Project managers, Quality Assurance managers, Configuration managers, Testing managers, Just Managers, Random People. И совсем не много тех кто чего-то понимает. А со стороны заказчика не лучше. Если есть хоть кто-нибудь, кто хоть немного знает, чего надо делать, это большая удача. Его необходимо идетифицировать как можно быстрее и вынимать из него это знание как можно быстрее, а то или сдохнет или уйдет. Что очень не просто, потому, что он думает совсем по другому и ни хрена не понимает в «software development». Но с ним надо быть ласковым и понимающим — упустишь не будет того чего надо («functional or user requirements»).

Процесс определения того чего надо самый трудоемкий и сложный. Потому, что кроме того кто знает есть еще много тех, кто думает, что знает и еще больше тех кто притворяется, что знает. Ну поди разберись! Однако свои тоже очень мешаются. Они суют заказчику всякую ерунду типа крутых методологий и «detailed schedule» на следующие 5 лет поминутно. А среди своих надо отыскать того, кто понимает чего говорит тот, кто знает и может это внятно навалять на бумаге. Таких тоже мало.

Менежеры бывают нескольких видов.

Менежер — линейное звено. Этот менежер имплементирует функцию у которой на выходе то-же самое, что и на входе. Полностью контролируемая особь, поддается дрессировке, послушен и покладист. Толку от него как от козла молока но и вреда не приносит. Великолепный переадресатор e-mails в обе стороны. На программистов смотрит преданно и дает лапу.

Менежер — генератор хаотического шума. Этот менежер имплементирует функцию случайных чисел. Практически не контролируем, иногда агрессивен, иногда ласков. От него можно ожидать практически всего. Часто бывает женского пола. Выдает клиенту случайную и ничем не обснованную ерунду. Периодически просит рассказать, что-же такое XML и почему он превернул мир.

Менежер — приносящий пользу. Этот вид встречается очень редко и занесен в красную книгу. Может внятно донести до клиента простую техническую мысль. Иногда дает разумные советы клиенту и полностью осознает круг свего незнания. Служит буфером между враждебным и бестолковым внешним миром в лице клиента и начальства и программистом.

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

Ну чего, будем код писать?

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

Так что «в общем по software development’у» состояние мрачное, тенденции не меняются, будущее туманное. И непонятно, откуда ждать каких-нибудь перемен. Даже и не в новом году.

coding

Date: 2006-01-01 10:24 am (UTC)
From: [identity profile] fenikso.livejournal.com
Имхо, нормальное функционирование "big companies" - если хочется art of programming, то это имхо в стартапах. Печально, конечно, но примерно как "голодные дети в Африке".

Date: 2006-01-10 10:51 am (UTC)
From: [identity profile] fenikso.livejournal.com
>хочется качественно делать свою работу
imho, как только всерьез начинаешь задумываться что не так в "системе", потом уже просто не получается "работать как раньше". В том плане что понимание "устройства системы" это уже брэйновый апгрейд. :) и дальше дорога в PrjManager-ы или куда еще.

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

p.s. конечно я не призываю писать плохой код - я просто перевернул с ног на голову весь вопрос.

Date: 2006-01-17 11:42 pm (UTC)
From: [identity profile] fenikso.livejournal.com
Мы всё-таки о разном говорим :) Я о self-improvement всё-таки. Не в Питеровском смысле :)

Насчёт халтур и геморроя - согласен на все 200%.

Date: 2006-01-17 11:45 pm (UTC)
From: [identity profile] fenikso.livejournal.com
>И если каждый из нас найдёт в себе силы навести порядок хотя бы в окрестности δ вокруг себя - так уже в >мире станет гораздо лучше...
Agree.

>И мне особенно приятно видеть неожиданные исключения из общей невесёлой тенденции.
Эти да, молодцы :)

>nothing personal! no offense intended.
:)

Date: 2006-01-02 09:44 am (UTC)
From: [identity profile] valerk.livejournal.com
Читал я эту статью... Хоть у меня не такой большой опыт работы в иностранных фирмах, но в целом я согласен на все 100%... Аж даже что-то печально как-то становится :-(
From: [identity profile] il-duco.livejournal.com
ну что раскисли, девочки?
ну давайте построим собственный луналэнд с блекджеком и шлюхами? отберем нормальных пасанов и будем делать все "правильно". но подозреваю что продать не сумеем, так что от луналенда и блекджека придется отказаться.

In fact, forget the lunar lander and the blackjack!

December 2024

S M T W T F S
1234567
891011121314
15161718192021
22232425 262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 6th, 2026 10:52 pm
Powered by Dreamwidth Studios