Коничива, уважаемый!

За время вашего отсутствия мы тут вон чего понаписали:

    13 Сентября Сегодняшний пост будет полностью программистски-биографичным. Возражать не имеете права, сегодня наш праздник - день программиста. Программист я исключительно web-ориентированный (сайтики делаю). Занимаюсь я этим уже более 10 лет. За это время я поработал (неофициально) в двух фирмочках, но большую часть проектов делал фрилансом. "Халтурил" я в основном для знакомых и знакомых знакомых, что в общем-то плохо, ибо расценки "по знакомству" явно ниже средних, а отношение к исполнителю "свойское". Все клиенты - небольшие компании, которые хотят сделать сайт предельно дёшево и при этом готовы жертвовать качеством в разумных пределах. Последнее нагляднее всего выражается в том, что зачастую мне заказывают и дизайн. Вы заказываете сантехнику кровельные работы? А рыбаку приготовление пойманной им рыбы? Так же и в разработке сайтов.

    И хотя работаю я не в России, несколько случаев "кидалова" было. Примечательно, что в двух из них клиент вообще отказывался от сайта как такового. В смысле, вообще не нужен ни сейчас, ни потом. А раньше чем думали, когда меня искали, когда со мной всё обсуждали, когда подтверждали ТЗ? Пару раз было так, что разработку со стороны заказчика сайт принимали 2-3 человека и давали взаимоисключающие корректировки. Причём, как всегда в таких случаях бывает, давали они их не одновременно, так что приходилось делать, переделывать, переделывать ещё раз и т.д.

    Впрочем, самая больная проблема web-программирования в изменении пожеланий и требований заказчика в процессе разработки.

    - Мы делаем это?
    - Потом решим, делай пока основное
    А если это для меня и есть самое основное?.. И таких примеров не счесть. Хуже всего, что заказчик не понимает, что реализации его новой "фишки", о которой он ни словом не обмолвился ранее, займёт некоторое время, на которое у меня были другие планы. По этому логичная в таком случае просьба об увеличении бюджета сайта нередко вызывает негодование у заказчика. Конечно, по его мнению я просто сижу за компьютером, это и работой-то назвать нельзя. Более того, некоторые заказчики считают, что создание сайтов - плёвое дело и они запросто смогли бы сдюжить его сами, но нет времени. Я уже выкладывал тут один ролик, очень наглядно показывающий данную ситуацию. Когда я его в первый раз смотрел, было совершенно несмешно, потому что слишком уж правдиво.

    В случае очень простых сайтов, бывает так, что клиент (опять же в целях экономии) заказывает просто статичные страницы без возможности изменить их содержание. Чтож, как будет угодно. Потом, через годик-другой, этот заказчик возвращается и просит подредактировать список услуг и цен или какие-то данные в таблице и потом очень удивляется цене на это. Причины две: 1) в прошлый раз всё так дёшево было и 2) тут всего-то надо немножко подправить. А чего ты хотел, прошлый раз ты купил упаковку без содержимого.

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

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

    Пара советов программистам. Заказчик сам точно не знает чего он хочет, а если и знает, то редко когда может доходчиво это объяснить. Он не тупой, просто это не его специфика. Поэтому сами создавайте предельно подробное, но удобоваримое для клиента ТЗ (техническое задание). Таким образом вы минимизируете непонимание и двусмысленность между вами и заказчиком, а так же избавите себя от "новых фич" на окончательной стадии разработки. Новые пожелания в таком случаю приведут к изменению ТЗ и вам проще будет объяснить заказчику, за что вы просите дополнительную плату. Ещё одни "грабли" - совместимость сайта со старыми версиями браузеров. Нередко в ТЗ это не фигурирует, а заказчик потом просит исправить "некорректное отображение в IE7", а для этого сайт надо неслабо перелопатить. Ещё один плюс в составлении ТЗ - упрощение составления бюджета. Имея на руках подробное задание, подтверждённое заказчиком, несложно подсчитать время, которое потребуется на выполнение и, как следствие, цену. Опять же и заказчику в этом случае цену объяснить будет легче.

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

    Размышлял: Lentyay
    15 Августа

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

    Размышлял: Lentyay
    1 Февраля

    Всегда был согласен с тем, что красота в цифрах. Впрочем, утверждение это (так и хочется ввернуть моднявое слово "сентенция") весьма многогранно. Если говорить о форме, то тут всё однозначно: есть пропорции, которые подчиняются каким-то правилам (например "золотому сечению") и в большинстве случаев ещё и симметрия. Если речь идёт о каком-либо изображении, то и тут есть, в первую очередь, композиция и сочетания цветов. Короче, человечество уже давно преуспело в "оматемачивании" прекрасного. К чему всё это говорилось... Есть такой вид изобразительного искусства - фрактальная живопись. Дело это очень любили программисты, особенно " на заре" (и того, и другого). В чём суть фракталов и причём тут программисты? Фрактальная живопись рисуется только программами и только на основе математических формул. Примерно, как кристаллизуются снежинки в природе, но сложнее и "разноцветнее". Сам я это дело не очень люблю, но сегодня нашёл действительно отличные работы. Автор: итальянка Сильвия Кордедда (Silvia Cordedda).

    Размышлял: Lentyay
    30 Января Несколько удивил меня порыв Дмитрия, благодаря которому в дальнейшем на вопрос "сиги есть?" он будет отвечать отрицательно. Хотя, как человека некурящего и обрадовал, разумеется, тоже. Впрочем, сегодня я хочу затронуть совершенно иную тему. Поговорить охота о программистском юморе. Большинство моих знакомых услышав это словосочетание делают palmface и, отчасти, они правы. Он специфичен, как и любой другой. Возьмите для примера юмор каких-нибудь MMORPG-шников или те же студенческие шутки (я имею виду не "общажную" их часть, а именно "универскую"). Задумался я над всем этим вчера, когда коллега по работе обнаружил в коде одного из сайтов комментарий "как я зае$%лся всё это исправлять". Пример на самом деле не редкий. 10-11 лет назад был подобный случай, даже получивший некоторый резонанс. В одном из файлов дистрибутива MicroSoft Word был обнаружен комментарий "Lexa Lexa ty mogu~. movet dave zloebu~". Так же на практике нередко встречается и такое:
    delay(500); /* Illusion of something happening */
    Не углубляясь, просто поясню, что в программе умышленно ставиться некоторая задержка, чтобы пользователь думал, что "что-то происходит". Чаще всего применяется в скриптах лотерей или тестов (на этапе выдачи конечного результата), ибо если человек получает там ответ "слишком быстро", закрадывается сомнение...

    Ну и напоследок примеры программистского юмора на практике. Тут описания того, что можно найти в некоторых программах. Самому мне больше нравятся приколы на сайтах (нагляднее, да по профилю ближе):

    • Ювелирная сеть «585» - Супермегашедевр! Ведите мышку вправо до конца магазина там стоит охранник ткните на нём несколько раз
    • i-kamin - Супешедевр! Сначала нажимаем на «как проехать», сразу после этого «как пройти», сразу после этого на логотип каминов на схеме, появляется красная машинка, дальше смотрим и слушаем
    • Газон «Авангард» - шедевр! Дожидаемся появления надписи «газон» и кликаем по мужичку с серпом (на сам серп)
    • Bobrikov.net - Шедевр! На логотипе кликнуть на языке бобра
    • fishingspb - 3 раза кликнут на рыбаке на лодке (сверху слева)
    • Гостиница Измайлово - на верхнем баннере нажать на самый левый верхний балкон. Появится игра. управление мышкой
    • Курорт Лазурное - кликнуть на чайку справа
    • Зелёный чемодан - кликнуть по носу левого оленя
    • Exclusive Translation - кликаем на самолёте над Атлантикой
    • Энергосервис - на верхнем баннере 5 раз кликаем на Луне
    • doroga78 - в самом низу страницы 3 раза кликнуть на любом из светофоров. Два варианта развития.
    • rem-dom - внизу страницы слева 3 раза кликнуть по строителю
    • aion - 5 раз кликните на ссылку «перевернуть мир» в самом верху
    • Notebook812 - несколько раз кликнуть по башмаку парня с лаптопом вверху
    • Google - играть мышкой
    • Авалон - в графе «Форма обучения:» кликнуть на букву «о» в слове «Форма»
    • loveinkaliningrad - 3 раза кликнуть по рыжей девушке сверху
    • Окей медиа - написать «покажи сиськи» и «покажи попу»
    • МИСС СПОРТХИТ - несколько раз пощелкать по доске для серфинга у девушки
    • Не прикол, а игра-реклама, но очень забавно
    И хотя большинство вышеприведённых вещей - своего рода реклама, сделанная с согласия заказчиков, всё равно весело.    
    Размышлял: Lentyay
    4 Января

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

    Первая ссылка будет интересны всем. Известный журнал Esquire выискал упоминания цветов в некоторых наиболее известных литературных произведениях и визуализировал это. Смотрим здесь. Лично меня больше всего позабавила библия. С таким количеством "золота" меркантильность не спрячешь ни под какими духовными благами.

    Вторая ссылка будет интересна людям, связанным с интернетом. "Эволюция Интернета" очень наглядно и по-своему красиво показывает как развивались различные стандарты в интернет-программировании и когда их начинали поддерживать браузеры.  
    Размышлял: Lentyay