Волшебные пендели
Dec. 31st, 2016 12:37 pmА я вам скажу почему программирование по ТЗ не работает. Потому что у исполнителя нет ни малейшего понимания процесса для которого он пишет. И это не только программистов касается.
Возьмем мой пример - монтаж компонентов. Грубо говоря есть 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. (Речь не о деньгах вообще и не о сумме в частности, а о подходе).
Возьмем мой пример - монтаж компонентов. Грубо говоря есть 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. (Речь не о деньгах вообще и не о сумме в частности, а о подходе).
no subject
Date: 2016-12-31 10:37 am (UTC)no subject
Date: 2016-12-31 01:58 pm (UTC)no subject
Date: 2016-12-31 03:26 pm (UTC)no subject
Date: 2016-12-31 03:28 pm (UTC)Ð¢Ñ Ð·Ð° Ñлками боÑа не видиÑÑ
Date: 2016-12-31 11:30 am (UTC)>Ñ Ð¸ÑполниÑÐµÐ»Ñ Ð½ÐµÑ Ð½Ð¸ малейÑего пониманиÑ
>.... поÑок ÑÐ¾Ð·Ð½Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñкипан...
Ð¢Ñ Ð·Ð° Ñвоим пÑимеÑом пÑопÑÑÑил Ñамое инÑеÑеÑное - ÑÑо ÑÑÑ ÐµÑÑÑ Ð´Ð²Ðµ пÑоблемÑ. ÐÑоблема Ð½Ð¾Ð¼ÐµÑ Ð°Ð´Ñн: когда Ñ Ð¸ÑполниÑÐµÐ»Ñ ÐµÑÑÑ Ñ Ð¾ÑÑ Ð¼Ð°Ð»ÐµÐ¹Ñее понимание, Ñо Ñ ÑÐµÐ±Ñ Ð½Ð° Ñакого иÑполниÑÐµÐ»Ñ Ð±Ð°Ð±Ð»Ð° не Ñ Ð²Ð°ÑиÑ. "ТÑ" - ÑÑо не конкÑеÑно ÑÑ, а 90% пÑоÑенÑов Ð¼ÐµÐ»ÐºÐ¸Ñ -ÑÑÐµÐ´Ð½Ð¸Ñ -да и кÑÑпнÑÑ ÐºÐ¾Ð½ÑоÑ. ÐÑе Ñ ÐºÐ¾Ð³Ð¾-Ñо бало еÑÑÑ, а желание оное бабло оÑдаваÑÑ Ð¸ÑполниÑÐµÐ»Ñ - неÑÑ. Тогда в дело Ð¸Ð´ÐµÑ Ñо ÑÑо "Ð¼Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°", "Ñ Ð¾ÑоÑий ÑпеÑиалиÑÑ ÑабоÑÐ°ÐµÑ Ð½Ðµ за денÑги", "ÑÑ Ð¶Ðµ - пÑоÑеÑионал" и ÑÑ Ð´Ñ. ÐÑоблема Ð½Ð¾Ð¼ÐµÑ Ð´Ð²Ð°: Ñе ÑÑо Ñ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸ÐµÐ¼, на ÑÑо ведÑÑÑÑ Ñедко, еÑли вообÑе.
ÐÑÑÑда имеем ÑиÑÑаÑÐ¸Ñ - когда поÑеÑав ÑÑ Ð¾ левой пÑÑкой паÑÑ Ð»ÐµÑ Ð¸Ð¼ÐµÐµÐ¼ заÑплаÑÑ. Ð Ð²Ð¾Ñ Ð²ÑÑе ÑÑой заÑплаÑÑ Ð½Ð¸ ÑÑ Ð½Ð¸ÐºÑо дÑÑгой плаиÑÑ Ð½Ðµ бÑдеÑ. ÐÑÑÑда вопÑÐ¾Ñ - наÑига делаÑÑ Ñего-Ñо еÑе?
Re: Ð¢Ñ Ð·Ð° Ñлками боÑа не видиÑÑ
Date: 2016-12-31 11:55 am (UTC)РиÑполниÑÐµÐ»Ñ Ð¼Ð½Ðµ не ÑеÑение пÑедлагаеÑ, а ÑÑебÑÐµÑ "Ð²Ñ Ð¼Ð½Ðµ напиÑиÑе ÑеÑение, а Ñ ÐµÐ³Ð¾ на node.js пеÑеÑолмаÑÑ". ÐÑо ни 1, ни 2 и даже ни 3++, ÑÑо вÑего лиÑÑ Ð¿ÐµÑевод гоÑового ÑекÑÑа Ñ ÑеловеÑÑкого на пÑоÑеÑÑоÑнÑй. ÐÑиÑем за ÑÑÐ¾Ñ Ð³Ñгло-пеÑевод поÑемÑ-Ñо ожидаеÑÑÑ Ð¿Ð¾Ð»ÑÑение денег как за 1+2+3.
Re: Ð¢Ñ Ð·Ð° Ñлками боÑа не видиÑÑ
Date: 2016-12-31 01:31 pm (UTC)>>2) пÑÐµÐ´Ð»Ð¾Ð¶Ð¸Ñ ÑеÑение;
аналиÑик Ð´Ð»Ñ ÑÑого нÑжен, и ÑÐµÑ Ð½Ð¸ÑеÑкий дизайнеÑ, ÑÑÐ¾Ð±Ñ ÑпÑÑеннÑе вами бизнеÑ-ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑовеÑиÑÑ Ð½Ð° непÑоÑивоÑеÑивоÑÑÑ, полноÑÑ, ÑвÑзноÑÑÑ; ÑÑÐ¾Ð±Ñ ÑазÑабоÑаÑÑ ÑооÑвеÑÑÑвÑÑÑее ÑÑнкÑионалÑное опиÑание и ÑÐµÑ Ð½Ð¸ÑеÑкие ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÑазÑабоÑÑика(ов) и ÑеÑÑеÑа(ов)
>>ÑÑо вÑего лиÑÑ Ð¿ÐµÑевод гоÑового ÑекÑÑа Ñ ÑеловеÑÑкого на пÑоÑеÑÑоÑнÑй
1+2+3 в одном лиÑе - кадÑÑ Ñ Ð¾ÑоÑего каÑеÑÑва Ð²Ñ Ð²ÑÑд ли найдеÑе. ÐÑоÑеÑÑÐ¸Ð¾Ð½Ð°Ð»Ñ Ñем далÑÑе, Ñем ÑилÑнее ÑпеÑиализиÑованÑ.
Re: Ð¢Ñ Ð·Ð° Ñлками боÑа не видиÑÑ
Date: 2016-12-31 02:41 pm (UTC)РазÑÑв Ð¼ÐµÐ¶Ð´Ñ ÑеалÑноÑÑÑÑ Ð¸ виÑÑÑалÑноÑÑÑÑ Ð²ÐµÑÑма ÑÑÑов. ÐапÑимеÑ, Ñ Ð·Ð½Ð°Ñ, ÑÑо Ð¼Ð¾Ñ Ð¿Ð»Ð°Ñа 15мм в диамеÑÑе, но когда Ð²Ð¸Ð¶Ñ ÐµÐµ на 24-дÑймовом мониÑоÑе ÑÑо абÑÑÑакÑное знание не Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ - еÑÑно Ñмом вÑе понимаÑÑ ÑазниÑÑ Ð² ÑазмеÑÐ°Ñ , но когда беÑеÑÑ ÑÑÑ Ð¿Ð»Ð°ÑÑ Ð² ÑÑки - иÑпÑÑваеÑÑ Ñок ÐºÐ°ÐºÐ°Ñ Ð¶Ðµ она маленÑÐºÐ°Ñ "на Ñамом деле"™ в ÑеалÑном миÑе.
no subject
Date: 2016-12-31 05:26 pm (UTC)no subject
Date: 2016-12-31 06:14 pm (UTC)Ð¢Ñ Ð¿Ð¾Ð¹Ð¼Ð°Ð» ÑÑÑÑ.
ÐÑ Ð¸ Ñак же пÑавилÑÐ½Ð°Ñ Ð¸Ð´ÐµÑ, ÑÑÐ¾Ð±Ñ Ð¿ÑогÑаммиÑÑ Ñидел ÑÑÑ Ð¶Ðµ, и видел как оно ÑабоÑÐ°ÐµÑ Ð¸ ÑÑкалÑÑ Ð¼Ð¾Ñдой в Ñвои "опÑимизаÑии". ÐÑе лÑÑÑе, еÑли пÑогÑаммиÑÑ Ð±ÑÐ´ÐµÑ ÑидеÑÑ Ñ Ñобой неÑколÑко Ð»ÐµÑ Ð¿Ð¾Ð´ÑÑд, пÑоÑÑо ÑÑÐ¾Ð±Ñ Ð½Ð¾Ð²Ð¾Ð¼Ñ ÐºÐ°Ð¶Ð´Ñй год не обÑÑÑнÑÑÑ Ð²ÑÑкие важнÑе мелоÑи, коÑоÑÑе нигде не напиÑанÑ, но каждÑй ÑабоÑаÑÑий Ð¸Ñ Ð·Ð½Ð°ÐµÑ.
Ð, Ñаки, да - ТРниÑего не ÑеÑиÑ, пÑоÑÑо поÑомÑ, ÑÑо вÑе возможнÑе нÑанÑÑ Ð² ТРне помеÑаÑÑÑÑ, даже в Ñ Ð¾ÑоÑее.
Ð Ñ ÑÑо вÑÑ Ð·Ð½Ð°Ñ Ð¸ÑклÑÑиÑелÑно поÑомÑ, ÑÑо ÑабоÑал Ñ Ð¸Ð½Ð¶ÐµÐ½ÐµÑами-пÑоекÑиÑовÑиками вплоÑнÑÑ. Сидел Ð±Ñ Ð² "пÑогÑаммиÑÑкой ÑиÑме" - Ñоже Ð±Ñ ÑаÑÑказÑвал Ñказки пÑо "наÑÑоÑÑÐ¸Ñ Ð¿ÑоÑеÑÑионалов", коÑоÑÑе одним движением бÑови ÑеÑаÑÑ Ð»ÑбÑе инженеÑнÑе задаÑи.
СейÑÐ°Ñ Ð²Ð¾Ñ, как Ñаз, ÑÐ¸Ð¶Ñ Ð² Ñакой ÑиÑме и ÑÐ¸Ñ Ð¾ ÑÐ¶Ñ - индÑÑÑкие пÑогÑаммиÑÑÑ Ð¿ÑÑаÑÑÑÑ Ð¿ÑидÑмаÑÑ Ð¾ÑеÑедной велоÑипед в облаÑÑи, пÑо коÑоÑÑÑ Ð¾Ð½Ð¸ ниÑего не знаÑÑ Ð¾Ñ Ñлова вообÑе. ÐÑоÑеÑÑионалÑ, да :)
no subject
Date: 2017-01-01 02:50 am (UTC)no subject
Date: 2016-12-31 06:32 pm (UTC)ÐаказÑики в маÑÑе Ñвоей не знаÑÑ ÐºÐ°Ðº пÑоводÑÑÑÑ ÑабоÑÑ, Ð¸Ñ Ð¿Ð¾ÑÑдок и оÑобенноÑÑи. Ðо Ñ Ð¾ÑÑÑ Ð¾ÑÐµÐ½Ñ Ð´ÐµÑево, оÑенÑ-оÑÐµÐ½Ñ Ð±ÑÑÑÑо и ÑдовлеÑвоÑиÑÑ Ð²Ñе Ð¸Ñ ÐºÐ°Ð¿ÑизÑ, ибо они плаÑÑÑ ÐÐÐЬÐÐ(!!!). ÐÑи ÑÑом какое-либо желание ÑÑо-Ñо ÑзнаÑÑ Ð¿Ñо ÑабоÑÑ - оÑÑÑÑÑÑвÑÐµÑ Ð² пÑинÑипе.
ÐÑÑÑда и каÑаÑÑÑоÑиÑеÑкое падение каÑеÑÑва пÑоводимÑÑ ÑабоÑ.
no subject
Date: 2017-01-01 02:47 am (UTC)Ðне как заказÑÐ¸ÐºÑ Ð¿Ð¾ÑÐ¸Ð³Ñ ÐºÐ°Ðº Ð²Ñ Ð¿ÑоводиÑе ÑабоÑÑ Ð¸ ваÑи оÑобенноÑÑи, ибо Ð²Ñ ÑеÑаеÑе Ð¼Ð¾Ñ Ð·Ð°Ð´Ð°ÑÑ, а не Ñ Ð²Ð°ÑÑ, Ð²Ñ Ð¸ вникайÑе. ÐÑли вам ÑÑÐ¾Ð±Ñ Ð²ÑполниÑÑ ÑабоÑÑ Ð½Ñжно знание в моей облаÑÑи - ÑÑо как Ñаз Ñо ÑÑо Ñ Ð¸ пÑедлагаÑ: пÑиезжайÑе, Ñ Ð´Ð°Ð¼ доÑÑÑп к пÑоÑеÑÑÑ Ð² лÑбое вÑÐµÐ¼Ñ Ð¸ в ÑопÑовождении ÑпеÑиалиÑÑа ÑÑÐ¾Ð±Ñ Ð¾ÑвеÑиÑÑ Ð½Ð° лÑбÑе ваÑи вопÑоÑÑ.
ÐÑимеÑ. Ðне даÑÑ Ð½Ð° монÑаж пÑоекÑ, заказÑика не инÑеÑеÑÑÐµÑ ÐºÐ°Ðº Ñ Ð±ÑÐ´Ñ Ñ Ð½Ð¸Ð¼ ÑÑÐ°Ñ Ð°ÑÑÑÑ ÑÑÐ¾Ð±Ñ Ð²ÑполниÑÑ - он не ÑпеÑиалиÑÑ, он пÑоÑÑо плаÑÐ¸Ñ Ð´ÐµÐ½Ñги за ÑеÑение его задаÑи. Я Ð¼Ð¾Ð³Ñ Ð¿Ð¾ÑовеÑоваÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð¿ÑÐ¾ÐµÐºÑ (еÑли ÑÑо возможно) ÑÑÐ¾Ð±Ñ ÑпÑоÑÑиÑÑ, ÑÑкоÑиÑÑ Ð¸ ÑдеÑевиÑÑ ÑабоÑÑ Ð½Ð°Ð´ ним - ÑÑо и в Ð¼Ð¾Ð¸Ñ Ð¸Ð½ÑеÑеÑÐ°Ñ Ð¸ в его. ÐналогиÑного Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð° Ñ Ð¶Ð´Ñ Ð¾Ñ ÑÐ²Ð¾Ð¸Ñ Ð¸ÑполниÑелей - Ñ Ð½Ðµ ÑобиÑаÑÑÑ Ð¸Ð·ÑÑаÑÑ Ð ÐРили геологиÑ, на кой Ñ Ñй Ñогда Ð²Ñ Ð¼Ð½Ðµ бÑдеÑе нÑжнÑ?
no subject
Date: 2017-01-01 09:13 am (UTC)no subject
Date: 2017-01-01 09:45 am (UTC)