Плохой понедельник

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

Красивый код… давайте о нем поговорим?

Недавно слушал Радио-Т не помню какой выпуск, из недавнего, обсуждали статью об аутсорсе.

Очередной заказчик решил сэкономить и заказал разработку iOS приложения у самой дешёвой компании, которую смог найти на просторах интернета. Результат понятен, полный “дизастер”. И по пунктам рассказывает почему, по его мнению, все пошло не так.

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

Разговоров около этой темы было много. Краткое мнение Umputun’а, что есть различие в менталитете исполнителей, для американцев главное результат, процесс ничто. Для русских главное процесс, а результат побочный эффект. Для индусов что то фигня, что другое, жизнь слишком коротка чтоб заморачиваться.

Сижу я и думаю: ну есть блин, в этом что-то. Нужно ли заморачиваться над процессом?

Ведь заказчику нужен результат, а что делаю я? Занимаюсь процессом, конечно занимаюсь я им чтоб получить наилучший результат на который я способен, но результат можно получить быстрее.

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

Нет блин, нужно в отдельный контроллер все вынести, отрефакторить, ведь придёт кто-то это править, что он обо мне подумает?

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

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

И вот я уже глубоко увяз в процессе.

Это не результат, заказчику это всё не упало. Не только не упало, но и вредно в финансовом плане и в плане сроков. А через год это всё перепишут, если оно кому-нибудь нужно будет.

Может подсознательно я понимаю, что платят мне по часам и если я сделаю это за час вместо десяти, я получу меньше? Да нет же, я так делал и раньше, когда работал за фиксед прайс.

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

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

Всем красивого кода друзья!