Пусть программирует Сережа

Публикация № 1678484 17.06.22

Управление - О жизни

Вам это знакомо. Должно быть знакомо.

У каждого клиента – свои предпочтения. Не только в выборе автомобиля, блюда на обед или корпоративной информационной системы. Клиенты любят выбирать программистов.

Ну, что программисты разные – ежу понятно. Считается, что клиенты предпочитают профессионалов. Мы тоже так думали, и искренне стремились сделать каждого своего программиста этим самым профессионалом.

Однако, несколько клиентов, ставя нам задачи, упорно твердили: пусть программирует Серёжа. Хотя Серёжа – лютейший говнокодер, объект всеобщей жалости и главный поставщик материалов для конференций на тему «Как не надо программировать».

 

Кто такой Серёжа?

Я буду называть Серёжу Серёжей, потому что он просит называть себя именно так. Не знаю, почему.

Ничего особенного. Отучился в ПТУ (колледже) на программиста, пришёл работать. Попал в отдел сопровождения – где надо «а-а-а-а-быстрее-быстрее-клиент-ждёт». Такой старт во многом и определил стиль программирования Серёжи.

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

Сами понимаете, такая стратегия – чрезвычайно сложна. Реализовать её можно либо будучи бешеным профи, либо – оставляя за собой лютейший говнокод. Серёже, конечно, был доступен только второй сценарий.

Клиенты Серёжу полюбили. Руководитель отдела сопровождения – тоже. Но, тем не менее, через три года Серёжа ушёл – в отдел разработки. Туда, где сидят «настоящие программисты».

 

Переход

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

Но Серёжа, будучи почти звездой в сопровождении, нужен был в программировании. Это было не его решение – начальство так постановило.

И началась дичь. И для Серёжи, и для программистов. Закатывали глаза, заламывали руки, брызгали слюной, бились головой о стену. Но ничего не помогало – говнокод стал частью ДНК Серёжи.

Несчастный очень быстро скатился вниз по показателям. Какую бы задачу ему не дали – ни фига не получалось. Точнее, программирование шло с противнейшим скрипом и затратами колоссального времени остальных сотрудников – приходилось объяснять, ещё раз объяснять, тыкать носом, заставлять переделывать и, в конце концов, забирать задачу и, матерясь, переделывать самим.

Начали проседать показатели всего отдела – не сильно, но всё-таки. Ну и атмосфера, конечно, стала гнетущей. Надо было что-то решать.

Позвали начальство.

 

Решение

Начальство было мудрое. С одной стороны, виден полный провал Серёжи во всём «сурьёзном». С другой – бывшие клиенты Серёжи изнывали без него. Ну а чё, подумало начальство.

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

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

Пошло хорошо. Первый месяц Серёжа, к великой радости клиентов и начальства, просто херачил весь накопленный пул задач. Быстро и точно, как умел и любил. Но сработал закон Вселенной – чем больше задач клиента ты решаешь, тем больше их становится.

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

Но начался жесточайший кризис.

 

Кризис

Программисты полезли в сокровищницу Серёжи и ахнули… Не, говнокод-то они уже видали, но чтобы столько, да в одном месте, и как-то это всё взаимосвязано! И, самое поганое – работает!

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

Для программистов это было в новинку. И бесило жутко. Начались скандалы. Брал программист задачу, смотрел, матерился, звал Серёжу и пытался тыкать его носом. Серёжа к тому моменту уже стал чуть смелее, и отвечал просто: «не хочешь – не делай, сам подшаманю». Раз сказал, два сказал – перестали пытаться воззвать к чувству вины.

Ну ладно, сказали программисты. Щас мы покажем – и Серёже, и его клиентам, как надо программировать. И стали молча делать решения так, как положено. Но тут, совершенно неожиданно, взвыли клиенты.

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

Во-вторых, не понравились суммы, которые программисты выставляли за свою работу. Они были в разы больше серёжиных. Оно и понятно – быстрый говнокод дёшев, нормальный – существенно дороже.

Фраза «Пусть программирует Серёжа» звучала всё чаще и настойчивее.

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

Клиенты послушали, головой покивали, но честно признались – всё понятно, но ничего не понятно. Давайте на примерах. Программисты взялись объяснить на текущих задачах.

Под руку попался инструмент планирования загрузки оборудования имени Серёжи – клиент попросил добавить в него новую функциональность. Программисты сказали, что на анализ всего инструмента придётся потратить 10 чел/часов. Но раз такое дело, сделают это бесплатно. Клиент, правда, цифру услышал и запомнил.

После анализа программисты сказали, что весь инструмент надо переделать. От макушки и до пят. И анализ сделать ещё раз – только не кода, а требований, процессов и сценариев. С людьми поговорить, короче. А тут уже не обойтись без привлечения бизнес-аналитика.

Насчитали, в итоге, предварительную стоимость в 120-160 чел/часов. Клиент был в шоке – нахера отдавать столько денег за создание с нуля инструмента, который уже давно работает? Программисты пытались объяснить, что это будет правильно. Говнокод обязательно сломается когда-нибудь, не будет масштабироваться, не натянется на него очередное функциональное требование.

Но всё было тщетно. Клиент перестал слушать программистов. Твердил, как заведённый: «Пусть программирует Серёжа». Особенно с учётом того, что Серёжа оценил текущую доработку в 4 чел/часа.

Но программисты не сдавались. Они пошли к начальству.

 

Финал

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

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

Итак, хороший код принёс бы компании 160 чел/часов. Плохой, по оценкам программистов – 50 чел/часов. Отправили цифры начальству, попросили о встрече.

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

Серёжа насчитал 300 чел/часов. И не просто насчитал – принёс документы, которые подтверждали цифры. Чаша весов резко качнулась. Но Серёжа, кроме денег, докинул на неё свои говнокодерские аргументы.

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

Четвёртое добавило начальство – неистовая, слепая лояльность клиента. К Серёже, конечно, но через него – ко всей компании.

Программисты с выводами не согласились, но уже исчерпали все аргументы. Раз такое дело – пусть и правда программирует Серёжа.

 

P.S.

Развитие истории получилось неожиданным. Чутка поостыв, программисты подумали, поговорили, поспорили и… Признали право Серёжи и его говнокода на существование. Решили к нему даже присмотреться. И, по возможности, поучаствовать – очень, почему-то, захотелось и к себе неистовой лояльности.

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

Стали просто разбавлять. Один день красиво программируешь, другой – пускаешься во все тяжкие. Сравнивали дни говнокодерства с мероприятиями вроде Ла Томатины. И, как ни странно, остались довольны.

Во-первых, чутка больше зарабатывали – доработки говнокода требовались часто. Во-вторых, нашли в говнокодерстве профессиональную ценность – лучше понимали, как надо писать код. В-третьих, обнаружили, что и своим клиентам иногда полезно сделать «быстро и точно» - лояльность повышается, а следом – и поток объём задач. В-четвертых, клиенты Серёжи, наконец, сдались и разрешили другим программистам официально решать их задачи.

Теперь можно услышать не только про Серёжу. Пусть программирует Коля, Петя, Вася. Жить стало интереснее и проще.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Torin 479 17.06.22 09:45 Сейчас в теме
Костя встал на место,
Костя всё достаточно,
Пам-пам-пам-пам,
Серёжа, молодец!
myoker; igor_demin@mail.ru; portwein; al_zzz; Созинов; user603532_fan_club_chelsea; Perfolenta; Senator_I; Ali_q; Dimbayyyy; vld1973; CheBurator; 1c-intelligence; +13 Ответить
2. klaus38 17.06.22 10:06 Сейчас в теме
Я когда лезу в свой код, пятилетней давности к примеру, всегда сомневаюсь, а не Сережей, меня тогда звали?
babys; I_r_a; Tarlich; Upiterus; Serge R; m_aster; biz-intel; gigabyte_artur; user1346935; garik79; m1_1976; t278; Andy_NTG; rhtr; user1315860; Созинов; WhiteDragon; NiGMa; popiksergey; vakham; maksa2005; amd1986; SP2000; RocKeR_13; Ponommax; Ali_q; mitia.mackarevich; Jeka44; AntonProgma; +29 Ответить
3. AntonProgma 36 17.06.22 10:49 Сейчас в теме
Пишите хороший код, а плохой не пишите!
klaus38; user751607; NeLenin; Ali_q; sapervodichka; +5 1 Ответить
12. sapervodichka 5470 17.06.22 11:31 Сейчас в теме
(3) а мне ещё нравится из этого мультика: "Сам испёк, сам и кушай!"
Прикрепленные файлы:
Tarlich; Brook; klaus38; Igorro82IT; dvsidelnikov; user751607; Serg O.; vakham; +8 Ответить
4. sinichenko_alex 143 17.06.22 10:52 Сейчас в теме
Был у нас один такой Антон Сережа....
5. пользователь 17.06.22 10:53
Сообщение было скрыто модератором.
...
6. vld1973 64 17.06.22 11:01 Сейчас в теме
Серёжа между прочим не только со стороны клиента, но и с точки зрения владельца компании самый полезный сотрудник, так как приносит больше всего прибыли (несмотря на говнокод) :)
chg; babys; Tarlich; biz-intel; Andreeei; oleg-m; Serg O.; Loginoff92; popiksergey; Ali_q; +10 Ответить
25. Serg O. 201 17.06.22 17:45 Сейчас в теме
(6) быстро весело
с юморком и матерком...

это всё хорошо работает на "свежей" (типовой) конфигурации - там куда костыли не вставь, остальное всё
разгребай потом всем коллективом
31. shard 265 18.06.22 23:12 Сейчас в теме
(25) особенно когда впоследствии регистры накопления перестают закрываться и итоги пухнут со страшной скоростью. А в один непрекрасный момент приходится заменять срез остатков этого РН на разницу прихода и расхода некоторого набора измерений с начала времен. И запрос по одной(!) номенклатуре начинает 2 минуты 40 секунд выполняться. Лично видел такую базу, которую до этого состояния целый франч из таких "сереж" довел (но это только технические "изюминки", в учете там вообще мрак был - никто его даже не хотел замечать).
41. tindir 20.06.22 07:04 Сейчас в теме
(31) все что вы описали отлично укладывается в "все потом, не сейчас, а сейчас хочу я впляс". Самый главный прекодес для клиента это незаменимость Серёньки, а так же в "один прекрасный момент" нелинейный рост затрат на сопровождение кода. Мне сейчас приходится "на заводе" обьясняться с заказчиком, почему "все так долго", а вот раньше Серунчик-дорогой-любимый-умница делал все быстро и легко. Он быстро и легко, "переписал" систему ценообразования, легко "исправил" долгую запись документов заказКлиента и реализации, сделал "легкий" отчет по остаткам на складах (без этих ваших сложных условий(с)). И все это был здорово, ровно до того момента, пока у клиента не появился "новый" продукт, который адмнистрируется-продается чуть сложнее.
45. shard 265 20.06.22 14:59 Сейчас в теме
(41) 1 в 1. Пытался проводить аналогию с наркоманом (ибо медики были): либо лечить (долго и тяжело), либо дать очередную дозу (в надежде что передоза не случится). С умным видом кивали, соглашались, а через 2 минуты (засекал) требовали "здесь и сейчас в пляс".
7. usd1001 17.06.22 11:10 Сейчас в теме
Есть мнение, что гов*окод - это лишь повод самоутвердиться для особо заносчивых гуру. Масштабируемость, архитектура и 1С - найдите, как говориться, лишнее слово.
Я знал двоих персонажей, которые разносили чужой код. Оба с мерзким характером, нелюдимы. Было ощущение, что они нашли для себя оружие, которым отбивались от внешнего мира - это желчь. Но стоит отдать должное, один из этих персонажей профессионал своего дела, который соблюдал собственные рекомендации, а у другого нет ничего, кроме мерзкого характера.
user1070856; Yashazz; dnikolaev; +3 Ответить
10. dnikolaev 168 17.06.22 11:28 Сейчас в теме
(7) точно точно) в гуру впринципе чужой код- говнокод по определению
8. Aftee 17.06.22 11:20 Сейчас в теме
Я чет не пойму. То ли гуру не смогли объяснить клиенту, что поддержка грамотно написанного кода в дальнейшем будет стоить 2 часа гуру, вместо 4 часов Серёни, то ли гуру не такие уж и гуру. А может Серёга своего рода Кличко в мире 1С? Его код настолько гениален, что понять его могут лишь единицы.
9. KOTzilla 6 17.06.22 11:26 Сейчас в теме
(8) «А сегодня в завтрашний день не все могут писать код. Вернее писать код могут не только лишь все, мало кто может это делать»
babys; Tarlich; PLAstic; Jimbo; user1346935; Senator_I; morin; Kutuzov; popiksergey; maksa2005; Aftee; +11 Ответить
11. morin 29 17.06.22 11:29 Сейчас в теме
Самообучился и свалил на место по козырнее. Вертел этот Сережа своего франча на одном месте!
13. frkbvfnjh 691 17.06.22 12:26 Сейчас в теме
Отучился в ПТУ (колледже) на программиста, пришёл работать. Попал в отдел сопровождения – где надо «а-а-а-а-быстрее-быстрее-клиент-ждёт».
- это вообще законно? сажать человека который познает азы программирования в отдел где нужно решать задачи быстро? Так то нужно было в отдел программистов с наставником, а там где быстро, нужны опытные. Что то так себе компания, удивительно как Сережа вообще адаптировался и не покончил жизнь самоубийством, какие вообще к Сереже могут быть претензии после такого? Да ему памятник при жизни нужно поставить, а руководителя компании на лоскуты пустить, ну я так думаю...
silverr; Aleksey_Ekb; user751607; Loginoff92; +4 Ответить
65. tindir 21.06.22 05:54 Сейчас в теме
(13) Даже если у тебя тренер по плаванию олимпийский чемпион, ты не научишься плавать на берегу =) я помню как начинал во франче. ребята пытались сюсюкать и "давать не сложные задачи". Что вопревых снижало мою норму-час, во вторых давало около нулевой выхлоп по опыту. По этому пошел к ЗУП/ЗКБУ и стал настоятельно просить "взять на проект". Ох и напорол я им тога =) Но это была важная ступенька в эффективности и полезности.
92. user705698_bursev 29.06.22 09:57 Сейчас в теме
(13) Я тоже работал во франче, где младших/начинающих специалистов сажали именно на поддержку. Это не подразумевало, что все задачи они должны были решать сами, главная задача - это принять от клиента проблему. А решать уже это либо старший будет делать, либо сам начинающий, когда станет немного поопытнее. С одной стороны хорошая школа, а с другой поддержкой редко кто любит заниматься, видимо, поэтому и кидали тех, кто еще молод и полон желания спасти мир:)
14. biimmap 493 17.06.22 12:31 Сейчас в теме
Пристрелите Серёжу! Каждый в своей компании и в себе лично. Программировать качественно гораздо быстрее!
Как-нибудь напишу на эту тему статью, а то уж больно надоели говнокодеры.
tindir; user751607; SP2000; +3 Ответить
15. Petr54-ru 86 17.06.22 12:32 Сейчас в теме
Сережин подход был описан в модной в начале нулевых книжке автора Кент Бек "Экстремальное программирование". Не хватает только написания тестов и программирования парами - но это походу из за нашей 1С специфики. Истоки того, что потом станут называть "иджайлом".

Мне в то время довелось поработать в проекте, который делался по это методологии, было круто. Ну и такой подход безусловно имеет право на жизнь при высоком уровне лояльности заказчика. Например для внутренней разработки, если на работе не много политики, он на мой взгляд является оптимальным.
user1070856; user751607; NiGMa; +3 Ответить
16. Perfolenta 200 17.06.22 13:24 Сейчас в теме
Любой код пишется для того, что бы удовлетворить клиентов... если клиенты любят и ценят Серёжу, значит он и есть самый лучший программист...
А правильные, но не признанные клиентами "гении" и "академики" от программирования, пусть задумаются чего им в действительности не хватает для конкуренции с Серёжей...
Как и любой другой товар, программный код имеет показатель цена\качество... а любой продавец товаров Вам скажет, что большинство продаж это нижний ценовой сегмент... выбор большинства покупателей стремится к показателю цена, а не к качеству... поэтому, если заказное программирование это Ваш бизнес, то Вы не можете не учитывать психологию покупателя... говнокод был, есть и будет всегда, как и остальные говнотовары...
Krotov_Valery; user1070856; hiduk; user1346935; lunjio; Senator_I; Loginoff92; +7 Ответить
17. info1i 192 17.06.22 13:44 Сейчас в теме
В статье указано, что инструмент и код работает стабильно - случай редкий, так как на практике все наоборот: код падает, процессы заказчика сбоят, заказчик злится со словами "Сережу не привлекать к нашим задачам, только профи!".
И если бы так ценились низкоквалифицированные программисты... Посмотрите на зарплаты. Все хотят высококвалифицированных. Так что статья расходится с реальностью.
sashocq; vladimir.badaykin; PLAstic; Yashazz; user751607; +5 Ответить
18. Petr54-ru 86 17.06.22 14:48 Сейчас в теме
Еще у меня сложилось впечатление, что Иван специально вбросил туда "говнокод", как красную тряпку для отвлечения внимания на негодный объект. Основной момент - за счет чего и как персонаж Сережа создает для заказчика ценность.

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

Четвёртое добавило начальство – неистовая, слепая лояльность клиента. К Серёже, конечно, но через него – ко всей компании.


Ну и там совершенно не обязательно должен быть совсем злой говнокод. Что там 100% неизбежно должно быть, что должно было кодеров в этой сказочке выбешивать - изменения кода скорее всего были оформлены в виде патчей и оставлены "закоменченные" куски старого кода, чтобы можно было без усилий вернуть все в зад. Потому что так быстро и дешево, и вероятность того что придется это переделывать относительно низкая.

Это как в известном пирожке

Бог создал труд и обезьяну
Чтоб получился человек
А вот пингвина он не трогал
Тот сразу вышел хорошо

Так и тут, считаем что создаем пингвина и он выйдет хорошо сразу.
19. morin 29 17.06.22 15:10 Сейчас в теме
Покажите код тех самых "бешеных профи". А то может они "профи" только на желтой бумажке...
20. johnnyshut23 67 17.06.22 16:12 Сейчас в теме
Иван исчерпал свои г-рассказы и решил сказки писать. Поздравляю, верной дорогой идете, на место Кинга метите.
Maxim_Zuev; vladimir.badaykin; PLAstic; sinichenko_alex; oldcopy; user751607; +6 Ответить
80. Maxim_Zuev 22.06.22 14:05 Сейчас в теме
(20) На потеху почтенной публике. Почему бы и нет. Кроме него все равно никто этим не занимается
Krotov_Valery; +1 Ответить
21. swimdog 717 17.06.22 16:16 Сейчас в теме
Я вижу 2 плюса от работы Сережи
1) умение общаться с клиентом. Видимо у профи таких навыков нет.
2) делать MVP и потом его дорабатывать. Деньги размазываются по периодам и воспринимаются заказчиком лучше.
Да и польза от продукта появляется быстрее.

А в целом да, не дай бог работать после такого Сережи)
babys; user751607; shard; Senator_I; opx; +5 Ответить
27. opx 737 17.06.22 17:57 Сейчас в теме
(21) Если выбирать из 2 типов:
1. Кто умеет общаться
2. Кто хорошо делает работу

Общество очень часто выбирает первого, т.к. не могут оценить профессионализм зачастую.
Общение оценить легче
user1346935; Serg O.; +2 Ответить
93. Serg O. 201 29.06.22 19:15 Сейчас в теме
(27) "умеет общаться"... это теперь отдельная специализация - Аналитик
делать что-то он при этом и не должен, а делают - другие!
так и тут - говорить хорошо, а делать (и переделывать) за него - придётся другим!

не согласен - Люди и компании (которые ценят своё время и силы)
обычно предпочитают вариант 2) - чтобы работа была сделана, а не "пообщались хорошо"

а кто хорошо общается и плохо делает работу - называется "пустобрёх"
и это "мягкое" название, обычно говорят резче и нецензурнее
22. avbolshakov 17.06.22 16:40 Сейчас в теме
- Правды характеров нету!
23. NiGMa 17.06.22 16:54 Сейчас в теме
Лет так 15 назад у одного из моих Заказчиков была Задача (ещё на 7.7), и начал я её кодить... так красиво кодил...
Но Заказчику надо было поскорее, поэтому мои красочные рассказы об "удобной форме с удобными кнопками и мульоном настроек под капотом" его не порадовали, а расстроили.

И услышал я от него фразу, которую теперь применяю постоянно:
"НЕ НАДО ГЛОБАЛИТЬ!!!"
mikl79; user1070856; Petr54-ru; +3 Ответить
24. Petr54-ru 86 17.06.22 17:08 Сейчас в теме
(23)

И услышал я от него фразу, которую теперь применяю постоянно:
"НЕ НАДО ГЛОБАЛИТЬ!!!"


Хорошее выражение, мне понравилось.

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

По деньгам, реализация второго подхода будет стоить раза в три дороже, чем первого. Хотя решение лежит не в области разработки, а на административном уровне.
32. shard 265 19.06.22 00:22 Сейчас в теме
(24) обычно т.н. "защита от дурака" занимает 80% кода. И сделать ее можно, но только от неизобретательного =)
26. Serg O. 201 17.06.22 17:53 Сейчас в теме
говнокодить и вставлять костыли - хорошо на чистых (типовых) конфигурациях,
и не очень долго...
а когда таких "Серёжей" не 1, а человек 5-6 и поработав полгода они уходят...

остальным - придётся разгребать за ними всё это барахло!
А когда это надо ещё и обновлять каждый раз...
с каждой итерацией это всё сложнее и сложнее...

И в один прекрасный момент - не очень-то хорошо получится
придётся бесплатно! переписывать "как надо", но уже другим!
и придётся переделывать ВСЁ с нуля !

для руководителей - надо ЭТОТ аргумент привести - что переписка займёт в 3-5 раз больше времени и сил более квалифицированных программистов - и оплачивать ЭТО будет руководитель из своего кармана!
sashocq; user751607; shard; opx; +4 Ответить
28. opx 737 17.06.22 18:00 Сейчас в теме
Я бы сказал так:
Сережа - профессионал технического долга.
Такие обычно нравятся заказчикам и не нравятся другим программистам.
ubnkfl; NiGMa; +2 Ответить
29. Lapitskiy 994 18.06.22 12:38 Сейчас в теме
Серожа - это прообраз "индуса- спагетти_кодера".
Они незаменимы. Когда надо быстро сляпать прототип, и показать заказчику.
Потом, когда заказчик будет доволен как выглядит прототип, "индуса" пошлют на новый прорывной стартап, а вместо него уже за дело примется команда профессионалов.
Все на своем месте, все - довольны. Главное - осознать эти роли, и не перепутать!
ubnkfl; Артано; user751607; papami; +4 Ответить
30. gybson 18.06.22 22:55 Сейчас в теме
Если Серёжа пишет код под конкретного клиента и клиенту нравится, то Серёжа умный. Если остальные пишут свой стройный код не как массовый продукт, где Серёжам нет места, то они просто полные идиоты. Гораздо тупее Серёжи.
33. Samarin 97 19.06.22 10:09 Сейчас в теме
Всем привет! Меня зовут Сережа. Больше 10 лет работал в сопровождении, далее "подрос" и лет 8 работаю в отделе разработки. Вполне же реальный персонаж.
Все вполне объяснимо. Многие сопровожденцы далеко не программисты и "что-то делать в конфигураторе" учатся на клиентах. Клиентам важно решение, которое их устроит и побыстрее, и еще подешевле. Обычно как: дешево и быстро? значит - некачественно. Так и есть с точки зрения дальнейшего сопровождения, оптимальности работы и прочего. Но клиента устраивает - оно работает и ладно. Клиенты не программисты и не знают (да и не хотят знать) всех тонкостей разработки и поддержки. Им важно быстрое и рабочее решение их проблемы. И за это они платят. Чаще всего их волнует результат "здесь и сейчас", а дальше будет дальше, как-нибудь обновится, поддержится.
"Рассказали про архитектуру, стоимость поддержки кода, правильное проектирование, сценарии использования, масштабируемость и т.д. Короче, изложили, что есть «правильно»." - вот это вообще было зря. У них уже есть Сережа, который им делает, оно работает и им выходит гораздо дешевле. Так что ваше "правильно" оно, может быть, качественно и дорого, но клиенты скорее подумают о том, что их разводят на деньги, потому что у них есть свое видение "правильного". Доводы "У Сережи говнокод!" вообще для клиентов пустой звук.
Клиенту небольшому хочется недорогой поддержки, лишь бы работало. Вот когда они вырастают и начинаются проблемы с производительностью - тогда и есть смысл приводить к ним настоящих программистов, экспертов и архитекторов, но это будут совсем другие деньги.
babys; mailtomm; mikl79; Serg O.; +4 Ответить
39. papami 53 20.06.22 05:44 Сейчас в теме
(33)
Всем привет! Меня зовут Сережа.

Похлопаем Сереже.

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


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

Скупой платит дважды
34. Артано 725 19.06.22 10:09 Сейчас в теме
Читаю Ивана и вижу, что в данном рассказе нет стороны, которой бы можно было сочувствовать и воспринимать "хорошей" стороной конфликта. Ибо стороны представляют собой почти идеальные представления двух противоположных подходов к работе: плохо и быстро против долго и идеально. Как задолго до Эскобара говорил Иосиф Виссарионович: "Оба хуже!"

Подход "Сережи" безусловно плох и в конечном счете как и показано в рассказе стоит дороже всем - и клиенту и задействованным специалистам. Но идеалистичным перфекционизмом это не лечится. Это как лечить грибок ногтей ампутацией. Любое легаси, на то и называют легаси, что ты или отказываешься от него совсем или как-то пытаешься с ним жить: изолируешься, понемногу рефакторишь изолированные и декомпозированные фрагменты, если текущие задачи требуют модификации этих участков кода. Ну или в запущенных случаях просто параллельно делаешь своё решение "сбоку", которое постепенно будет перехватывать функциональный контроль.
35. biimmap 493 19.06.22 18:58 Сейчас в теме
(34) вот не согласиться хочется с данным утверждением. Фишка в том, что СРАЗУ писать качественно это не только быстрее, но и вполне реально для разработчиков любого уровня.

Я привык решать задачу так, чтоб больше не слышать о ней до конца проекта. Точно наверно напишу как нить об этом статью с кучей примеров из практики.
46. oldcopy 141 20.06.22 15:00 Сейчас в теме
(35) А вот здесь мы приходим к вопросу: что такое писать "качественно". Что возьмем за эталон и поместим в палату мер и весов?

Тем более что бизнесу ваше "качественно" неинтересно. Бизнесу нужно эффективно. Потому что задачи у бизнеса здесь и сейчас и решать их надо еще вчера, а не через неделю. Ну и затраты на них должны быть соразмерны проблемам.

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

Покупать для этого грузовик с манипулятором излишне. Хотя "по науке" все правильно и дважды платить не придется. Только вот никто не хочет думать, что огород может так и остаться на 6 сотках и этот грузовик нафиг не сдастся, разве что по праздникам девок по деревне катать.
user1070856; Артано; +2 Ответить
48. biimmap 493 20.06.22 15:06 Сейчас в теме
(46)
Что возьмем за эталон


Ессно когда такой материал готовится, то качество не связано с заказчиком. Я поделюсь своим пониманием качества, приведу аргументы...

Конечно же материал будет некоторым образом идеализирован. А дальше каждый сам принимает для себя решение - нужно ему так? полезно?
50. oldcopy 141 20.06.22 15:12 Сейчас в теме
(48) Качество не может быть не связано с заказчиком (ну разве что берем идеального заказчика в вакууме).

Кому-то не нужен грузовик, а нужна садовая тачка с моторчиком. Если бюджет заказчика предусматривает только быстрый и грязный код - то у него будет именно такой код. Но при этом он будет работать и будет приносить закачику ценность.

Делать иначе - это или бесполезно тратить свое время, или разводить заказчика на лишние деньги. Оба варианта плохие.

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

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

Варианты:

а) сесть и разобраться с правами, долго, дорого.
б) УстановитьПривилегированныйРежим(Истина) - быстро, дешево и эффективно.
52. biimmap 493 20.06.22 15:16 Сейчас в теме
(50) Давайте будем дискутировать по факту написания статьи. Первая попытка написать на эту тему у меня уже была... Хочу под другим углом ещё раз взглянуть на этот вопрос.

В описанной задаче разобраться в задаче этой - не долго и не дорого, а второй вариант - ошибочный, ибо даёт на это права всем, а не одной роли!

Именно на это и хочу нацелить статью, чтоб было меньше дефективных решений!
54. oldcopy 141 20.06.22 15:25 Сейчас в теме
(52) Ошибочный именно первый вариант. Так как чтобы реализовать все по уму нужно прежде всего разобраться в текущих правах кассира, почему они именно такие и что ему можно делать, а что нельзя. Сами вы этот вопрос не решите, придется колупать мозг заказчику.

Потом нужно найти и дать нужные права роли. Это как раз самое простое.

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

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

И опять таки смотрим в корень. Заказчик ставит вам проблему - у него не печатается форма у кассира. Вместо того, чтобы сделать так. чтобы она печаталась вы начинаете выносить ему мозг по набору прав, а потом выкатываете счет за несколько часов. Заказчик в афуе, мол нифига себе "напечатал". А еще через месяц выяснится, случайно, что кассир видит то, чего видеть не должен и будут очень и очень неприятные вопросы.

P.S. Был у меня один молодой коллега, который с первого дня решил все делать правильно, через три месяца его из конторы уволили с формулировкой "дурачок какой-то, нам тут работать надо, а не в его игрушки играть".
user1070856; +1 Ответить
56. biimmap 493 20.06.22 15:35 Сейчас в теме
(54) Почему-то мне кажется, что Вы относитесь к людям, которые при общении на тему качества смотрят только на стоимость и другие аргументы не воспринимаете.

Дело в том, что я уже больше 10 лет занимаюсь разгребанием говнокода. И этот говнокод в длинную имеет космическую стоимость. То о чём я говорю не касается вот таких мелких задач. Сам не занимаюсь такими. Самая маленькая задача, которой я занимаюсь занимает обычно 2 недели. чаще месяц-два. А обычная для меня задача длится до полугода.

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

ps: может зря уволили коллегу? Желание делать качественно очень полезно на проектах!
59. oldcopy 141 20.06.22 15:44 Сейчас в теме
(56) Подобные моменты выходят и на "серьезных" проектах. А сеть торговых точек на обслуживании может и поприбыльнее полугодовых проектов оказаться.

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

А на крупных бывает так: сделали, внедрили, заплатили кучу денег, но уже в эксплуатации начинают выясняться разные интересные вещи, которые надо было сделать по другому. И начинается либо "говнокод", либо новые проекты на полгода.

Любая задача должна исходить из решения проблемы заказчика, на том уровне, на котором заказчик находится. А с позиции ваших сияющих высот: заказчик либо покупает совершенно не нужный ему грузовик, либо вы с ним даже разговаривать не будете.
user1070856; +1 Ответить
61. biimmap 493 20.06.22 16:14 Сейчас в теме
(59) в решении задач я руководствуюсь сценариями, общепринятыми подходами к решению задач, стандартами разработки.

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

А те кому не надо, пусть берут Серёжу и пусть он себе говнокодит на здоровье!

Именно поэтому у меня и есть желание написать материал, привести примеры, обосновать почему писать качественно - это ВЫГОДНО! Причём выгодно именно заказчику. Ярых говнокодеров не переубедить. От них можно только избавляться на проектах. Но очень много тех, кто просто не знает как делать качественно. Вот это как раз моя аудитория + ессно те кто является заказчиками и терпит большие убытки от говнокода..
58. shard 265 20.06.22 15:42 Сейчас в теме
(50) (56) есть еще третий вариант, как раз говнокода: выдать кассиру полные права, "сережа" поступил бы именно так.
Вариант с УстановитьПривилегированныйРежим в печ.форме как раз таки оптимальный, т.к. в этом случае не будут усложняться запросы на чтение фиксированных (необходимых для печ.формы) данных, особенно при пакетной печати. зы: Но можно эту доработку непосредственно в конфу внести, включив возможность изменений, а можно расширением или внешней печ.формой - первый способ быстрее, зато второй правильнее.
49. shard 265 20.06.22 15:10 Сейчас в теме
(46) немного не точно, имхо. Можно и тачкой, и грузовиком. А можно тротиловой шашкой урожай и достать (из земли), и доставить (почти куда надо, если с размером и направлением подгадать). А вот думать что вместо урожая на выходе может каша с примесью щепок собакиной будки получиться - это долго и дорого) зато эффективно))
51. oldcopy 141 20.06.22 15:14 Сейчас в теме
(49) Т.е. вы считаете покупку грузовика для перевозки ведра помидоров и двух ведер картошки на базар оправданным вложением?
53. shard 265 20.06.22 15:17 Сейчас в теме
(51) Если грузовик по цене тачки, то почему бы и нет, опять же девок катать можно. А Вы считаете оправданным вложение тротила в картошку?))))
55. oldcopy 141 20.06.22 15:28 Сейчас в теме
(53) про тротил придумали именно вы, такой задачи не стояло.

Есть тачка, заказчик хочет чтобы тачка ездила сама.

А грузовиков по цене тачки не бывает, должны прекрасно понимать, а если и бывают, то обходить их надо десятой дорогой, потому что утомитесь его ремонтировать. А тачка с моторчиком уже завтра ваше ведро картошки повезет на базар, вместе с вашей задницей. Одна беда - девок не покатаешь.
57. shard 265 20.06.22 15:37 Сейчас в теме
55) Аналогия с тачкой и грузовиком - уже Ваше творчество. Но попробую тогда не отклоняться от тех.задания:

Есть тачка, заказчик хочет чтобы тачка ездила сама.

Под горку тачка прекрасно едет сама, демонстрация прошла успешно, немного рассыпавшийся урожай списали на погрешности ручного ввода оператором картошки в тачку. За минутную смазку и подкачку колес выставлен счет на пару часов, счет заказчиком оплачен - все довольны, задача решена)
60. oldcopy 141 20.06.22 15:50 Сейчас в теме
(57) За такую тачку вам просто не заплатят, ну или заплатят один раз. А вот если сделать просто, но надежно, то обратятся еще не раз. И пофиг что тачка кривовата, возит же картоху и обходится недорого. А дальше видно будет.

Да и получить "техзадание" от заказчика - это еще постараться надо. Обычно описывают задачу или проблему, а как вы ее решите - дело ваше.

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

Собственно по этому с "Сережами" и работают, потому что он дает недорогое решение именно насущных проблем. И эффект от них виден сразу.

Да, если компания начинает расти, то все это надо будет переделать и это будет стоить денег. Но там переделать надо будет не только программу, а вообще все. Начиная с учета и бизнес процессов.
67. Артано 725 21.06.22 07:05 Сейчас в теме
(35) Ранее за меня уже почти всё написал товарищ в 46-м посте.

Дополню, что ваше утверждение

(35)
вот не согласиться хочется с данным утверждением. Фишка в том, что СРАЗУ писать качественно это не только быстрее, но и вполне реально для разработчиков любого уровня.


не по букве, но по духу, и главное с экономическим базисом фигурирует и у меня в сообщении.
Подход "Сережи" безусловно плох и в конечном счете как и показано в рассказе стоит дороже всем - и клиенту и задействованным специалистам.


не понимаю, с чем не соглашаетесь? С тем что "оба хуже"?
70. biimmap 493 21.06.22 10:27 Сейчас в теме
(67) да именно с этой фразой, если про пост 46, то с подходом "а бизнесу это не надо".

Фишка в том, что "бизнес" нифига не одинэсник. И в 95% случаев он не в курсе надо оно ему или нет. И уж тем более бизнес не может просчитать последствия ошибок.

В общем я за качество)
72. Артано 725 21.06.22 11:58 Сейчас в теме
(70) Значит Вы и есть представитель идеалистической школы перфекционистов. Это в моём понимании те, кто просто за качество.

Разверну мысль. Суть работы разработчика как инженера в широком смысле это воплощение "в железе" потребностей заказчика. Да, заказчик может многого не знать о будущих потребностях, но текущие нужды он может сформулировать. Задача же программиста/архитектора реализовать потребность в кратчайшие сроки, заложив, при этом задел на расширение и доработку решения, ести это потребуется в будущем.

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

Но, в любом случае, когда речь идет не об астрактной разработке, как вещи в себе, а о части производственного процесса, то становится очевидной арифметика реального управления, когда 100 рублей нормального решения завтра больше чем 150 рублей хорошего решения через неделю/месяц/год, а в некоторых случаях даже плохое решение за рубль, но прямо сейчас будет оптимальным вариантом.

Правда, в случае с рублём это маркетинговая уловка "Сережи" или того, кто его имитирует. В итоге цена будет в районе тех же 100 рублей или уйдет в техдолг, оплата процентов по которому, обычно и топит проекты, что даёт козыри идеалистам.
73. biimmap 493 21.06.22 12:07 Сейчас в теме
(72) Я никогда и не прятал свою идеалистическую сущность. Почему она возникла? Потому что я работаю с ЗУПом.
Как думаешь думаешь налоги можно посчитать примерно? А зарплату коллективу? С разбегом +/- 2000 р.? Нет нельзя!

Вот поэтому я и есть идеалист. Если б работал с УТ или с бухнёй был бы меньшим идеалистом. Там пересортица это норм. Лишние затраты пару лямов размазать по всему производству - обычное дело и т.д.

Но когда приходит Серёжа и начинать говнокодить в ЗУПе - это вообще недопустимо ни при каких обстоятельствах. Эта конфа не прощает ошибок)))
75. Артано 725 21.06.22 13:11 Сейчас в теме
(73) Видел я лютейших говнокод и там, где нельзя ошибаться - в банках и в страховых. Вообще не связанные показатели качество кода и качество результата.
76. biimmap 493 21.06.22 13:25 Сейчас в теме
(75) В моей практике и предметной области они связаны. Костыльные решения связаны с тем, что не все сценарии учитываются, а это приводит к ошибкам, которые потом ещё и найти тяжело.

И главная проблема в том, что в ЗУП решение задачи на 70% занимает меньше половины времени. А вот остальные 30% это и есть самое сложное, что при говнокодерстве обычно не решается. Ибо большинство таких задач в принципе говнокодом не решить! Приходится такие решения переделывать с нуля. Именно чтоб учесть 30% сценариев, иногда даже из-за меньшего количества сценариев это приходится делать.

Ещё раз повторюсь: для других предметных областей это не на столько актуально как для ЗУП.
Как найду время написать статью, потом ещё подискутируем предметно)
36. starik-2005 2659 19.06.22 23:29 Сейчас в теме
Какие в комментах прям окуенные профессионалы своего дела - аж глаз дергается сердце радуется.
chg; ivan1703; Krotov_Valery; ubnkfl; lepth; m_aster; teyana; morin; Fator26; biimmap; maksa2005; muskul; +12 Ответить
37. muskul 20.06.22 02:03 Сейчас в теме
По тексту все время думал что где то у Сережи должно было что то епнуть сломаться и зафакапиться, но это случилось только у "правильного" отдела разработки.
зы. По своей работе тоже иногда сталкиваюсь что в некоторых моментах начинают усложнять потому что "просто" это неправильно
38. Manoshkin 347 20.06.22 04:04 Сейчас в теме
ох уж мне эти профессионалы которые пишут "чтобы показать было не стыдно". это иногда прям .... ничего не работает как надо, фиг переделаешь, но зато блин всё оптимизировано. программирование ради программирования.
40. maksa2005 362 20.06.22 07:00 Сейчас в теме
В следующий раз назови своего персонажа - Валера...
42. Vlan 36 20.06.22 07:46 Сейчас в теме
Программирование - это искусство. Не может быть "правильного" кода и "неправильного". Глупо говорить, что Рубенс рисовал правильно, а Ван Гог нет. Они просто разные, у них разное видение происходящего. Разбираться в "правильном" коде зачастую сложнее. Возьмите БСП. Уж куда правильнее, но я там пас. Терпения не хватило пройти все эти процедуры. Или использовать "as is" или лепить что-то свое.
Так вот, возвращаясь к искусству. Оно предназначено для потребителя (заказчика), а не для коллег-художников, которые не преминут в разговоре обязательно упомянуть, какая все-таки это мазня.
evgd02; lepth; Dima_Mazhor; Loginoff92; +4 Ответить
64. tindir 21.06.22 05:47 Сейчас в теме
(42) Программирование ремесло. Вы ведь не станете говорить, что токарь тоже художник и нарушение тех.карты это его творческое видение.
shard; Jimbo; +2 Ответить
66. Vlan 36 21.06.22 06:49 Сейчас в теме
(64) В том-то и различие, что токарь ограничен чертежом. Ни вправо, ни влево. А свободный художник не ограничен ничем, кроме конечной цели. Поэтому решений может быть несколько и даже бесконечно много.
Те, кто работает по шаблонам, и есть ремесленники. А кто-то хочет творить. Можно, конечно, и такого натворить... Но это как повезет. :-)
Loginoff92; +1 Ответить
69. tindir 21.06.22 09:14 Сейчас в теме
(66) Вы не общались с профессиональными музкантами и художниками =) там есть "база" и ее нужно неприложно знать и владеть. А оправдывать кривую поделку пост-гранж-нео-модернизмом вообще ни разу не верное решение =)
Я сейчас работаю с "творческим" кодом. Знаете что вольный-художник натворил? из самого простого - он не знал, что есть Форма.Записать() и есть метод модуля объекта"ОбработкаЗаполнения", а в итоге "творческий порыв" закончился тем что у меня внутри ОДНОЙ формы документа есть 4(!) места с вызовом сервера, где создается один и тот же объект, но творческий порыв не терпит инкапсуляций и копипаста видимо была сильно густая. Как итог я имею 4 события об одном и том же, но написанное 2 разными способами с щепоктками ctrl-c без какого либо форматирования кода.
Именно в этом и кроется ремесло - уметь использовать стандарты и техники в реализации новых идей.
Артано; +1 Ответить
74. Vlan 36 21.06.22 12:40 Сейчас в теме
(69) Уж поверьте, я знаком с богемой. Действительно, в художественных ВУЗах есть много непреложных требований. Но самое смешное то, что перейдя к другому преподавателю, Вы получите новый свод правил, весьма отдаленно напоминающий прежний. Никто не знает, как правильно рисовать, но все знают, как рисовать, чтобы понравилось учителю. И практически никто потом академически не рисует, все ищут свой стиль. Это несколько утрированно, но как-то так.
79. m_aster 92 22.06.22 12:14 Сейчас в теме
(42) Ну, с БСП-то всё-таки стоит познакомиться. Реально удобно, те же права, печать и т.д. Ставишь и у тебя есть костяк, не надо ничего придумывать, добавляешь свое и есть готовое решение с определенным функционалом. Мне как-то захотелось сделать почтового клиента на 1С, увидел в ДО 2 КОРП, основу взял из БСП, добавил свою форму со списком сообщений, кое-что ещё добавил и все, все работает. Потом увидел что-то подобное в ДО 3 КОРП, только у меня была общая форма, в ДО форма списка документов почтовых сообщений.
В начале нулевых работал с FoxPro, у меня был набор пргшных файлов со служебными процедурами, тоже печать, скролбары и т.д., по большей части интерфейсного порядка. В принципе, та же БСП. Практически окно готовой программы, наполняешь нужным функционалом, компилируешь в апп и все, получаешь программу.
43. yyv-911 20.06.22 08:08 Сейчас в теме
есть такой проект где что бы посчитать остатки и обороты необходимо было несколько регистров (4-5 шт накопительных регистров) получать с самого начала их существования. Ошибка в целом проектирования (направление учет деятельности УК и квартплаты). Но решение работает уже более 10 лет. без доработки. Правда время обработки постепенно увеличивается. Но это мелочи. На днях оптимизировал. Добавил в временные таблицы индексацию. Стало работать шустрее. Что бы все это переписать честно отработавшее 10 лет - дешевле заново построить и внедрить. Да и решение то в сравнении с типовыми до сих пор является топом. хотя и лютый говнокод. Такое же решение есть на 7.7. Двоякое чувство.
Так же работал в компании где главный архитектор "Сережа" который проектирует по принципу все должно быть как в ТЗ. Количество вставок в типовой УТ зашкаливает. А количество реквизитов увеличивается с каждым ТЗ.

А есть ещё и случаи когда хочется написать на отвали. Какая ни будь очень важная вечная внешняя форма счет-фактуры.

Помнится Иван говорил что надо всегда быстрее в продакшн отправлять. Что бы эффект был быстрее. Без такого кода никак вообщем.

С уважением агент "Сережа" )
44. slavik27 14 20.06.22 09:09 Сейчас в теме
интересно а как оценивали г.код, только потому что большая часть программистов говорила что у Сережи г.код? ну то есть где то мерило,
или мерило - стандарты 1с, если да то понятно.
А также что можно считать г.кодом

А="Г.Код";

Ответ = СРЕД(А,3,3);


Ответ2 = ПРАВ(А,3);

А пачему ты вместо СРЕД не использовал ПРАВ, это же ПРАВильнее
47. shard 265 20.06.22 15:05 Сейчас в теме
(44) Все просто: https://its.1c.ru/db/v8std - если массовые необоснованные отклонения, то плохой код.
valm0unt; +1 Ответить
62. user1346935 20.06.22 17:43 Сейчас в теме
Автор молодец. Тему 1С он перерос )

Иди на sponsr.ru и зарабатывай там бабки!!!!
63. oldcopy 141 20.06.22 18:57 Сейчас в теме
(62) Автор графоман, пишет в принципе об одном и том же. Но определенный талант вызывать бурление в комментах у него есть.
user1346935; sinichenko_alex; +2 Ответить
82. Maxim_Zuev 24.06.22 10:26 Сейчас в теме
68. CMK0001 21.06.22 07:34 Сейчас в теме
Сережа - и пусть весь мир против тебя =)
71. Светлый ум 277 21.06.22 11:48 Сейчас в теме
Проблема не в Сереже явно, а в подходе к работе в России.
Еще в студенчестве сестра одногруппника в германии начала программировать на JAVA и обязательными условиями были:
1) код ревью
2) наставник
3) и процент кода который уходил в конечный продукт (по моему 15%)

Подобные регламенты позволяют постепенно вливаться программистам уровня "Junior"

- у нас же обычно начальник с выпученными глазами сокрушается почему все плохо и нет дешевых высококвалифицированных спецов

В результате бедный Сережа выжил в агрессивных условиях, я его все равно пытаются за это прищучить... система
84. starik-2005 2659 24.06.22 21:55 Сейчас в теме
(71) Ну и итогом у нас куча вполне юзабельных приложух для каждой закусочной, а у них там куча г-на даже уровня банковских приложений, которыми невозможно пользоваться.
85. babys 89 28.06.22 10:35 Сейчас в теме
(84) Зато они ими пользуются десятилетиями.
86. starik-2005 2659 28.06.22 10:47 Сейчас в теме
(85)
ато они ими пользуются десятилетиям
Ну у них десятилетиями ничего не происходит, новые продукты не появляются, все в стазисе. А у нас тут движуха, изменения, кипение жизни. И даже при всем том "плохе", что у нас тут есть, количество "убивц себя апстену" у нас не сильно выше на душу населения, чем в США, - как в Японии, хотя в Япониях "убивство себя апстену" - это исторический "праксис". А вот у кетацеф этого дела сильно меньше независимо от исторического контекста и тяжелых жизненных условий - они в "зеленой зоне".
87. babys 89 28.06.22 10:52 Сейчас в теме
(86) Вы повернули не туда :)
Главные критерии "западного заказчика": 1. Работает - не трогай; 2. Лишний функционал стоит ЛИШНИХ денег :)
Остальное можно свалить на оператора.
88. starik-2005 2659 28.06.22 12:21 Сейчас в теме
(87) Далеко не всегда. Новый продукт - новые доходы, новая линейка продуктов, новые требования к функциональности системы. Запад очень давно решил проблемы автоматизации, и это даже работает на компах, которые уже морально устарели не на поколение, а на порядок поколений. В итоге пока оборудование будет продолжать работать - это не создаст каких-либо проблем, но оборудование тоже не вечно будет работать - оно начнет выходить из строя, а на DOSBOX ты продакшн не развернешь (если говорить обо всех тех программистах на Cobol, которые внезапно потребовались).

По поводу "лишних денег", то западные компании еще в конце 90-х тратили на ИТ не менее 10% прибыли, и с каждым годом суммы увеличивались. Потом произошло несколько кризисов, в которых выжили в основном те, кто тратил на ИТ куда больше - сравните гугл и яхуу, который окуклился в "портал". То же самое произошло с рамблером, а теперь они пытаются у автора NGinX отжать то, что он якобы в рабочее время напилил и свободно распространил, а когда он это все создавал, то рамблер это мало волновало. И сравните рамблер с яндексом, который и "ненужные" штуки от своих сотрудников активно пытается включить в свою экосистему, ища применение.

В общем те самые "ненужные" (сегодня) фичи - это задел для роста. Если не вкладывать в этот задел, то у корпорации не будет драйверов роста на постоянно меняющемся рынке, а рынок будет постоянно меняться. Уже сейчас запустилась перестройка очень многих сервисов как у нас, так и на западе. А те, кто считает, что и так сойдет, - они кончат, как рамблер и яхуу в самой радужной картине их будущего.
89. babys 89 28.06.22 17:41 Сейчас в теме
(88) Воу-воу, эк вы куда загнули :)
Заказчик 1 не самый последний банк в "загнивающей америке", IBM360/370, терминалы типа vt100, командная строка, учётная система на fortran и куча библиотек на чём угодно, не удивлюсь если там и на 1С есть :)
Заказчик 2 крупный химико-фарма, univac, терминалы от Adagio до графических станций HP QUADRO, куча софта от ассемблера до руби, основная база хим элементов codasyl fog. Каждый год идёт разговор о переезде на oracle, и понятно каждый год стоимость этого перехода растёт :)

Ну не было у меня проектов для ИТ компаний.
90. starik-2005 2659 28.06.22 18:04 Сейчас в теме
(89) У меня было много работ, но в нерезиновой сейчас четвертая официальная. Первая была торгово-производственной компанией. И там даже товарищ Гилев появлялся пару раз на заре, когда "голоса зовут". После Гилева там был батюшка, который побрызгал сервера святой водой. А теперь вот я затрудняюсь точно ответить, какой из этих двух товарищей действительно помог )))

Вторая работа - бизнес-тревел. У них там много было интересных внутренних проектов, а фронт-офис вообще был на java. Так что контора в ИТ просто громадные деньги вкладывала. Серваки одни стоили просто нереально.

Третья работа - бутик. Они постоянно хакатоны проводили. Я их даже вел.

Четвертая - структура при банке. Тоже много всего, но это как стимпанк - после управляемых форм на обычные, но там как раз движуха с обычных форм на управляемые - старые-новые переживания )))
77. armeec 1 21.06.22 16:09 Сейчас в теме
В статье описаны 2 подхода к программированию в решении задач: долго-качественно-дорого и быстро-тяп-ляп-дешево.
78. m_aster 92 22.06.22 11:52 Сейчас в теме
Вспоминается классика:
— Пойми, студент, сейчас к людям надо помягше... А на вопросы смотреть ширше.
Да, все правильно, надо писать как должно, не зря же существуют стандарты разработки.
И все же. Помню, в БП 2.0, когда обновлял, в форме поступления была ошибка масштабирования элементов формы, форма раскрывается, а элементы прежнего размера, в реализации все было нормально. Ощущение, что писали да разных человека. Подумал, забили, наверное, все внимание на 3.0. Так и в 3.0 сколько раз видел отступление от стандартов.
Были у нас во франче крутые ребята, сдавали по два, чуть ли не по три профессионала за день. Ездили на проекты. Потом через месяц звонит клиент, он так все красиво рассказал, чего-то делал, мы заплатили, но у нас ничего не работает.
Были и такие, съездит, сделает молчком, потом глбух звонит "А поговорить?".
А были и "простые" ребята, просто работали и приносили часы.
С людьми общаться надо, говорить на их языке, а как это реализовать их не должно касаться.
Все, конечно, понимают, что бесплатно ничего не делается. Для клиента важен результат, желательно в оговоренные сроки, как ты это будешь делать это другой вопрос.
На мой взгляд, у Серёжи талант именно в этой части, умение общаться с людьми.
Эта тема хорошо описана в книге Ли Якокки "Карьера менеджера".
babys; oldcopy; Светлый ум; +3 Ответить
81. kser87 2261 23.06.22 17:44 Сейчас в теме
Все мы немного Сережа
morin; babys; Tarlich; +3 Ответить
83. oldcopy 141 24.06.22 15:15 Сейчас в теме
(78) Так о том и речь. Заказчик не предоставляет ТЗ, он и слова такого не знает. У него есть проблема и ее надо решить. У проблемы есть значимость. Если проблема незначительная, но вы предложите для ее решения переписать полсистемы (может быть и вполне обосновано), то заказчик (тоже вполне обосновано) пошлет вас в пеший тур.

Можно, конечно, воротить нос, как некоторые, мол мелкие проекты не беру, из мелкой посуды не пью и т.д. Но так недолго и вообще без заказов остаться. Да и заказчик сегодня по мелочи, завтра по мелочи, а там и что-то крупное предложит.

Поэтому надо соизмерять свою техническую позицию со значимостью проблемы для заказчика. Где-то костылем подпереть не только можно, но и нужно.
babys; Светлый ум; +2 Ответить
91. chg 29.06.22 04:13 Сейчас в теме
Оставьте свое сообщение

См. также

Барометр настроений Промо

О жизни Бесплатно (free)

Мы предлагаем измерить настроение в отрасли 1С. Как чувствуют себя 1С-ники? Ценит ли ваш ИТ-отдел руководство компании? Что с зарплатой? Есть возможности для роста? А как вам коллеги? Вообще удовольствие от работы ощущается?

06.06.2019    9452    andmakarov    40    

Зарплатная спираль

О жизни Бесплатно (free)

Чего они там не понимают.

07.06.2022    2791    1c-intelligence    34    

Начинающие программисты боятся темноты

О жизни Бесплатно (free)

Самое сложное - НЕ писать код.

25.05.2022    4810    1c-intelligence    88    

Заградотряд

О жизни Бесплатно (free)

Очередная hr-дичь.

04.05.2022    4271    1c-intelligence    87    

Как провести конференцию разработчиков 1С в своем городе? Промо

О жизни Бесплатно (free)

25 ноября 2017 года в Омске прошла Первая открытая конференция разработчиков 1С. Спустя месяц по прошествии данного события я хотел бы вспомнить, с чего все начиналось, через что пришлось пройти организаторам, ну и что получилось в итоге.

11.01.2018    24164    Tavalik    35    

Крепостное право в ИТ

О жизни Бесплатно (free)

Угадайте, кто тут кого закрепостил?

26.04.2022    3785    1c-intelligence    52    

Знакомьтесь: Слесарь 1С. Профессия, которая уже захватила рынок

О жизни Бесплатно (free)

Куда докатился мир 1С.

14.07.2021    30651    1c-intelligence    152    

Экзорцизм программистскими методами Промо

О жизни Бесплатно (free)

Примеры из жизни о том, как инструменты на платформе 1С помогают компании изгонять зло.

24.08.2017    36128    1c-intelligence    59    

Пузырь, соломинка и лапоть. Что происходит с программистами 1С

О жизни Бесплатно (free)

Куда катится жёлтый мир

23.06.2021    14493    1c-intelligence    100    

Гугл-программисты. Как идиот набрал на работу идиотов

О жизни Бесплатно (free)

Реалии современного мира программирования

21.06.2021    7525    1c-intelligence    123    

Помолчи-ка, программист

О жизни Бесплатно (free)

Что бывает с шибко умными

17.06.2021    24982    1c-intelligence    69    

Крылатые афоризмы. Для разработчика, специалиста 1С Промо

О жизни Россия Бесплатно (free)

Часто слышу этот афоризм. Истории и поводы разные. Их объединяет одно : на вопрос "А кто автор, родитель афоризма" , ну очень многие не знают правильного ответа. Виктор Михайлович Глушков (24 августа 1923, Ростов-на-Дону — 30 января 1982, Киев) — выдающийся советский учёный, академик АН СССР (1964), один из пионеров отечественной кибернетики. Под его руководством в 1966 году была разработана первая персональная ЭВМ МИР-1 (машина для инженерных расчётов).

12.02.2011    36019    kompas-dm    39    

Красота, которая не спасла программиста

О жизни Бесплатно (free)

За что тебя приняли, за то тебя и уволят

15.06.2021    6997    1c-intelligence    80    

Мобильное приложение на 1С?

О жизни Мобильная разработка Мотивация, лидерство и личная эффективность Бесплатно (free)

История одного программиста, как он пришел в мир 1С и какой проделал путь к «мобильной платформе 1С». Какие выводы он для себя сделал, поработав с «мобильной платформой 1С».

18.05.2021    8002    dsdred    91    

Жёлтый челн. Часть 1. Выбор франча

О жизни 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

Как выбрать свой первый франч.

09.03.2021    6391    1c-intelligence    31    

О том, как русские в 1951 году создали первый в Европе "компьютер". Малая электронная счетная машина Промо

О жизни Бесплатно (free)

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

10.01.2016    30082    Gilev.Vyacheslav    43    

Переставляя кровати

О жизни Бесплатно (free)

Любимый способ избежать работы

18.09.2020    5245    1c-intelligence    19    

3% и вы

О жизни Мотивация, лидерство и личная эффективность Бесплатно (free)

Почему вам мало платят и так будет всегда

15.09.2020    8036    1c-intelligence    152    

Сумасшедший Билл Гейтс Промо

О жизни Бесплатно (free)

"Перед ним сидел Билл Гейтс. Он был уже старым и седым. Впрочем, игривый огонек в его глазах все также искрился, как и много лет назад." Публицистика к пятнице. Восстанавливаем добрые традиции Инфостарта. И, возможно, кто-то найдет для себя тему...

14.08.2015    27962    O-Planet    57    

Судьбы героев

О жизни Бесплатно (free)

Три истории особенных сотрудников. С загадками и отгадками.

30.07.2020    2403    1c-intelligence    12    

Верблюды и песочница. Джоэл Сполски

О жизни ИТ-компания Бесплатно (free)

Статья Джоэл Сполски про ценообразование программы. Эта статья написана в блоге в 2004 году. При подготовке к онлайн-конференции для партнеров (https://edu.infostart.ru/up2020) я вспомнил про нее, но не нашел русского перевода по старому адресу. Есть несколько других вариантов перевода, но у меня чудом сохранился оригинал. Восстанавливаю его здесь. Прошло уже 16 лет, но статья по прежнему актуальна и познавательна для разработчиков коммерческих решений.

24.04.2020    6061    support    35    

Как стать матерым штурмовиком, или истории из жизни

О жизни Бесплатно (free)

"Самое дорогое у человека — это жизнь. Она дается ему один раз, и прожить ее надо так, чтобы не было мучительно больно за бесцельно прожитые годы, чтобы не жег позор за подленькое и мелочное прошлое, чтобы, умирая, смог сказать: вся жизнь и все силы были отданы самому главному в мире - борьбе за освобождение человечества. И надо спешить жить. Ведь нелепая болезнь или какая-либо трагическая случайность могут прервать ее." Островский Н.А.

05.04.2020    5406    starik-2005    14    

Короткий экскурс в развитие для фрилансеров на личном примере Промо

О жизни Бесплатно (free)

Несколько советов фрилансерам, которые я писал лет 6 назад. Для начинающих будет интересно. Более интересные советы, думаю родятся из ваших вопросов. Эти советы в свое время позволили сразу выйти на уровень дохода от 200 т.р.. Сегодня ,конечно, это очень маленькая сумма для меня. Но, я думаю, 200 т.р. получать может каждый без гена раздолбая.

25.10.2013    33143    Shagzhin    42    

6 лет соло франчайзи 1С. Итоги

О жизни Бесплатно (free)

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

18.03.2020    16065    ogre2007    106    

Вычитал. Хочу. Делайте

О жизни Бесплатно (free)

"Идеи" руководства и их "реализация".

13.03.2020    8605    1c-intelligence    16    

На горизонте Промо

О жизни Россия Бесплатно (free)

Об одной обычной автоматизации, навеявшей размышления о внутреннем дао аутсорсинга...

23.07.2013    30801    O-Planet    82    

Как живут разработчики 1С во Вьетнаме

О жизни Бесплатно (free)

Xin chào, Инфостарт! Меня зовут Алексей Кондратьев. Я - технический директор компании 1C Vietnam LLC. В этой статье расскажу чем живут разработчики 1С во Вьетнаме и как попасть в их число. Все, о чем буду рассказывать далее - специфично для Вьетнама. Для партнеров в других странах и в самой Фирме 1С условия конечно же другие.

02.03.2020    12539    koal@1c    90    

Собеседование в луже крови

О жизни Бесплатно (free)

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

28.02.2020    10350    1c-intelligence    109    

Нетехническая статья про технические статьи

О жизни Бесплатно (free)

Отвечаю на многократные вопросы про написание технических статей.

25.02.2020    5061    1c-intelligence    60    

Гаджеты для одинэсника. Часть 2 Промо

О жизни ИТ-компания Бесплатно (free)

... ситуация с планшетами весь 2012-й год была достаточно запутана. То и дело всплывала какая-то модель, которая на некоторое время по отношению цена/качество привлекала к себе внимание. Я долго откладывал эту статью, ожидая лидеров, и они, наконец, обозначились...

20.03.2013    35575    O-Planet    61    

Журнал Белокаменцева, выпуск № 1

О жизни Бесплатно (free)

Короткие тексты на разные темы

19.02.2020    5282    1c-intelligence    59    

Чтобы пацанам было не стыдно показать

О жизни Бесплатно (free)

Манифест умирающей профессии

04.02.2020    12598    1c-intelligence    90    

Активный 2019 год на Инфостарт

Инфостарт О жизни Бесплатно (free)

О прошедшем 2019 годе в 100 и 500 словах.

26.12.2019    7148    YPermitin    25    

Делу время Промо

О жизни Бесплатно (free)

Не знаю как там у вас, а у нас, если программист сказал я через час подъеду, значит, дня через три он наверняка позвонит.

29.01.2013    23376    Yury1001    45    

Книжная абстиненция

О жизни Бесплатно (free)

Стоит ли читать книги?

19.11.2019    7445    1c-intelligence    66    

Крупный бизнес = продуманное ПО = вершина карьеры?

О жизни Бесплатно (free)

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

07.11.2019    44825    iov    34    

Почему не хватает 1Сников? Промо

О жизни Россия Бесплатно (free)

На рынке труда 1С предлагают нормальные деньги, часто нормальнее, чем в других отраслях АйТи, часовая ставка на услуги фирм франчайзи и на работы фрилансеров в данной области растут и при этом наблюдается деффицит специалистов. В этой статье попытаюсь ответить на вопрос почему так происходит...

27.07.2012    54330    piterantares    504    

6 шотов

О жизни Бесплатно (free)

Небольшие пятничные истории о взаимоотношениях в коллективе

01.11.2019    11068    sapervodichka    28    

Шорты Белокаменцева

О жизни Бесплатно (free)

Короткие версии старых статей

28.10.2019    9148    1c-intelligence    18    

Медвежьи услуги по требованию

О жизни Управление персоналом (HRM) Бесплатно (free)

О, сколько открытий чудных готовит нам профессия программиста 1С.

16.10.2019    14801    1c-intelligence    115    

Гаджеты для одинэсника. Часть 1 Промо

О жизни Бесплатно (free)

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

29.08.2012    35579    O-Planet    100    

Хороший заказчик - плохой заказчик

О жизни Россия Бесплатно (free)

Лайфхак о том, как стать легендарным клиентом.

13.09.2019    8591    dsdred    24    

Видя деньги

О жизни Бесплатно (free)

Немножко бизнес-программирования.

09.09.2019    9756    1c-intelligence    94    

Полюби Козла

О жизни Бесплатно (free)

Не пожалеешь

02.09.2019    8957    1c-intelligence    79    

Быть фрилансером Промо

О жизни Реклама, PR и маркетинг Россия Бесплатно (free)

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

17.08.2012    25264    O-Planet    38    

Аки Феникс

О жизни Бесплатно (free)

Про выгорание

17.08.2019    9343    1c-intelligence    21    

Автоматическое распознавание сканов документов и не только. История одной жизни...

О жизни Бесплатно (free)

В нашу жизнь все чаще и чаще внедряется искусственный интеллект, автоматизируются многие задачи, которые буквально 10 лет назад казались не реализуемыми в принципе. Сейчас все более актуальными становятся задачи автоматизации операторской работы, которые вытесняют человека или помогают ему упростить работу. Вот и мне захотелось поделится примерами такой автоматизации. За последние 4 года мне довелось более 10 раз внедрять подсистемы распознавания. Т. е. примерно каждые 4 месяца сталкиваюсь с задачами автоматизации распознавания и прикрепления сканов документов и похоже количество таких задач будет только возрастать. Хочу поделиться историями таких автоматизаций.

05.08.2019    11356    77dream77    10    

Как я буду мир спасать

О жизни Бесплатно (free)

Почему бы и нет?

30.07.2019    9495    1c-intelligence    78    

Корпоративный квест

О жизни Бесплатно (free)

Приём на работу ИТ-директоров в условиях легкого помешательства

06.07.2019    7820    1c-intelligence    56