michaelkoloboff: (Default)
[personal profile] michaelkoloboff
А я вам скажу почему программирование по ТЗ не работает. Потому что у исполнителя нет ни малейшего понимания процесса для которого он пишет. И это не только программистов касается.
Возьмем мой пример - монтаж компонентов. Грубо говоря есть 3 участника процесса: 1. Дизайн; 2. Производство; 3. Монтаж.
Дизайнер платы никогда на реальном производстве не был, изучил PCAD по серии книжек для чайников, и начал что-то рисовать на экране. Даже научился делать гербер-файлы просто как обезъяна выставляя параметры, рекомендованные производителем плат, в конце концов на его платы условыный резонит не плюется и он получает то что нарисовал. И паяет руками.
Когда эта плата попадет на монтаж ко мне - скорее всего я заебусь ее собирать, ибо нет реперов (производитель ПП не сказал - ему это не надо), компоненты не имеют точек Pick-and-Place - мне придется координаты каждого компоненты выставлять руками, если есть PnP - сами компоненты развернуты как было удобно дизайнеру, а не как они на ленте, значит все диоды окажутся включены в обратной полярности, и это тоже надо будет руками проверять прямо на станке, потом мне тупо не хватит емкости питателей, ибо под каждые 0.1мкФ 6.3В, 10В, 16В и 25В мне нужен отдельный фидер - дизайнер же не в курсе этого ограничения и т.д. Еще и ВОМ будет выполнен по ГОСТу что затрахаешся заказывать. Это что касается дизайна.
Но даже когда дизайн хороший, между нами есть еще производитель ПП, который тоже не в курсе моего производства. Он герберы получил, платы сделал, с гербером совпадает - к пуговицам претензии есть? А у платы нет технологических полей - мне ее не закрепить ни в принтере ни в установщике. Глобальные реперы на групповой заготовке не сделаны - он использовал локальные от дизайнера, и после нанесения пасты установщик не найдет черный репер на черной плате. Трафареты вырезали не по дизайнерским слоям пасты (кстати, дизайнеры в курсе как это сделать?), а по их внутреннему убеждению. Да, когда я заказываю ПП к ним в комплекте идет еще куча файлов:
1) собсно герберы платы
2) описание платы (материалы, размеры, акцент на особенностях, куда доставить, кому звонить с вопросами и т.д.)
3) герберы для изготовления трафаретов
4) чертеж групповой заготовки, со всеми полями, позициями реперов и проч.
5) к чертежу идет 5 файлов картинок чтобы наверняка - каждый угол заготовки и узел совмещения плат.
Это работает, не с первого раза, но худо-бедно удается объяснить (тем кто хочет понять). В конце концов в это ТЗ ткнешь носом, без разговоров переделают за их счет. Но время уже потеряно.
И щас вы скажете, ага! Хорошее ТЗ все решает. А вот нихуя. В эту кучу файлов вошло только то, в чем взгляды монтажника на процесс и производителя ПП не совпадают. Это наверно 5% всего, а совпадающие 95% нигде никем ни в каком ТЗ не описаны, это общее знание - ну зачем писать очевидные вещи вроде "Солнце встает на востоке, Волга впадает в Каспийское море, London is the capital of Great Britain". Ессно, рано или поздно появляеся программист новое дарование, которое три года училось чесать левое ухо правой пяткой, и закончило с красным дипломом, но общего знания у него нет (хорошо еще если спросит когда не знает "Гоги, бордо - это жёлтый, да?") и тогда ТЗ пополняется словами: если нарисовано отверстие - его сверлить, если площадка - не сверлить (реальный случай: пришлось объяснять, что дырочкам в трафарете соответствуют площадки на ПП).
(Здесь должна быть сцена в Египте из "Пятого элемента":
- Ты знаешь как это работает?
- Теоретически - да.
- Что значит теоретически?
- Я готов, но хуй не стоит.
- Знаешь как его активировать?
- Теоретически?)
В фильме это смешно. В реальной жизни совсем нет.
В чем разница между любителем и профессионалом? Любитель знает как, профессионал - зачем. Вот поэтому мне нужен программист в Малайзии, чтобы было понимание зачем проект делается, для чего его каждая часть нужна. Это реальная жизнь, реальная задача где надо увидеть своими глазами, потрогать руками и гайки покрутить. И чтобы мне не описывать на 500 страницах то что можно увидеть со всех сторон за 2 минуты. Мне от вас нужно понимание "зачем", а не один тупой скилл жонглирования операторами.
UPD ТЗ: Основная проблем в том что у исполнителя нет не только понимания, но нет и желания понять в принципе, отсюда все крики "заказчик сам не знает". Заказчик знает. У меня есть задача, требущая решения - я ее знаю, очевидно. Не знал бы о проблеме - вообще бы не суетился и спал крепко. И я ищу исполнителя, который 1) вникнет в задачу; 2) предложит решение; 3) его реализует - вот за это платятся деньги.
А исполнитель мне не решение предлагает, а требует "вы мне напишите решение, а я его на node.js перетолмачу". Это ни 1, ни 2 и даже ни 3++, это всего лишь перевод готового текста с человечского на процессорный. Причем за этот гугло-перевод почему-то ожидается получение денег как за 1+2+3. (Речь не о деньгах вообще и не о сумме в частности, а о подходе).

Date: 2017-01-01 02:47 am (UTC)
From: [identity profile] michaelkoloboff.livejournal.com
Ты мог бы быть настоящим программистом ))
Мне как заказчику пофигу как вы проводите работы и ваши особенности, ибо вы решаете мою задачу, а не я вашу, вы и вникайте. Если вам чтобы выполнить работу нужно знание в моей области - это как раз то что я и предлагаю: приезжайте, я дам доступ к процессу в любое время и в сопровождении специалиста чтобы ответить на любые ваши вопросы.
Пример. Мне дают на монтаж проект, заказчика не интересует как я буду с ним трахаться чтобы выполнить - он не специалист, он просто платит деньги за решение его задачи. Я могу посоветовать изменить проект (если это возможно) чтобы упростить, ускорить и удешевить работу над ним - это и в моих интересах и в его. Аналогичного подхода я жду от своих исполнителей - я не собираюсь изучать РНР или геологию, на кой хуй тогда вы мне будете нужны?

Profile

michaelkoloboff: (Default)
michaelkoloboff

February 2026

S M T W T F S
12 34 56 7
8 91011121314
15161718192021
22232425262728

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 9th, 2026 07:35 pm
Powered by Dreamwidth Studios