Истории с тегом: мысли о вечном

Всего историй: 830

12722

Чутьё — наше всё

В заметке «Остальное — слова и бумаги» человек грамотно расписывает, почему заказчик прав, а подрядчики — не совсем. Хотя и раскрывает свои секреты: «И если я вижу, что работы на сто тысяч, а выкатывают миллион, то лесом, господа, лесом» в итоге означает «Ваш бюджет — не проблема заказчика».

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

Впервые повстречав такого заказчика, наш переговорщик произнёс слово «болото». И термин прижился. В такое болото если попадёшь, то так просто не выберешься. Вначале снизят цену под разными поводами, потом будут выкручивать руки, выгрызать печень, проедать плешь. Если себе в убыток, но таки закрыл проект — уже рад.

Первый признак «болота» начинается ещё до переговоров, когда компания с именем выбирает подрядчика помельче. Приходишь на переговоры — а там три птицы международного полёта да юристы того же уровня. А вас трое — программист, дизайнер и Серёжа. В таких случаях сходу надо извиняться и расставаться. Ссылаться на загруженность работой нельзя, ведь сразу услышите: «Да если бы вы знали, какой шанс вам выпал, то бросили бы всё». Надо рассказать, какие тут все криворукие, неумелые и недостойные, и что просто не в состоянии потянуть такой проект.

В «болоте» постоянно снижают стоимость без понимания процессов и часто с манипулятивными подходами.

— Если мы закажем у вас десять сайтов, скидку 30% сделаете?

— Да.

— Тогда давайте сейчас один со скидкой 30%, а если нас качество устроит, закажем остальные девять.

Сюда же фразы из категории «работы на сто тысяч, а выкатывают миллион».

Постоянное изменение требований и придирки к несущественному. Постоянные угрозы судебным разбирательством…

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

12713

Внедряй, но проверяй

Солнце в бутылке, говорите? Ну-ну…

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

Во-вторых, в нашем климате зимой идёт снег. Небольшой его слой на крыше — и привет «солнцу», от простого затемнения до выпадения бутылки вниз из-за весовой нагрузки.

Всё это знаете что мне напоминает? Новичок узнал новую-новую технологию — и давай её повсеместно внедрять.

Вышла новая версия ОС? Надо поставить её везде. А потом начинаются пляски с бубнами: как её убедить не тормозить на старом железе и заставить заработать тот софт, что на этом компе используется для основной рабочей деятельности.

Вышел новый фреймворк? А давайте его запилим в наш сайтик! Это же круто — быть на острие технологий. А то что, для этого сайтика вполне хватит обычного статического HTML с CGI на голом PHP — это неважно. Главное — чтобы мы были на острие прогресса. Клиенты начинают жаловаться: «А чего у нас страничка с тремя кнопками и одним выпадающим списком тормозит?»

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

Ладно бы маркетолог — ему за это платят. Но технарь, заболевший «New New Stimorol»… Такому хочется взять и настучать томиком Кнута или Кагана по голове.


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

12710

Остальное — слова и бумаги

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

Так сложилось, что обычно я веду IT-проекты со стороны заказчика. Самые разные, от корпоративных информационных систем до охранных сигнализаций, при этом группа компаний работает в разных странах и регионах. Самые разные задачи бывают. Экономят у нас в конторе на людях, что поделаешь. Да везде так же.

И вот что я вам скажу, господа подрядчики, интеграторы, франчайзеры 1С и иже с ними: не там вы брёвна ищете.

Когда идёт обсуждение и составление ТЗ, то это мы сделаем, это мы вообще сделаем, а об этом можно и не писать, само собой разумеется.

На этапе подписания акта уже иначе: это мы доделаем, это исправим, всё будет, только подпишите. Вот этого в ТЗ нет, а то, что обсуждалось на словах, никто не помнит. Но когда-нибудь мы это тоже доделаем по доброте душевной.

На этапе оплаты — акты уже подписаны, где наши деньги? То, что мы обещали, да, доделаем. Может быть. Не в этом году. Если заплатят ещё. Не работает? А куда вы смотрели, когда принимали? Всё работало? Так никто и не говорил, что оно через неделю работать будет. Платите за поддержку.

Как актами можно подтереться? Как доделывать? Это же два месяца работы, мы и так в ноль работаем, никакой прибыли. Только ради вас, так уж и быть, кое-как доделаем то, на что изначально подписывались.

Потому что, господа, вы всегда упускаете несколько нюансов.

Во-первых, заказчику нужен продукт. Это вам нужно денег, нужно платить зарплату, нужен оборот, нужно найти людей, нужно занять людей, у вас есть другие проекты и другие объекты. А заказчику нужен результат. Если вы вместо результата даёте что-то ещё, а я слышу вышеназванные отмазки, я могу просто перестать вам платить. Добро пожаловать в суд! Разница в том, что у вас опытного юриста нет, а у меня есть. А также в том, что при заключении следующего договора с любым солидным заказчиком вас будет проверять его СБ. И если с предыдущим заказчиком вы судились, то не мне вам объяснять… А ещё в том, что пока идёт суд, у нас идёт бизнес, а у вас деньги выведены из оборота. В общем, со всех сторон получается, что вам надо работать, а не права качать. В большинстве случаев заказчик не зверь, просто подрядчик почему-то считает, что 80% от стоимости проекта — это его чистая прибыль, а требования заказчика взяты с потолка. А по факту 10% прибыли от суммы заказа для компании подрядчика — это уже неплохо. Остальное — материалы, зарплата исполнителей, налоги… Не знаю, как у вас, а в компании, где работаю я, распилы остались в далёком прошлом. И когда я считаю, сколько мы готовы заплатить за проект, то учитываю затраты подрядчика. И если я вижу, что работы на сто тысяч, а выкатывают миллион, то лесом, господа, лесом. Половину мне — тем более лесом. У нас тоже не дураки сидят.

И если я говорю, какой отчёт для CRM мне нужен или какой должен использоваться провод, то так и должно быть. Нужно именно то, что написано в ТЗ. Если доводчик должен закрывать дверь, то «заказали не тот доводчик, на сайте производителя неправильно указаны характеристики» — это детская отмазка. Да, денег не будет, пока не переделаете. Мне всё равно, что в подписанной смете этот доводчик. Если я буду проверять каждую позицию сметы на соответствие ТЗ, проект на соответствие всем отраслевым стандартам, условия продажи каждой лицензии на соответствие законодательству, то зачем мне нужны вы? Да, приходится проверять — но не каждый же доводчик! Мир крутится не вокруг вас, и у заказчика нет цели заплатить вам денег. В последнем примере у меня нет цели купить доводчик — у меня есть цель получить систему контроля и управления доступом в рабочем виде. И закрывающий платёж будет тогда, когда она будет работать, не раньше.

Все проблемы решаются. Главное — понимать, кому и что друг от друга нужно. Вам — деньги, нам — результат. А всё остальное — всего лишь слова и бумаги.

Ещё со сроками всегда весело. Если подрядчик срывает сроки на полгода, то он за это хочет ещё денег, потому что работы оказалось больше, чем планировалось. Когда после этого заказчик задерживает оплату на месяц, подрядчик воет, грозит судом, активирует закладки…

Работайте, господа. И грамотнее планируйте техническую и финансовую часть. Ваш бюджет — не проблема заказчика.

12698

Утром стулья, вечером хрен

Представьте себе: вы вызвали сантехника. Тот приходит, колдует с унитазом.

— Готово!

Вы платите ему деньги за работу — а он тут же меняет унитаз на другой.

— Тот на самом деле сломан и течёт — это была страховка на всякий случай!

Или покупаете машину. Менеджер отдаёт ключи, принимает деньги — и тут выбегает бригада, что-то делает под капотом купленной машины.

— Там в двигателе не было масла — ну, на всякий случай, вдруг вы не заплатите?

Бредово? А почему тогда нормально делать закладки в заказных системах?

Были у меня заказчики, которые просто пропадали потом или решали, что им система не нужна, или нужна, но совсем не такая, и поэтому они платить не будут. Но делать закладки? Это непрофессионально!

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

Вот простой проект, вы сделали его быстро и привычно, но вам не заплатили. Зато вы в очередной раз потренировались, следующий проект вы будете делать ещё быстрее и не напрягаясь.

А что же заказчик?

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

А во-вторых, если это сознательное кидалово — не беспокойтесь, этот заказчик точно так же кинет партнёров, а потом те кинут его. Справедливость восторжествует, кидала будет наказан жизнью.

Не опускайтесь до его уровня, будьте профессиональнее. А если на кону действительно большая сумма — воспользуйтесь услугами юриста заранее.

12696

Дать бы вам по ушам

В конце девяностых то, к чему подключают наушники, было совсем не таким, как сегодня. Это тема отдельной ностальгической беседы. А вот сами наушники уже сделали почти такими же, как сегодня. И доступность у них была примерно такой же, и конструкция. Ну, отличались некоторые несущественные детали: ещё не полностью отказались от сменных поролоновых накладок, ещё не придумали сменные же резиновые уплотнители-звуководы. В остальном же — почти то же самое. И жилки внутри кабелей имели то же не слишком надёжное сечение, что и в теперешних «ушах».

Эта учительница в силу преподаваемого предмета не могла знать правил бережного обращения с маленькими хвостатыми друзьями наших органов слуха. А для кого-то и врагами — кто тихо слушать не умел. А может, она всё знала из стороннего источника, но прикидывалась шлангом. Обнаружив ученика, предающегося кассетной или эфирной медитации — о ужас! — во время урока, она отнимала наушники, плотно их скручивала и получившийся моток завязывала крепким узлом. Развязать его после урока обычно удавалось. Продолжить пользоваться — не всегда. Ваш покорный слуга часто приходил на помощь пострадавшим со всем известной палкой, которая одним концом включается в розетку, а другим разогревается до температуры плавления оловянно-свинцового сплава. Несколько минут несложной работы — и можно снова слушать. Прошли годы, а он и сегодня любит иногда так расслабиться — взять моток пришедших в негодность наушников, неспешно реанимировать и послушать.

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

Никогда не насмехайтесь над тем, кто чего-либо не знает или не умеет. Смейтесь над собой, что не можете научить.

И никогда не бахвальтесь, что знаете или умеете что-либо. Хвалите того, кто научил.

12675

Винда и линукс, лёд и пламень

Муж и жена, у которых даже ОС на телефонах разные, сошлись на почве общего увлечения — ZX Spectrum? Да, бывает. Но кто сказал, что должно быть только так и не иначе? Что, с разными увлечениями уж никак нельзя сойтись?

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

Переймите наш опыт — тоже попробуйте. Не пожалеете.

12668

СУБД-клёш

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

Прикрывать оную задницу куском тряпки научились ещё в Древней Греции. Потом европейские варвары довели это дело до совершенства, изобретя штаны. На этом можно было и закончить историю, но разработчики штанов, сиречь портные, кушать хотят. И тут начинается юмор, который в двух словах можно назвать стандартами и модой. Следуя стандартам, мы вынуждены париться в штанах даже в Мозамбике, а также вынуждены ежегодно менять штаны из-за различных поветрий в моде. В приличную компанию в джинсах тоже нельзя — покупай портки от Кардена. Для портных и всяких кутюрье это хлеб, на это можно жить.

С софтом всё даже хуже. Штаны можно порвать или протереть, а байты не изнашиваются. Функциональность существующего софта позволяет решать насущные задачи. Задница софтом прикрыта — и прикрыта давно. Вывод: новый софт не нужен. А программисты кушают ничуть не хуже портных.

И производство софта переориентировалось на моду.

Юзера надо заставить купить новый софт. Кнопочки, рюшечки и попугайский интерфейс навешиваются на старую функциональность. Новые стандарты. Новая ОС, которая сделает вас счастливыми. Для особо упорствующих убиваем совместимость с предыдущими версиями. Если не поможет — новое железо, которое несовместимо со старыми программами. Вас всё равно заставят что-нибудь купить, хоть это вам и не нужно, работает хуже и жрёт больше памяти. Мы просто обречены на новые свистоперделки, фейсбуки и айфончики. Кто-то обречён их покупать, а я, например, создавать.

А ведь можно было бы, например, идти вперёд и изобретать штаны для экстремальных условий. Для вакуума. Скафандр называются.

12667

Творчество под макроскопом

«Машина забирает на себя рутинную составляющую, а нам оставляет творческую». Заблуждение. Она не умеет отличать рутину от творчества. Она выполняет то, что мы ей поручаем, а остальное мы делаем сами.

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

Мы, гики, задались вопросом: а всегда ли рутина — микро, а творчество — макро? А вдруг наоборот? Лезем в микроуровень и видим, что там ещё интереснее, и много чего можно творческого сделать.

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

Не машине. Нам.

12666

Антошка, Антошка, деплоим мы картошку

Менеджеры… Программисты… О! Холиварчик! Вот вам мои пять копеек.

Вообразим картину: в колхозе крестьянин выращивает, скажем, картошку. Дело не сильно прибыльное и, в общем-то, трудное. И норма прибыли примерно такая же, что процентная ставка в банке. То есть для России где-то 8–10%. Почему я так уверен? Будь она меньше — продал бы крестьянин свой надел, положил бы деньги в банк и получал бы тогда больше, чем зарабатывает сейчас. Ну, а если норма прибыли больше? Во-о-от. Для этого стоит посмотреть на программиста. Вложений нужно по минимуму — комп да мозги. Заработать можно… Свою первую программу я писал две недели и продал за три тысячи рублей. Это когда инженерам 120 рублей в месяц платили. Правда, тогда я работал один. А сейчас у меня в отделе несколько аналитиков по каждому продукту, такое же количество маркетологов, development-начальники по профлинейкам и продуктам… Программеров меньше 30%. И норма прибыли снижается до той же банковской ставки, чтобы работникам соседних отраслей не было интереса менять работу и бросаться на разработку софта.

Можете быть уверены: если бы вдруг сельское хозяйство стало ну очень прибыльным делом, то вокруг одного крестьянина крутились бы несколько агрономов (каждый под своё поле и сорт картошки), маркетологи Гидрометцентра, системные архитекторы по квадратно-гнездовой посадке картофеля, сертифицированные консультанты по логистике тракторов и команда из «Формулы-1» для смены колёс у «Беларуси». А суммарная норма прибыли всё равно бы не изменилась.

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

Засим прощаюсь.

12647

Для кого работаешь, разработчик?

Автор статьи «Вымышленный мир менеджера» осудил автора статьи «Moron-driven development» в преувеличении роли менеджера, при этом очевидно преувеличивая и свою роль.

Работу выполняют только разработчики и инженеры? Хорошо, выполнил ты свою работу — теперь попробуй её продать. Никто не покупает? Странно…

Прежде всего нужно понимать роль каждого сотрудника в компании и кто за что получает деньги: если ты разработчик — разрабатывай, если ты менеджер — продавай. Если ты считаешь, что можешь сам разработать продукт и впарить его заказчику, сообщи об этом руководству компании — шеф с радостью уволит менеджера и будет платить тебе половину его зарплаты. И вообще, зачем тебе шеф, если ты сам можешь добиться успеха на мировом рынке?

Почему у буржуев разработчик себя лучше чувствует? Потому что ты не работал в буржуйской компании и наслышан об их райских условиях из рассказов бабушек у подъезда. У них тоже есть свои проблемы, просто не такие, как у тебя. А тебя буржуи к себе не берут не потому, что ты не хочешь, а потому, что ты им не нужен.

Почему менеджер хочет прикрутить свистелку? Потому что твой проект с двумя кнопками заказчику скучен и непонятен. Он задаст два вопроса: «Что я получу?» и «Сколько это стоит?», а после ответит: «Окей, я подумаю» — и навсегда ускользнёт. Свистелка даёт возможность менеджеру впарить продукт, представив её модной фичей, которой нет у конкурентов. В результате своей работы менеджер зарабатывает деньги не только на свою зарплату, но и на твою.

Не успеешь сделать до среды и не хочешь читать книгу по тайм-менеджменту? А стоило бы, потому что из этой книги ты узнаешь о том, как не делать сотню дел до среды. Есть простые способы всё успевать:

  • не обещай, если не уверен;

  • предупреди, если не успеваешь;

  • предупреди, если остались недоработки;

  • если задач несколько, выясни их приоритетность.

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

Задача разработчика — твоя задача — оценить срок выполнения работы с запасом и озвучить его, потому что никто не сможет оценить срок лучше тебя. Если тебя не услышали — это не твоя проблема, потому что ты имеешь ценный аргумент: «Я же предупреждал». Если с твоими сроками не согласны, есть другой аргумент: «Найдите того, кто сделает быстрее». Если ты умеешь обосновывать свои сроки, никто не заставит тебя укладываться в меньшие.

Менеджер хочет свистелку? Ты получаешь деньги за прикручивание свистелок. Такая у тебя работа — сидеть с утра до вечера и крутить свистелки. Предупреди, что свистелка затянет проект на два дня, и менеджер сам начнёт думать, так ли она ему нужна. Считаешь, что твоё божественное происхождение не позволяет крутить свистелки — сообщи начальнику, пусть повысит тебе зарплату или уволит на фиг.

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

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

Для кого ты работаешь, разработчик — для себя или для заказчика? Если для заказчика, тогда изволь выполнить все его капризы и дать ему ощущение важности его роли. Если для себя, тогда работай молча, получай зарплату и не суй нос в работу других. Менеджер как раз и выполняет роль прослойки между тобой и заказчиком — даёт возможность заказчику почувствовать, что он не в советской столовке, а в шикарном ресторане, вызывает желание обращаться снова и платить бабло, а затем бежит к унылому тебе, чтобы дождаться, пока твоя кислая рожа обратит на него свой взор и выслушает новую порцию требований заказчика.

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

Давайте уважать коллег независимо от того, какова их роль.