Так что в хорошо спроектированных языках процент хорошего кода будет выше
Вполне возможно, но там говнокод будет уходить на уровень архитектуры.
Я-то с вами по сути не спорю — вполне допускаю, что в сфере 1С процент говнокода выше, чем в системах такого же масштаба и предметной области, написанных не на 1С. Проверить, увы, не могу.
Я только мягко намекаю, что виноват в говнокоде не язык, а конкретный человек. Если какое-то решение на 1С без говнокода написать нельзя — возможно, не стоило использовать 1С?
А может быть вмешались экономические факторы и конечному заказчику на говнокод плевать и это было осознанное решение разработчика?
Точно, а если посмотреть на количество примеров кода на «говнокод.ру», то C++ и С# обходят 1С, вот они — истинные языки для говнокодеров.
Язык подталкивает к говнокоду, марка автомобиля подталкивает к нарушениям ПДД, нож подталкивает к убийству, гениталии подталкивают к изнасилованиям, знак зодиака — к будущей профессии. Так?
Можно обсуждать вопрос «исторически так сложилось что в конкретной области больший процент инженеров/ученых/дизайнеров/бухгалтеров, что накладывает отпечаток на написанный код», но «подталкивает» к говнокоду — отсутствие времени/знаний/мотивации писать хороший код, а никак не язык.
любой поведенческий? Что-то на уровне платформы (те же подписки/«наблюдатель» и версионирование/«снимок»), что-то реализуется на уровне кода.
Даже фирма 1С почему-то не выпускает отдельный сервис для расчета себестоимости. А все потому, что очень много зависимостей для расчета которые необходимо собирать.
«даже» тут не подходит. Фирма 1С в принципе не заинтересована в усложнении поддержки решений (а пачку отдельных сервисов администрировать сложнее, чем один монолит). При этом, внутри конфигурации вполне себе существуют условно-независимые подсистемы, а вне — множество отраслевых решений, которые в основную базу не встраиваются (я уж про всякие 1С:MDM не говорю).
Тут просто «так исторически сложилось».
Изначально сертификация была двух уровней — пользовательский «Профессионал» и внедренческий «Специалист».
В рамках сертификации для «чистых» разработчиков ("… по платформе") те же два уровня оставили, для единообразия. Сертификации же «1С Джуниор» до 2020 не было вообще и она еще официально не является обязательной для получения следующей за ней «лычки».
А от кого еще оно может зависеть? Сидит такой программист на заводе, повышать его некуда, в штатном расписании есть только «оператор ЭВМ» и «системный администратор». Как оценить его квалификацию — никто не знает. Подчинили его какому-нибудь главному инженеру, которого волнуют станки, а компьютером он и не пользуется.
Остаются только хорошие отношения с руководством (и я не про коррупцию и кумовство).
Если не занимается автоматизацией бухучета — нет.
Если занимается, но есть аналитик/поставновщик задач — то достаточно базовые понятия знать (счет, дебет, кредит).
Ответ тот же — зависит от того, кого компания считает более ценным или от чьих услуг готовы легче отказаться. Чаще, ИМХО, это именно 1С-ник — если он один в компании, потому что за продавца вступятся его коллеги и начальник, а программист непонятно чем занят (хорошо если главбух его хвалит).
Конкретный продавец может делать компании процентов 30 прибыли. Видел такое — продавец пришел в компанию со своим клиентом. Одним, но крупным. И уйдет тоже вместе с ним (клиент не хочет работать с кем-то другим). Там весь отдел 1С-ников под жопу пнут, если он пригрозит уйти =) (компания не торговая, а из сферы услуг, посредник).
Зависит от конкретной ситуации все.
Но в не-IT компаниях часто нет понимания — нафига тут сидит какой-то программист и какая от него польза. Клиентам ничего не продает, деньги за товар не выбивает, а зарплату получает регулярно и возможно даже выше, чем пара-тройка продавцов. Поэтому и отношение может быть «подай-принеси».
И я не могу сказать, что они в чем-то сильно не правы — зачастую такие фирмы вполне могут работать и без программиста (а то и без программы вообще). Ну да, что-то придется в экселе считать, какие-то новые возможности не появятся. Наймут на зарплату одного программиста трех студентов и вопрос решится =)
С другой стороны, в одной компании оценивали доработку системы в человеко-часах пользователей. Т.е. «мы заплатили N денег программисту, но сэкономили 5 секунд на вводе документа, у нас таких документов 500 в день, в год это M человеко-часов оператора с зарплатой X. Если MX < N, то доработка очень выгодна». Там отношение было нормальное вполне.
Это если они понимают, кто конкретно им нужен. Это не всегда так. При этом платить хорошие деньги готовы, условия неплохие, люди — адекватные. Но автоматизация процессов на уровне экселя, а фирма растет.
Для торговой компании? Да. Продавец «зарабатывает деньги». Программист — статья расхода. Точный выхлоп от его деятельности не всегда ясен.
Если 1С-ник просто обновляет бухгалтерию и рисует отчетики — то он в лучшем случае экономит немного времени бухгалтеру при сдаче отчетности и начальнику отдела, при расчете KPI для продавцов.
Если фирма действительно автоматизирует свою деятельность, то отношение может меняться, но только если «польза от программиста» с точки зрения бизнеса больше, чем «нанять за те же деньги еще пару девочек на обзвон клиентов».
«Квалификация» вообще понятие сугубо субъективное (по крайней мере в контексте найма 1С-ников).
У меня сравнительно большой стаж в 1С, поэтому когда работу ищу, предложений получаю много. Но при этом, 90% предложений отметаются сразу, по причине несовпадения конкретно моих навыков и конкретных требований работодателя.
Условно — не знаю и не хочу знать бухучет и вопросы расчета зарплаты, а работодателю нужен человек именно для обслуживания этих процессов.
Требуются знания какой-то специфической отраслевки (да, я могу ее изучить, но мне это не интересно).
Требуется внедрение незнакомого мне решения (опять же — я могу его изучить, но это ожидание для заказчика и нет уверенности, что эти знания мне пригодятся).
И так далее. Можно ли считать при этом, что я менее квалифицирован, чем 1С-ник, который знает бухучет лучше главного бухгалтера? С точки зрения конкретного работодателя — вполне. И соответственно, мои зарплатные ожидания для него будут смотреться дико.
«Мир 1С» он разнообразен. Одно дело «мальчик-программист» (любого возраста), который вон еще вчера и принтер настраивал и сетку тянул если попросят, другое — нанятый под конкретный проект разработчик, и совсем третье — когда внутри фирмы самозарождается «отдел разработки» (с начальниками, аналитиками, QA и т.д.). Я уж не говорю про то, что в «мире 1С» очень многие вещи делаются с привлечением аутсорсеров (фирмы-франчайзи 1С).
Автор говорит в первую очередь про первый вариант (одинокий программист в штате завода, на котором и обновления бухгалтерии и доработки какой-то внутренней системы на 1С, и техподдержка со сбором требований).
Вопрос, как вы думаете, правильно ли было делать названия ф-ций, процедур и технических сообщений в ней на русском? UTF8 же, так можно делать, но нет мы ВСЁ писали на английском
В других темах уже писал, но повторюсь.
Есть в DDD (domain driven development) понятие «единый язык» — набор терминов, который одинаково понимается всеми участниками команды разработки (разработчиками, аналитиками, экспертами).
В случае 1С, где в процентах этак 70 (а лет 10 назад в 99), в качестве «участников» были программист и какой-то из пользователей, плодить лишние промежуточные сущности на английском языке в такой ситуации — нецелесообразно.
Если над проектом работает большая команда — да, вполне можно позволить себе заниматься техническим переводом названий объектов предметной области на английский язык (если приняли решение писать на английском).
Вообще, надо просто принять доминирующее положение русскоязычного синтаксиса в 1С как «исторически сложившийся стайл гайд». Где-то принято использовать табуляции, где-то пробелы, кто-то переносит открывающие операторные скобки на новую строку, кто-то пишет в строке с условиями, а 1С-ники пишут на русском.
Но это ограничение не 1С как платформы, а предметной области, разве нет?
Вполне возможно, но там говнокод будет уходить на уровень архитектуры.
Я-то с вами по сути не спорю — вполне допускаю, что в сфере 1С процент говнокода выше, чем в системах такого же масштаба и предметной области, написанных не на 1С. Проверить, увы, не могу.
Я только мягко намекаю, что виноват в говнокоде не язык, а конкретный человек. Если какое-то решение на 1С без говнокода написать нельзя — возможно, не стоило использовать 1С?
А может быть вмешались экономические факторы и конечному заказчику на говнокод плевать и это было осознанное решение разработчика?
Язык подталкивает к говнокоду, марка автомобиля подталкивает к нарушениям ПДД, нож подталкивает к убийству, гениталии подталкивают к изнасилованиям, знак зодиака — к будущей профессии. Так?
Можно обсуждать вопрос «исторически так сложилось что в конкретной области больший процент инженеров/ученых/дизайнеров/бухгалтеров, что накладывает отпечаток на написанный код», но «подталкивает» к говнокоду — отсутствие времени/знаний/мотивации писать хороший код, а никак не язык.
любой поведенческий? Что-то на уровне платформы (те же подписки/«наблюдатель» и версионирование/«снимок»), что-то реализуется на уровне кода.
«даже» тут не подходит. Фирма 1С в принципе не заинтересована в усложнении поддержки решений (а пачку отдельных сервисов администрировать сложнее, чем один монолит). При этом, внутри конфигурации вполне себе существуют условно-независимые подсистемы, а вне — множество отраслевых решений, которые в основную базу не встраиваются (я уж про всякие 1С:MDM не говорю).
Любопытно, в чем именно вы видите «костыль на костыле»?
Тут просто «так исторически сложилось».
Изначально сертификация была двух уровней — пользовательский «Профессионал» и внедренческий «Специалист».
В рамках сертификации для «чистых» разработчиков ("… по платформе") те же два уровня оставили, для единообразия. Сертификации же «1С Джуниор» до 2020 не было вообще и она еще официально не является обязательной для получения следующей за ней «лычки».
Остаются только хорошие отношения с руководством (и я не про коррупцию и кумовство).
Если занимается, но есть аналитик/поставновщик задач — то достаточно базовые понятия знать (счет, дебет, кредит).
Нет, не все нормальные пишут. И нет, не все кто не пишет — не нормальные.
Зависит от конкретной ситуации все.
Но в не-IT компаниях часто нет понимания — нафига тут сидит какой-то программист и какая от него польза. Клиентам ничего не продает, деньги за товар не выбивает, а зарплату получает регулярно и возможно даже выше, чем пара-тройка продавцов. Поэтому и отношение может быть «подай-принеси».
И я не могу сказать, что они в чем-то сильно не правы — зачастую такие фирмы вполне могут работать и без программиста (а то и без программы вообще). Ну да, что-то придется в экселе считать, какие-то новые возможности не появятся. Наймут на зарплату одного программиста трех студентов и вопрос решится =)
С другой стороны, в одной компании оценивали доработку системы в человеко-часах пользователей. Т.е. «мы заплатили N денег программисту, но сэкономили 5 секунд на вводе документа, у нас таких документов 500 в день, в год это M человеко-часов оператора с зарплатой X. Если MX < N, то доработка очень выгодна». Там отношение было нормальное вполне.
Если 1С-ник просто обновляет бухгалтерию и рисует отчетики — то он в лучшем случае экономит немного времени бухгалтеру при сдаче отчетности и начальнику отдела, при расчете KPI для продавцов.
Если фирма действительно автоматизирует свою деятельность, то отношение может меняться, но только если «польза от программиста» с точки зрения бизнеса больше, чем «нанять за те же деньги еще пару девочек на обзвон клиентов».
У меня сравнительно большой стаж в 1С, поэтому когда работу ищу, предложений получаю много. Но при этом, 90% предложений отметаются сразу, по причине несовпадения конкретно моих навыков и конкретных требований работодателя.
Условно — не знаю и не хочу знать бухучет и вопросы расчета зарплаты, а работодателю нужен человек именно для обслуживания этих процессов.
Требуются знания какой-то специфической отраслевки (да, я могу ее изучить, но мне это не интересно).
Требуется внедрение незнакомого мне решения (опять же — я могу его изучить, но это ожидание для заказчика и нет уверенности, что эти знания мне пригодятся).
И так далее. Можно ли считать при этом, что я менее квалифицирован, чем 1С-ник, который знает бухучет лучше главного бухгалтера? С точки зрения конкретного работодателя — вполне. И соответственно, мои зарплатные ожидания для него будут смотреться дико.
Автор говорит в первую очередь про первый вариант (одинокий программист в штате завода, на котором и обновления бухгалтерии и доработки какой-то внутренней системы на 1С, и техподдержка со сбором требований).
В других темах уже писал, но повторюсь.
Есть в DDD (domain driven development) понятие «единый язык» — набор терминов, который одинаково понимается всеми участниками команды разработки (разработчиками, аналитиками, экспертами).
В случае 1С, где в процентах этак 70 (а лет 10 назад в 99), в качестве «участников» были программист и какой-то из пользователей, плодить лишние промежуточные сущности на английском языке в такой ситуации — нецелесообразно.
Если над проектом работает большая команда — да, вполне можно позволить себе заниматься техническим переводом названий объектов предметной области на английский язык (если приняли решение писать на английском).
Вообще, надо просто принять доминирующее положение русскоязычного синтаксиса в 1С как «исторически сложившийся стайл гайд». Где-то принято использовать табуляции, где-то пробелы, кто-то переносит открывающие операторные скобки на новую строку, кто-то пишет в строке с условиями, а 1С-ники пишут на русском.
Именуют. Первый же пример — SAP.