Одиночество в сети в офисе
30.07.2009 Четверг 13:34
Сижу в офисе совершенно один. Русский коллега вчера уехал на родину, шведские коллеги в отпусках. Семиэтажное офисное здание в центре Стокгольма почти пустое. Изредко, пару раз за день кто-то проходит мимо двери в мою комнату, и опять никого. В соседних комнатах тоже пусто. Столы стоят, компы стоят, а людей нет. Не офис, а летучий голландец.
Или швед?.. Так будет до понедельника. В понедельник начнётся тестовая неделя, и, как минимум, появится тестер - девушка из Гётеборга. Сижу сейчас придумываю для неё тест-кейсы. Так же обещал явить себя народу архитектор проекта.
30.07.2009 Четверг 13:47
Неправда, не совсем один. Я по вечерам звоню, и мы играем в покер.
30.07.2009 Четверг 13:54
Тоже правда.
30.07.2009 Четверг 15:07
везет вашему тестеру, за нее программист придумывает тест-кейсы =)
30.07.2009 Четверг 15:38
Исходя из моей пятнадцатилетней практики могу сказать, что программист зачастую делает вообще всё. Включая, например, написание технического задания после того как система полностью реализована, установку на местах, обучение пользователей и т.д. и т.п..
30.07.2009 Четверг 16:47
> Исходя из моей пятнадцатилетней практики могу сказать, что программист зачастую делает вообще всё.
Попрошу без намёков!
30.07.2009 Четверг 16:50
Да, забыл сказать.
В чём отличие сильного программиста от слабого? Правильно!
Сильные программисты ещё и таскают мебель, компы и прочие предметы офисной жизни.
Расслабился ты,Виталик, я смотрю в заграницах своих.
30.07.2009 Четверг 16:52
И опять я.
Тяга к переноске тяжёлых предметов у тебя, Виталик, была настолько сильной, что бедный плоттер (который никуда не надо было переносить) стал жертвой сильного программиста.
30.07.2009 Четверг 17:09
> Попрошу без намёков!
Ну тов.Дынин, ну раскусил...
Для меня по-прежнему загадка, куда и зачем я тот плоттер хотел утащить. Может, и правда, после очередного переезда условный рефлекс сработал: видишь тяжёлую вещь — хватай её и тащи?..
31.07.2009 Пятница 05:33
Странно. Если ты придумываешь тест кейсы — то нафига вообще нужна эта девушка из Гётеборга?
31.07.2009 Пятница 06:12
Матримониальные планы?
31.07.2009 Пятница 13:04
> Матримониальные планы?
Ха-ха.
Ухаживание IT-style - написание тест-кейсов. Вместо конфетно-букетного периода. :)) А совместное написание тест-кейсов, это следующий шаг. Это уже слишком интимно.
31.07.2009 Пятница 13:08
> Странно. Если ты придумываешь тест кейсы — то нафига вообще нужна эта девушка из Гётеборга?
Как! Воспроизводить эти тест-кейсы. :) На самом деле, мне просто толком ничего не известно про тестера, про уровень её подготовки. Может, она сама во всём разберётся. А может, нет. Поэтому для подстраховки пишу тест-кейсы, чтоб ей в любом случае было, что делать.
31.07.2009 Пятница 13:13
Интересный, знаете-ли, пост получился...
Вот подумал я на досуге по поводу того должен ли программист заниматься только собственно "программированием".
Работал я в одной фирме, где программисты были "универсалами". И систему разворачивали у заказчика, и обучали юзеров, и мебель таскали.
Сейчас работаю в другой фирме, где практически всё, как "за рубежом". Есть программеры, есть тестеры, есть админы базы, есть операторы. Делаем неплохую систему. Но вот беда. До юзеров дело практически не доходит. Не видит программист юзера. Не знает чем он "дышит". Да что там юзера! До собственного оператора не доходит. Хотя они сидят за стенкой.
Вроде бы всё как в книжке написано. Каждый должен заниматься своим делом. Но столько получается промежуточных звеньев!
Конечно, можно возразить, что должен быть постановщик задачи, который будет терзать юзера, писать ТЗ и спецификации, а программер должен писать код. Но мой опыт работы говорит, что любая система, которая успешно была внедрена, делалась в теснейшем контакте с конечными пользователями. В теснейшем. А что такое теснейший контакт? Это когда разработчик практически сидит у конечного пользователя. И система максимально адаптируется к нуждам заказчика. Только нужды становятся очевидными не в момент написания ТЗ, а в моменты реальной эксплуатации. Юзер должен пощупать систему, поработать в ней и только тогда начнёт бешено генерировать требования к её функционалу. И программер должен плавать в этом бульоне.
Понятно, есть вещи типа стандартного интерфеса, которые может писать любой идиот. Но ведь кроме интерфейса есть много других вещей.
Билли Гейтсу хорошо. Он сумел заставить весь мир тестировать несравненную винду. Но на то он и Гейтс.
И наконец. А не кажется ли тебе, Виталик, что вся эта индустрия IT, является паразитом на теле экономики? Этакая вещь в себе. Пятьдесят лет назад не было никаких персональных компьютеров. Не было. Но разве бухгалтерия, экономисты и прочая братия не работали и не делали своё дело? Работали. И средств потребляли на два порядка меньше, чем нынешние собратья.
А сейчас? У каждого свой комп. Принтер. Сидит человечек, генерит тучу бумаг, отчётов и прочей макулатуры. Вроде бы хорошо. Но сколько это всё стоит?
А с другой стороны тоже сидят люди. Всякие налоговые, пенсионные и соц. фонды. И генерят новые формы и отчёты. Формы отчётности меняются регулярно. А что такого? Есть же компьютеры! Пусть они и работают.
А раньше человек с козырьком и нарукавниками на счётах вполне справлялся с нехитрой бухгалтерией.
Нет, я не призываю восстать против машин. Но осадок какой-то остаётся. А работники IT-сферы надувают этот пузырь. Мощности компов не хватает! Надо сервер покруче. Надо кластер. Надо гигабитную сеть. А включаешь и не работает. Может в консерватории что-то поправить?
Паразиты мы, Виталик. Паразиты.
31.07.2009 Пятница 13:21
Сейчас попаразитирую ещё немножко, несколько тест-кейсов напишу и буду отвечать. :)
31.07.2009 Пятница 15:30
> Это когда разработчик практически сидит у конечного пользователя.
Я бы сказал: Это когда разработчик практически сидит на коленях у конечного пользователя.

03.08.2009 Понедельник 21:54
Тов.Дынин, значит постановщик задач хреновый!
Постановщик сам должен быть как юзер, в том плане, что должен досконально представлять себе, что хочет юзер и что ему надо. Если он себе это представляет плохо, то, очевидно, в условиях отсутствия прямого контакта между программером и юзером нормальной системы не получится. Естественно, наличие большого количество промежуточных звеньев тоже не увеличивает вероятность построения хорошего продукта. На мой взгляд, в идеале должно быть лишь одно промежуточное звено — грамотный постановщик задач, чувствующий нужды юзера и непонаслышке знающий процесс разработки, его возможности и ограничения. На мой взгляд, таких людей вообще катастрофически не хватает в нашей индустрии. Хотя мне доводилось встречать.
Разделение по функциям всё-таки нужно, имхо. Разделение труда вообще не просто так придумано - это исключительно прогрессивная идея по сравнению с ситуацией, когда каждый сам себе эксперт во всём. Такая ситуация совершенно не масштабируемая, поэтому сложность систем, которые можно строить с помощью такого подхода, ограничена по сравнению с ситуацией, где есть разделение труда. Только увлекаться разделением не надо. А то при передаче информации между звеньями может вовсе потеряться суть. На адекватный продукт при этом рассчитывать не приходится. Степень разделения работы и количество звеньев должны быть адекватны сложности создаваемой системы. Это как в многозадачности — если разбить работу между слишком большим количество исполнителей, то на контекстные переключения может уйти вся мощность проца.
Короче, bottom line. Постановщик задач быть должен! Но он должен быть качественный и создающий минимальные преграды на пути потока информации между заинтересованными сторонами. Во. Ты вот, тов.Дынин, был хорошим постановщиком, ибо сам из программеров вышел. И человек общительный, общий язык можешь найти и с программером, и с юзером.
03.08.2009 Понедельник 22:05
> А не кажется ли тебе, Виталик, что вся эта индустрия IT, является паразитом на теле экономики?
Какая-то часть её, возможно, является. Но это про любую индустрию можно сказать, имхо. Ибо идеально процесс производства наладить крайне сложно. В том числе, программ. А вообще, IT-индустрия крайне полезна. Ибо способствует более эффективной обработке информации, а значит имеет прямое отношение к разгону прогресса.
03.08.2009 Понедельник 22:12
> Нет, я не призываю восстать против машин. Но осадок какой-то остаётся. А работники IT-
> сферы надувают этот пузырь. Мощности компов не хватает! Надо сервер покруче. Надо
> кластер. Надо гигабитную сеть. А включаешь и не работает. Может в консерватории что-то
> поправить?
Сто пудов в консерватории! Ибо я ещё помню времена, когда в 48 килобайт памяти Синклера умудрялись запихивать столько, сколько сегодня (с помощью "современных средств разработки") никто не сможет запихнуть даже в три мегабайта! Это прогресс? Это регресс какой-то на самом деле. Но это проблема не IT, а как раз таки самой экономики, построенной на принципах потреблятства. Так везде, не только в IT.
04.08.2009 Вторник 13:23
> Постановщик задач быть должен!
А кто против этого возражает? Я много лет назад услышал от других и потом только укреплялся в этом мнении - успех любой системы на 80% зависит от правильной постановки задачи. Дальше идёт банальное ( а может и не банальное ) программирование.
В идеале программер вообще не должен видеть ни заказчика, ни начальника. Как ты сейчас, Виталик.
Вот только в жизни это редко происходит. Основная проблема в том, что даже самый заинтересованный заказчик не сможет с ходу объяснить что ему надо. Либо полезет в частности, либо будет ждать систему из одной зелёной кнопки "сделать всё".
Постановщик задач для того и нужен, чтобы с одной стороны вытащить из заказчика всё, а с другой стороны остудить его пыл.
Но ведь вот какая несправедливость в этом мире. Деньги платит (или не платит) не тот, кто заказывает. Вернее, не тот, кто работает с системой. По крайней мере в крупных предприятиях.
А по поводу программеров, оторванных от жизни...
Вот какая у меня аналогия пришла. Почему старые фильмы о войне можно смотреть, а современные как-то не хочется? Да потому что те фильмы делали люди, которые сами эту войну видели своими глазами. И войны-то в тех фильмах практически нет. А современные боевички с компьютерной графикой в лучшем случае можно посмотреть один раз и забыть навсегда.
Где здесь программист? А не он ли не может запихнуть 48 Кб в 3 Мб? Патаму шта оторван от реальной жизни. Не видел и не видит он реальных условий работы юзера.
Да какие там программеры?! У нас уйма людей в государстве ни разу не были на реальном производстве. А ведь руководят и пишут "ТЗ". Но это уже совсем другая история.
04.08.2009 Вторник 20:33
> Да какие там программеры?! У нас уйма людей в государстве ни разу не были на реальном
> производстве. А ведь руководят и пишут "ТЗ". Но это уже совсем другая история.
Это inherent flaw системы. И вообще, этого мира. Не может один человек быть специалистом во всём и сам всё делать. Поэтому разнообразные inefficiencies всегда будут иметь место. Один человек разбирается в производстве деталек из металла, поэтому он стоит у станка. Но он совершенно не способен управлять всем заводом. Зато тот, кто им всё-таки управляет, мало что соображает в реальной работе на станке. Неплохо, конечно, если он в прошлом сам стоял у станка, но всё-таки это более редкая ситуация. Обычно люди, которые могут что-то делать руками, и люди, которые умеют организовывать работу других, совсем разные в психологическом и других планах, и вряд ли один человек может совмещать в себе оба качества.