Как работать настоящим программистом и стоит ли стремиться уйти из 1С

30.09.22

Саморазвитие

Андрей Овсянкин на конференции Infostart Event 2021 Post-Apocalypse рассказал, какие трудности и приключения ждут 1С-ника, если тот решит стать «настоящим программистом». Докладчик показал, чем 1С выигрывает у других фреймворков и почему дрель – это ненужный инструмент.

Меня зовут Андрей Овсянкин, я – архитектор информационных систем. Периодически я меняю сферу деятельности и ухожу из 1С, но 1С при этом, как правило, из моей жизни никуда не уходит. Об этом и будет рассказ.

Для начала разберемся, в чем заключается работа программиста.

 

https://lh4.googleusercontent.com/oAFKjUZx6EVd7s-pQV8QC7trm89Hn2Kh3mk7zaUsX8_NAtPojuApo5xxH-tkrew95fvRUuEqbObNR7Ei9KAcAxw255-wrMV_V9bp8o7ktysv_BM12ELDCNpYbcYhJ9ySCpdm4LZqJ1P2YNBtMttgYaqcYxLUmNSnVxt8QQhpHFZ6Isg2F62UUmFOgg 

 

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

Программиста терпят, потому что без него нельзя обойтись.

Код – это всего лишь инструмент реализации бизнес-идеи. У заказчика есть классная идея, он знает как заработать, но он вынужден мириться с тем, что ему нужно нанять программиста и терпеть, пока он все это напишет. Код – это инструмент реализации. Заказчику совершенно наплевать на каком языке его идея реализуется.

https://lh6.googleusercontent.com/NbEbq0rVFuMSaK81k0bbFNlTIpXMJTtuLqOktIlszeLcv8DiIvYj6lg7DoNw65InRgb4fQbvXJhBhD5Sq68IAUXIDX4xTSKLfxNDgo0W-aH0uFrLmR6GfseYUDEyDAWHmrBFfqidJH6SBl5GcABHAxnIveggQMEb03McEPSA9MNdkwNnRtJYga7ZAQ 

 

Например, если мы хотим повесить картину, что для этого нужно?

  • нужно взять дрель

  • просверлить дырку

  • забить гвоздь

  • повесить картину.

В этой последовательности есть лишняя деталь – это дрель. Она совершенно не нужна, потому что миру нужны дырки.

https://lh5.googleusercontent.com/d0JSbOFrnXzcBtbj0AcuzJyLBu-0cFxNl2O2pTMPhElNtia32aaf8GYAvX_SurA0ubA-CPxagGobu3PIm3D2LOxKDqtxHVFNZCQMG0Rrs_krw06kI5dc9u8ikNOoLj7XHG7ke3XSqsFX3yHnIVkoSEBl2Mp8PECXtiAq9EbaiJ89Byv1yjv5TBF97Q

 

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

Программный код и программист в середине – ненужный посредник на пути к выручке. 

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

https://lh5.googleusercontent.com/f_VntbTKnODh-XgRzNoS1Kl0PpGs2Osxf5Qw1eYUyqG-xgATzfvBdVn0lUHXEy9vhlj-F5ON4c-TzC-vFtujCRwNjIbxobVv8Yi43I1xy9vYdepSLabeiKgYJKjDDd2zn9p_Gc_u6bLIaZ8M6U7a-jlgmierd7_8f8G81BzjegPUdoK9hA2lt-VyRw

 

Если вы поменяете язык программирования, для бизнеса вы так и останетесь ИТ-отделом:

  • сроки и оценки – никуда не денутся; 

  • баги и авралы, когда все сломалось, и все бегают как ошпаренные, – никуда не денутся;

  • нет никакой разницы, на каком языке вы делаете ошибки и опаздываете к дедлайну.

Даже с точки зрения удовольствия, работа программиста на другом языке совсем не отличается от работы программиста на 1С.

 

Как выглядит ИТ-отдел с точки зрения заказчика

 

https://lh5.googleusercontent.com/T8qjzxtRAgzKJy2C_fZEA7X4vw4-iblhahMJmrThQjaHfT2eoDZRi5Aa7MSeArhN0umpYd3F_bMuw0YBQNf1PgafQ5d9xMk_FOkHdOmpGSENIR_vy2I_meNOUXs6OLHc6j8bjbIuLq2-C_KO5C1cjaseH5JWsB3YxYNcO_3kbHVMHiyOOu32dYo22w

 

Заказчик видит ИТ-отдел так:

  • всегда долго;

  • говорят непонятно;

  • делают не то;

  • постоянно возникают ошибки;

  • неудобный интерфейс; 

  • да еще и дорого.

Обратите внимание, в этой формуле нет переменной «стек технологий».

https://lh6.googleusercontent.com/PT1yJu8brpsja7GLAvJbDnWeR-Vz0inZ26RemawtsSFhKR-CRcETxdeonvqWLz7AhwBM3a147N04ErJpUN3in_47wgUKxGkkv30VqkWX4He4PKirpasO5J39z-0G_BjE4CyzfZrLirepkoCJtuDhEtvvF5R2mTG4vxXPwRuPf2ITiTfLqnwHHadvSA

 

Если вы думаете, что вредные и неправильные заказчики есть только у 1С-ников, вы ошибаетесь. Заказчики всегда одинаковые.

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

https://lh3.googleusercontent.com/X3OIOVYYApqraCu--xTQ0Wdpq-YIbmQGhBmC_rzEqnbOffUdIhghSRQsD4tl_voCSZmnfwwKqmSNV-PwFRNG8Tp0v-qsZeyTg-Fm9oefuLPaQCdYwUv5U9c31okobW6QziLd2CumezJi8LsA0K_F01YrF_CbC3q5dudyRV6EujseHii4Fz1iv9glXQ

 

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

Коллеги, которые пишут на других языках, не будут умнее вас. Они будут такими же, а может даже еще и хуже.

 

https://lh6.googleusercontent.com/rfrO_LubC18eCuw-KqlKjEmLRGCFQFU-wTJZCyVnba1KzDjO6Wd-dWTwFGfnih-Jbpl3pYcrOdXTiSAe_JH4hiwwPRfAkS7xm9DiWXrrihDiRk3g5PAj8OFdpAgANiR6tqZ9-zBlELkTDLG12XZLVbJvp0KHQ--mi1AomwWEfmls77Hl62-OJqoGiQ

 

Я готов доказать тезисы, которые озвучил.

Расскажу свою историю – о том, как давным-давно программист 1С Андрей Овсянкин решил, что больше не хочет заниматься 1С и пойдет работать программистом на .NET.

Мой второй любимый язык программирования – это .NET. Первый – С++, а 1С – третий.

Я бросил 1С и устроился работать просто программистом: «Не хочу больше думать, хочу просто кодить в свое удовольствие. Просто отстаньте от меня, буду отдыхать».

Мою историю хорошо описывает название одной из книг Толкина – я сходил «туда и обратно».

 

1С-ники умнее, и я не шучу

 

https://lh4.googleusercontent.com/X_ePvP43ZN8WsimovE2jcnUL1fBDJGwhrFiYLSZrXZ8DS0ZhvVeQY0X_BYlJCUTOhfjq0tFFYsTte_bEg7pCGiShLMgbuG8brDRAD2n8ZZQbc54K0YxRi4haNJhYkDhlUTyuTgrhigoO5Ue2bujh5j-bifYOVBAidT9oR4uINMOFKg_Bb_NLldRTcA

 

В нашей отрасли во всех чатиках и форумах существуют такие мифы и легенды:

  • там интереснее работа;

  • там настоящая работа, а не только обслуживание бухгалтерии;

  • там больше платят; 

  • 1С – отстой;

  • на 1С нельзя сделать настоящее приложение.

https://lh5.googleusercontent.com/l3QKW4Z9cm2IxeuUH_Mm1l3iO6i6Mk8J3p_Y1dQ8FBJE65iCrTS9OMjdYDo39_gvfLzCdvyrfuIeHsJb4zRg9lyiJ0InWqC_HlNQX4eB9o9GvGJNRo9kittkMfb_hWlG4JLDEM_NXcPYUVoxTQpcqM_AWa9nIjYqBmjRDBAXJW1Fd1C7MiH6qTs27g

 

На самом деле 1С-ники сильно умнее настоящих программистов. Я не шучу. Я там был.

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

«Настоящие» программисты реально не понимают, что нужны не код и не программа, а достижение цели.

Они правда не понимают, зачем им поставлена задача. Они этим не интересуются. Из-за этого они теряют смысл того, что они пишут, и пишут не то. 

https://lh4.googleusercontent.com/OgG0-htpUuobOIM1MZ4CrZmzXrgFkIWEF4RWNCJTJu2wFKlDPAnSmQxe_ykX5AyJJW870A-fgO0fYzcSMBobCY_I9EI9y7tg0Ic6MQBv1NTXJwHNeySo1q-d21YySGqOT3_Pva5LIq_Vjgik_mr_CSx5wLU8a4ViBt6tX9Dkv-kSQAtE6e-PmAbOrw

 

В силу своей специфики работы у 1С-ника есть встроенный в голову хороший аналитик. 

1С-ники привыкли работать от процесса и бизнес-функций – они сначала думают «зачем делать», а потом уже «что делать».

Джаверы, дотнетчики и ПХПешники делают наоборот. Они не знают «зачем» делают. Они читают спецификацию ТЗ, и по ней работают. Если ТЗ написано плохо, то результат идет на помойку. Почему-то в их отраслях это считается нормой – я не знаю, почему так происходит.

Порядка 80% программистов на PHP, на Java, на .NET просто берут задачу и делают. Им сказали: «Взорви все» – они возьмут и взорвут, «удали таблицу» – удалят. Потом внезапно: «Ой, что-то пошло не так, я не так понял смысл». Потом на запуске модули не стыкуются, пересылается не то и, в целом, происходит караул. 

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

 

Ограничения 1С работают во благо

 

https://lh5.googleusercontent.com/hwPPer82RffDbJpUeYUr220DnBIkhHCgDkS_IhQPSwGhrD-FYfAfG5Dcug8u_rTxqqbtDIWZAkVxvzdOQoHo9kQQwS6V1JttoU_GgIQPpJErumbmlD5LZFqheVtexTfIUwneQuKd0Ocg6pNTFobMDoQx3wSlUHab4RIh8oNiKyYZOfGk7wHXN5njwg

 

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

Обычно говорят, что в 1С нельзя сделать все, а вот на языке «таком-то» можно сделать все, что захочешь. Наверное, это правда. Но вы не просто сможете сделать все, а вам придется делать все.

 

Работа с базой данных

 

https://lh4.googleusercontent.com/6rAL5G207ycStaU_KP3uM_2Gj_FEY68bON4u632Nva69f1FcESEzEuv0EVZPPidqQyVrpqVVYIQ-VJuoJUSIP1jdaL01sBwtZZzR1gqGmIwxHHaeHTWGz7eXPpW0xT5-Li5QtpDOZqpIw7L0Dj5vx8ddwj_3tzipiGMnkwu0nlrGQzd7bTuw7CZR4Q

 

Посмотрим, как это проявляется в работе с базами данных.

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

  • Например, в 1С только одна база данных. 

  • Все второстепенные источники данных работают либо через интеграцию, либо через веб-сервисы, либо как внешние источники данных. 

  • Нет соблазна налепить интеграцию «прочитаем из базы соседей».

В других промышленных решениях такие интеграции в порядке вещей:

  • Никто не ограничивает количество баз, с которыми может работать приложение. 

  • Там часто бывают интеграции по типу: «У наших соседей лежит база. Мы прямо из нее почитаем». Одна выборка из одной базы, другая – из другой, и выводим.

  • Потом другая команда удалила или переименовала какую-нибудь колонку в своей базе, и у вас все отвалилось. Они не будут вас уведомлять об изменениях. Это же их база, они не знают, что туда кто-то полез.

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

Для них это – норма жизни. Нам даже в голову не придет этим заниматься.

 

ORM-модель

 

https://lh3.googleusercontent.com/Jt0SIWsSK1DMSz8j_ZljQo-iFwHaBpuc5JtHgTQwI7dglxuud0zssPhsXJBqYGotU1Hp0ZC2Op4NIluAixvrGQiAxYWtXLECsyWxgN_saMskhFrqVwAsxQ5fh67zGkswwkpJXw3ryklD8lcLIvU5EowrHfcnDvC18aP0N_pcJc42bl5GwFQfA-unqA

 

То же самое с объектно ориентированной моделью – ORM-моделью, когда записи базы данных превращаются в объекты (справочники контрагентов и т.д.).

По моему мнению, в 1С ORM работает близко к идеалу: 

  • это происходит легко и прозрачно – мы пользуемся объектной моделью и даже не задумываемся о том, как эти данные забираются из базы;

  • 1С не пытается замести под ковер язык SQL – язык запросов 1С SQL-подобный;

  • С самых первых курсов, с младых ногтей всех 1С-ников натаскивают на производительность запросов и их оптимизацию. 

1С-ников этому учат, а в других стеках работать с ORM не учат. Из-за этого промышленный ORM выглядит как костыли и ад.

  • Они пытаются совсем спрятать от программиста язык SQL. В результате, он даже не знает порой как писать на SQL. 

  • То, что ему ORM-ка генерирует в виде запроса, очень легко превращается в миллион запросов в цикле, и он даже об этом не подозревает. Например, .NET-овская ORM-ка запросто может сделать запрос в цикле миллион раз и выдаст всего лишь незаметное предупреждение в лог (который будут читать, только когда продакшен встанет колом, ведь на машине программиста с тремя тестовыми записями в БД – все было хорошо).

  • Хочешь наименование ссылки – пиши явно. Для 1С наименование ссылки – это примитивная вещь: выбрал ссылки из базы данных, выводишь, а наименования сами подтянутся. У других программистов так не работает. Им нужно писать явно везде, каждый раз, всегда. Хочешь текстовое наименование? Выбирай текстовое наименование. С одной стороны, это вроде правильно, но с другой стороны сильно напрягает, и ты начинаешь скучать по 1С.

https://lh4.googleusercontent.com/hM_pYgkasDCfLUNGa1cTFUK18k1pkUFQC_c2_qqK8c8nhaMV8AdIElsgKFDVP-VCyXxWxyl9KMaquzff09RxNX8G1YSg5cusNT-Zepznpez8cHK38HvoBcVNuL3D_QWUDj11Yg6C_zJtAXbYdIpAZZnUrGn5dDS9IiUYJj8J-My5J2eoROWcxYSTvQ 

 

Еще один недостаток тех ORM-ок, у которых метаданные описываются в коде. 

Объекты, которые моделирует программист – это не бизнес-объекты, не бизнес-модель, и не прообраз записи в базу. Это какие-то франкенштейны, в которых половина полей служебные, «чтобы в базу легло», а половина – «чтобы бизнес-логика работала».

https://lh3.googleusercontent.com/wbyaAGemvq7XGUBFgN1hniug4sBzDJ3QRDz3J-_9hljRHeUFxGW2XFi2qVUvZ9umhCmdg_fBwRVxQloxQqdMUPogMi7SMI-Nw0CYLMz19L6Rhh2BIxLvDbFJ2W2oXFTSgxzlIQg0dk51ty-KZTRvJD2Ko3c5hrbIKPkj1NPf3uyWGrzApF3Le7q0CQ

 

Другие программисты не умеют строить модели данных и очень плохо проводят границы между доменами – где объект начинается, и где заканчивается.

Например, на слайде показан класс Customer (контрагент), у которого есть поля:

  • Id (ссылка)

  • Name (наименование)

  • BankId (ссылка на банк)

  • Bank (банк-объект)

  • Orders (заказы)

Вас не удивляет, что банк-объект находится сразу в контрагенте? Или что список заказов, который сделал контрагент, тоже находится сразу в объекте «контрагент»?

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

А другие программисты с легкостью могут налепить такой объект, который при считывании еще и всю историю заказов контрагента будет поднимать. И я не шучу, «настоящие» программисты даже не задаются мыслью: «А что не так?»

Мы лучше проектируем бизнес-модели, это просто факт – я с этим столкнулся на практике. Они не умеют проектировать модель данных. Понятно, что кто-то умеет, но в среднем – нет. Упрямо делают франкенштейнов с глазами на… не том месте, где стоило бы.

 

Архитектура

 

https://lh6.googleusercontent.com/sUzRgITaYkMR-abrUDlTFzMHOVupyrrBJt_qDTzXa2AUzudXIBBkRuutQ-X-3e_To7e3yUCr036wVs-hoAcRtPGKg2hMMKE-ZHOzAsqRSckKwCEIYeYVESxKg39HE_09YUgDqcjJpzVBx2b68tUH1NS9kVElb3jgih_e7AAxErBAJ9SANmeBxLbueQ

 

Логики «ПриЗаписи» или «ПередЗаписью» в большинстве ORM, как правило, нет.

Поэтому, чтобы объекты правильно работали, нужно прописывать очень много служебных обработчиков по бизнес-логике.

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

Чтобы реализовать логику «подписки на изменение» – например, при записи что-то досчитать или послать в кафку какое-то сообщение – нужен еще один архитектурный слой, который будет этим заниматься.

И так – по каждому бизнес-объекту.

https://lh6.googleusercontent.com/5TjmTRH-svP6J2hu_Hh4jD69padtayikN08bEA7Tk8SBq81nWLra0f-w072bTbNRTJqUpbNzMeOKGGYgfzW1BSNv_Bb-Ly6KdJr4C593L5TIhH3pwN9C6T2PJ5ohAenWp4uCPBxjW7p1c08pFH7ofKkCPgdX8lbaTR2m6CEcXDAKpqroUzWbagpO9g

 

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

А ниже уже слой БД, который будет объекты бизнес-логики перекладывать в базу данных.

https://lh3.googleusercontent.com/3ObbO0NDLZ7s5MJrSOUz-YjAZ5qfXjrNx-2ZNEUr9aLjlhzYhrhXB7vQijeaIEeLdyD6JIu5hoZ1PTKNo1tbk7eRIC77RB9u9zuZgThvKy8nwGp-ns-PW9gQV3tWH0glftZV-3QfAW5JKD8khPd8lJEwrHoSrJAcOHszCOUxf8AfccXglnQiJCudnw

 

Все эти слои надо написать:

  • вручную;

  • без ошибок;

  • без привнесения ненужных ответственностей и без перемешивания ответственности между слоями; 

  • срочно, потому что прибегает взволнованный менеджер и кричит. «нам нужно было это сделать еще вчера, пока вы будете это проектировать, поезд уйдет»;

Из-за этого никто ничего правильно не проектирует. Работает – и ладно. 

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

 

Индексы

 

https://lh6.googleusercontent.com/ZBCGLIqTeyO4S_HfX3uGf96y_-YfTMIsYMyeM4JGtjZeHSOEEJjCXXiRI-q0zN3aQruJFTtxoMJguAWqHe013k4kT_CedC_P9AhQDjbKdTeFsjb7CMvay4MY8m4uSWP6hOaIf1kgrZT6AnqCCZARX4PNKVqCu3RVb-SqdKdtyORfw3f4tZcYi0OYJA

 

Вас возмущает, что в 1С нельзя управлять индексами?

В других стеках программирования вам придется управлять вообще всеми индексами. 

Никто не создаст за вас даже примитивные индексы – вам об этом придется думать заранее и выяснять, какие индексы нужны.

Это еще не все. Из-за того, что обычные программисты избалованы ORM-ками и не знают SQL, они вообще не вдупляют, что такое индексы.

Я часто спрашиваю 1С-ников на собеседовании: «Что такое индекс в базе данных?». Худо-бедно мне отвечают. Кто-то правильнее, кто-то менее правильно, но отвечают.

Java и .NET программисты вообще не знают. Все, что они могут ответить: «Ну, индекс – это какая-то фигня в базе данных». И я сейчас не шучу. Там не считается позором этого не знать.

 

https://lh5.googleusercontent.com/vg_x-VCz45rstfyYW28G_t3nRny0YLCGvLWEftsa4-rJWpNM8L40MBCahvPMZyJEEpXi0j05xdRUMYGjVVu2V0531sfox4fsm4bset6DscvLBuwBKjeDxXHno_grEM1sb4JWgn-1aIl_z7NsSm_O7IkZNAC61IJCmRYaMjqvUQTTwFPEIjZD75l_-w

 

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

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

Оптимизацией запросов занимаются редко. 

  • Есть возможность добавить железа – добавляют. Не хватает индексов – DBA докидывает индексы. Программисты даже не знают, что они написали кривой запрос. Написали и написали – админ базы как-нибудь вывезет.

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

  • Тогда все переходят к пункту «добавим ядер и бог с ним», пока база не встанет совсем уже колом. И только тогда переписывают.

 

Клиент, Сервер и все-все-все

 

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

 

https://lh3.googleusercontent.com/_gKPXkBpzBJvYC3aLDu6Yrq0DqB3i8iCI1h_B4DUmCKlc-r0DCq7H9OjKcsBPUuh3C_nie8AchcYDsShzq8EviUJaTpBB_tUfy4tJOsjOEWjGJTmiXJsBS35VU5QiLyUYbOYNaeWGoFBgNO5MsOKWeT9T7pcxmkrOVO9YBujQ1f_vt-kaM9knB_J_g

 

В других стеках программирования клиент-серверное взаимодействие выглядит следующим образом:

  • Есть JavaScript-приложение в браузере;

  • Есть сервер, с его моделью классов, бизнес-логикой и базой данных;

  • Между ними путешествует JSON. 

https://lh6.googleusercontent.com/sAilCa5W4T5eh1iGqnUcznKU2aiA-s8FcjQN6Vu3PsHNi2qhs9YVNulr0dCt1qNQmNAn0j7DmXPgcguUM1UEWscnNKMxt5QqH-5mcpKwZHEPDIL5_ASW9nRcCTDB-y9Es_x5QjqEUuIaIhvM24nBFclfXnxMXH1B6utbPzTNppdy5XKNZpq74W9-NQ 

 

Казалось бы, все, как в 1С. Но клиент в данном случае – это другое приложение. Его пишет другая команда, например, на React. 

Другая команда вообще не интересуются, какая у вас бизнес-логика. Они ждут от вас только спецификацию, чтобы в этом ТЗ было написано «Поле Валюта должно быть недоступным, если снят флажок “Валютный договор”».

Вы должны будете написать ТЗ, чтобы они на JavaScript сделали такую клиентскую логику. 

Простейшую задачу «Сделать поле недоступным, если стоит флажок» вы в одиночку сделать не сможете, ее решение займет у вас неделю.

  • Вам нужно будет составить ТЗ, проверить результаты работы фронтендеров, провести интеграционное тестирование.

  • Вы напишете сервис, выставите и задокументируете API, объясните им модель данных, какие поля у этого договора есть, в каком порядке их надо вывести на форму. 

  • Фронтендеры будут делать задачу только по вашей спецификации. Они не хотят врубаться в бизнес-логику и в смысл задачи. Им надо рисовать кнопки, и чтобы от них отстали

Неделя – на выключение поля при установленном флажке! 1С-ник выполнит такую задачу за минуту и оставшееся время будет ругать 1С. 

https://lh5.googleusercontent.com/qNAhkvdnMyZvIoLaixImPz84k8AOXateTsgA4G5lD3tqADsKytWwWal-tJ6C0a8XeDWilMzAKHgwDT0_MSSVq0udDlJvo6CMHh6ZboU1cZfQ8jMURJju23gp1kE8lMI4lOqJVtFrhv7d5uPUDcZCeT_f_iqhvzcAG9QDWDYguI0iUxFLQwAzJGY7vA 

 

А потом вам, как серверному программисту, нужно: 

  • десериализовать JSON;

  • получить объектные поля и превратить их в объект, который у нас называется «СправочникОбъект» (то, что ляжет в базу данных);

  • как правило, объект из JSON и объект в базе данных почти совпадают по полям, но не совсем, поэтому вам придется поля перекладывать по одному – при этом никакого «ЗаполнитьЗначенияСвойств» из коробки нет: придется все писать руками;

  • не забыть про логирование, про права доступа, техжурнал, телеметрию;

  • сформировать ответ клиенту.

И так по каждому объекту, и, конечно, вручную.

 

https://lh6.googleusercontent.com/CbWR4YEW9MjWMYduFiq8txqtFFQg1ZN9AfpiIG5mIqV8OZzsVzVW-RgTe9j-T-GiftV3-gepH9LZh92sSuZiPcWCWzXv291VjoNBdHWVkq7IXUt_BMqWqDIAIf145Z-zeUS8kjMXdAY9yD3BLy56XAA3sSj0FL6tMM-z8xTdHr3Gft0GG-5qr-Jszg 

 

Вот так выглядит класс заказа с точки зрения бизнес-логики, базы данных и интерфейса – вроде один и тот же объект, их поля почти похожи, но приходится перекладывать все взад-вперед.

https://lh4.googleusercontent.com/BFpcQavqRqF3zeyFMp3ghLqOKMsIer8m1h9NefQQafLfkr4q-nIM9uzTUi9NY5idfR-3RIOqZDZBORbkffaA1dDcL6y_A-FEJKwEPwWdse3yh8K674CBPYcDrabHfczoVkCLwpcwFZWwEgDHTx4wY0lebWhuPV4MC9YfExWuxilOQnAZYVcEpXradw

 

Итого – при организации клиент-серверного взаимодействия приходится тратить неоправданно много усилий: 

  • Да, они все это пишут это с нуля, все слои.

  • Есть вспомогательные библиотеки, но они слишком универсальные, и ими надо уметь правильно пользоваться;

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

  • Получается спагетти-код – летающий макаронный монстр будет доволен.

 

Роли и права

 

https://lh4.googleusercontent.com/70O8Ps043lRh3JMmHKiIH0U6KqF5rVDWxmrAlSaclB4ZGATz9MIuYfS8OSH7_wlRMilZ--sZXxSseu-6XOgC6ncQZlbMiatuO4SEVLFhfdOPblBdnGQazTYsdE_ev8rlOK7T7aB5lWUn3LsMPqqQGiVoioHdtywc2EFEawV4aIvfsyNiw_8ga_FrrA

 

Роли – это бич не только других языков, но и 1С. 

  • Мы тоже любим проектировать роли «потом». 

  • Но у нас хотя бы есть роли.

  • А там ролей нет вообще – это значит, что и саму механику контроля прав тоже придется писать с нуля. 

  • Сначала неправильно, и потом неправильно, но лучше.

https://lh6.googleusercontent.com/QMeWcA1ipIX-HduiWKD95L65leDy_lDlss37XnYGQVAw2jrRsE1VKvAJiW70utuThdk0hWLpkjumJkcK0BncbtVgCscuWlL5f2H-Se4oBm8t1SmRZDy0-Y-AYvfg2esVBhplNTiHXL0nFQ33WD2Y1ul4uaY8PNVUFjIlsA9TjsTi294r32CU2Ersbw

 

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

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

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

А у них даже этого нет – им приходится все с нуля изобретать. И сроки опять затягиваются.

https://lh4.googleusercontent.com/h9QYqOu5s1ITdTriujifceKT5qC2AeCO6wXRftEkAYZYF5yWnOj55TL9nk__b8rAfYXOPL49CB-VpYSq0odGcGED34YHcfN6zaOHEhpFN0OIwoL6Jl5XH-aypL3gbuJJiaTiJKVH27bATP4J8d1vSIiHjJe5rBMH0Ul_-HhVLWf5NSu6olgKuMtpSQ

 

Мой любимый пример – как на 1С сохранить счет в PDF? Мы записываем табличный документ и сохраняем в PDF.

Как сохранить какой-то счет в PDF на Java? Бесплатной и хорошей библиотеки, чтобы скормить хороший макет в PDF нет ни на Java, ни на PHP, ни на .NET. 

Есть приложение html2pdf.exe, которым пользуются все, потому что он бесплатный. Это внешний процесс: вы его запускаете, кидаете ему HTML, а он вам конвертирует в PDF. Он бесплатный, но медленный, и результат часто получается кривой.

Есть хорошие платные библиотеки. Причем, чем лучше библиотека, тем жаднее ее авторы. 

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

 

Аналитика и постановка задач

 

https://lh5.googleusercontent.com/WDYQiIHSVfbqeK1uPEyggX4nMiF139EUxoskl4DeHIH1_6uudtXrCVnnqu0rpnyBw5tSfXnrkcdP3KxkjgqGIXxfA85eV_4fC1jTNj3FSfRISEgmWew95btKFlnl7ug57hX7k10Wf6t-8diKIdyg9DO5i7EcLu-oRuZ7XYkXPIsC4LtvzuYkYzKgTA

 

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

В других стеках программирования очень плохие аналитики. Это правда.

https://lh6.googleusercontent.com/jAf6NHBdtlJk0h4Dpxl5Sj8ZQVWzIuXM6WMNc-LjDTi2CZ2jIs7JaQz6ovwJGElyfvT8uDOCmhIjoab2Vxio2p0wDhtB9R9ZSgo_BioDtZHVUD2ldCjHdKEv2DGzd0YpxDrpnQayLrTbEdb1NpAcpfj5yx4d0RkiF9FdZPq_rjOUZbWJI8_-fgxkWQ 

 

1С-ники – лучшие аналитики из всех возможных. Они понимают бизнес и говорят на его языке. Они задают себе вопрос: «Зачем поставлена задача?».

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

А если еще и сроки горят, то: «а когда же мы код писать будем? Сократим время на написание ТЗ!». 

В итоге получаем короткое ТЗ из трех слов – как понял, так и реализовал. Реализовал не то, переделываем. Плюс еще технологические сложности.

Разработка бизнес-приложений на других языках, по сравнению с 1С, – это катастрофические потери времени. Мне просто жалко время и бизнес, который это заказывает.

 

А как же Agile?

 

https://lh4.googleusercontent.com/DSjvVYBJw-fF5uN3KqIUaR2ZFL-5gH65L8AD4mGBdA7Vej9Y4ZSnn6xzIw4Ic7PP86fz0yC5dfqSH35TP0QC85RNGgyfSDtBpHTb015eeS7qP5sLx5xTWdIgb1kTnJh3KnR0JGSbGRPR_QPCfodNng1-C7gx1RL2-gzggE8MotbT8Lpt1fNIul7j3Q

 

В этом плане хорош аджайл, но только если все играют по правилам. 

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

Если бизнес в середине спринта говорит: «Все, о чем мы три дня назад договаривались – идет лесом. Берем новые задачи в спринт», то это нифига не аджайл. 

Чаще всего происходит вторая ситуация. Реже, когда бизнес принял правила игры.

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

 

Стоит ли переходить из 1С на другие языки

 

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

https://lh5.googleusercontent.com/qhJd13ZC9tZ3ctUFg-sS6waeLXvGMP8qaDX8vNh5LYBQr9nXmBqB4WHyP0fGkOzyDr2RJuimqCgbfVuP6qVy9z4MPtL6W_709odFGXuwwQvrKWdFwRYsSJYwLVz1eKG84BgK0n00ba0OtN8o8EO_ShBd60Kjjy8QpNJghMVq-ZJYEF6lU98PJUxbfQ 

 

Нужно взвешивать плюсы и минусы. 

  • Например, в других языках есть объектно ориентированное программирование, классы, можно на низком уровне щупать байтики – это все очень интересно.

Но это не преимущество, а геморрой:

  • Как только дело доходит не до развлечения, а до конкретных задач с конкретными сроками, завязанными на вашу зарплату, то задача превращается в ужас, а не в развлечение.

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

  • Вы будете скучать по 1С, потому что потери времени на фигню будут просто катастрофические.

 

https://lh3.googleusercontent.com/IocBVJWEhtQDMa-CMWq49g4zHOww5Gfbk11cFOb2UQiiLfaHCynrUEU3OMRhoW0kwNoTmO7ylWCaoTdPzAeO7STg35FkuFR2o9EdOgXPBtEonSBZYZITePwcIWEQbByj4vmOJ4lVo6wC7RhK7YoNMBUFqP6Nh_C6lJzxCxhAoLaZZc2HyOxxn38npQ

 

Правда, что там больше платят? Платят там по-разному. У меня есть информация только по Москве, так как я там живу. 

Действительно, в Москве можно с ходу обнаглеть и попросить больше денег, но не всегда.

Я встречал Java-программистов, которые приходят на 100 тысяч рублей и встречал 1С-программистов, которые приходят на 200 тысяч рублей. Я не знаю от чего зависит такой разброс зарплат.

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

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

 

https://lh6.googleusercontent.com/Z_JS9EjJBn92PYV2wwTJY8Cn20BQBuOzhNOlbTdxkO_DfsvMSUJGX8xK1Z1q_N5XtsJJlb88bxIxvr-_il1d-LxqLUDU8G4Ae_4vKiImpvtHwaFDtmHhy1oe-0vPQ-rA_xj9W603PSeB3I4nSYIR5FrP-G4MurSLzHxAx--JkD404p1o5qFPj3t8Sw 

 

Цитата: «В 1С невозможно получить сложную масштабную задачу, а в других языках настоящий HighLoad». Это ерунда и чушь. Просто найдите себе нормального работодателя.

В основном, 90% «настоящего» программирования – это те же самые формочки, записи в базу данных, селекты. Отличий практически нет. Вы не почувствуете разницы с точки зрения каких-то там масштабных или сакральных задач.

 

Ну так переходить или нет

 

https://lh4.googleusercontent.com/XnQQaHxqg68q3BYL50-Ynz8HRWs4kB1tjdaOHf6N5TMtalVE_RDuM69FmNDdBj-p4ED2hyalYjGpk6Tmvshlrvhi21G7wnpsSLOxwDi15jfIvfGZ9_T4-an_hJeoMc6mgikinzYtQzvv3kfTuQ1AQcaV3Y21gIbSXpDiRM5eqXB1qNyj6z9owdr78w

 

Конечно, переходить. Если тянет и хочется, надо пробовать. Вернуться всегда успеешь.

 

Будете ли вы больше получать? 

Не факт. Сейчас очень активизировались эйчары, все время пишут письма и звонят. Рынок перегрет. Можно обнаглеть и попросить сходу какие-то деньги. Если справитесь, то справитесь. Не справитесь, вас выгонят и вернетесь в 1С. Пробовать надо, я считаю.

В 1С сейчас все стабильно, а сможете ли вы там?

Есть такой страх «смогу ли я?». Сможете. 1С-ники реально умнее. Вы умеете строить архитектуру данных и анализировать бизнес-процессы. Там этого никто не умеет.

Вы однозначно будете скучать по 1С. 

Будете говорить: «Господи, неужели я должен неделю кодить то, что раньше делал за две минуты». Такие ситуации будут, и они будут тянуть назад.

Вы даже захотите написать свою 1С с мыслью: «Я же знаю как надо, я знаю как всем спасти жизнь!»

Вы будете писать свой 1С-подобный фреймворк. А потом прибежит менеджер и скажет: «Ты чем тут занимаешься?» Он даст вам втык, заставит написать костыль и захардкодить всякую ерунду. И в таком виде выйдет в продакшн, потому что красивая архитектура никому не нужна, нужен результат.

https://lh5.googleusercontent.com/PDJp-oO6l1cMbXvHiDU9UD64_r1uheXq9OAs9wcaX211IEQTRp_zdCrxX2qTUS03Bc8TyaB7kIxO_vG3WBw_USBg6qBxAomrRZrRNZryNHPzNFkIslfOeWQ-PR309e7CO9GUCq749hZHBUXIWzM-pEw66YUcd1pxRWjolUS2FibLUAIw6TI-AOcZzw 

 

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

1С-ник умеет «из коробки»:

  • понять, как надо проанализировать задачу;

  • как снять требования;

  • построить корректную модель данных;

  • определить, где не хватает контроля прав доступа;

  • спросить какая будет отчетность;

  • оптимизировать кривой SQL запрос, созданный ORM;

  • и многое другое, потому что у 1С-ника нет границ. 

Вы точно справитесь. Вы не глупее всех этих снобов, которые считают, что 1С – не настоящее программирование. Это чушь.

https://lh5.googleusercontent.com/qhzt__Oen0LqNqx8YrnE-4Kj5FJ6uRueg5t4BG2jHb-eJGl8zXSUVz0IcJ9R9d8UlDUGJi_L2Krv7Xqy-ZBy9iC3PL1c6lnCpZW7pMjahErtNzmar1s6CED44xunsJ2ubbrAAHnODu-4TiloGNiZcXOzleHB2PNcvOgd24E80JJzJgPTDkSDjrAIgw 

 

Если кто-то все еще очкует, смотрите по своим силам. Если вы видите деньги и перспективы – переходите. Вернуться никогда не поздно.

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

В 1С я получаю результат. Я не пишу код ради кода.

Код, как вы знаете из начала доклада, – не нужен. Нужен человек, который решает задачи бизнеса. А это именно вы! Все в ваших руках.

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на конференции Infostart Event 2021 Post-Apocalypse.

См. также

Обучение и наставничество Бесплатно (free)

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

12.11.2024    534    0    AlexSvoykin    9    

3

Личная эффективность Бесплатно (free)

«Я знаю одно – во мне есть нечто, и я это скрываю. Я не говорю об этом. Но оно там всегда. Мой Темный попутчик. Когда он просыпается, я чувствую себя живым.» (сериал «Декстер»). «Жажда разработки» – это психологические проявление внутреннего «я», вызывающее острую необходимость программировать. Все, кто любит программировать, неоднократно испытывали такую жажду, и я не исключение. Расскажем о том, как утолить свою жажду и найти баланс между хобби, работой и другими аспектами жизни.

07.11.2024    2811    0    BlizD    70    

41

Обучение и наставничество Бесплатно (free)

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

09.10.2024    2264    0    Akcium    1    

5

Личная эффективность Бесплатно (free)

В этом выпуске мы поговорили с ведущими подкаста "Аналитики у микрофона" Татьяной Рыловниковой и Анной Войкиной про цели и ценности создания, прослушивания и участия в подкастах.

09.09.2024    375    0    Radio_Analyst    1    

2

Личная эффективность Бесплатно (free)

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

23.08.2024    1028    0    user1947860    3    

5

Удаленная команда Личная эффективность Бесплатно (free)

Я Егор, 1С-разработчик, который уже год работает дистанционно. В конце рабочего дня часто чувствовал себя выжатым лимоном, поэтому нашёл принципы сохранения ресурсности — делюсь рецептом.

20.08.2024    4358    0    PROSTO-1C    14    

23

Коммуникации Личная эффективность Обучение и наставничество Бесплатно (free)

Последние полгода систематизировала для себя тему онбординга и решила поделиться тем, к чему пришла на данный момент. Буду рада дополнениям в комментариях, так как тема крайне широкая. Часть наблюдений про организацию онбординга со стороны работодателя раскрою в отдельной статье. А в этой статье рассмотрим онбординг глазами приходящего в компанию сотрудника.

23.07.2024    1823    0    SerjoginaMaria    6    

13

Личная эффективность Бесплатно (free)

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

08.07.2024    3973    0    biimmap    117    

27
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. updsetup 30.09.22 12:51 Сейчас в теме
Спасибо за статью!
Yakuskenergo; user1765351; vakham; sertak; olexi2012; Meownchin; ardn; +7 Ответить
91. user2525 04.10.22 09:01 Сейчас в теме
111
(1)

Я и в 1с удалю таблицу, если скажут. Пусть об правильности болит голова у аналитика. И на 1с у меея никак не получается написать драйвер. И 1сники тупеее, конечно. Это заказная статья
Kastello; kild; Dmitri93; nurik727; +4 Ответить
193. Evil Beaver 8244 02.12.22 10:30 Сейчас в теме
(91) Где мои деньги за заказ?!
2. shilovev 30.09.22 12:53 Сейчас в теме
Блестящая статья!
Теперь нужна ответочка от "настоящих программистов" ))
Forest_Owl; Moto45; TerveRus; rabid_otter; Sh00rick; user1824735; MKassatkin; Senator_I; sertak; olexi2012; SergeyTerentyev; user1822636; teyana; Lemmonbri; user803412; ardn; berd1c; dnikolaev; Meownchin; +19 1 Ответить
20. Lemmonbri 142 30.09.22 15:34 Сейчас в теме
(2) на ютубе уже развели такое в комментариях)
baracuda; kser87; +2 Ответить
22. ubnkfl 30.09.22 23:12 Сейчас в теме
(20) я посмотрел профиль одного из "критиков", он подписан на каналы типа А4 и прочее. Т.е. ему по голове - лет 14 от силы. Ценность тамошних мнений нулевая.
Moto45; pvk1978; +2 Ответить
25. hamsar 16 01.10.22 03:45 Сейчас в теме
(2)
Теперь нужна ответочка от "настоящих программистов" ))


ответочка от перекатчика из 1с в python higload microservice senior -> "автор клоун, который зачем то натянул сову на глобус". Представил и нашим и вашим.

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

https://habr.com/ru/company/yandex/blog/689592/
https://habr.com/ru/post/690292/

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


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

да вообще 1с это фреймворк типа джанго или торнадо, и сравнивать фреймворк с остальным программированием...
goatmen; Dmitri93; Necessitudo; YA_980309683; wuff; ivanchai; Borometr; ice-net; olexi2012; scanner1980; bliver; kild; rabid_otter; kirinalex; +14 4 Ответить
50. bulpi 217 02.10.22 22:19 Сейчас в теме
(25)
"и такие задачи вы на 1с не решите"
????? Чего это вдруг ????
Будет медленнее работать, но решить можно.
55. hamsar 16 03.10.22 02:35 Сейчас в теме
(50) да давайте щашки делать на 1с, это же такая крутая идея
YA_980309683; ivanchai; +2 Ответить
51. Evil Beaver 8244 02.10.22 22:29 Сейчас в теме
(25) Задача поджечь пятое место - выполнена, я доволен. Вы слишком серьезны, милейший, раз не выкупаете намеренной гиперболизации темы. Писать плохой или хороший код можно на любом языке, странно, что приходится это пояснять
baracuda; ardn; siliconvalet; Talin; Iren1809; primat; SergeyTerentyev; ktb; AllexSoft; +9 2 Ответить
56. hamsar 16 03.10.22 02:37 Сейчас в теме
(51) т.е. признаете что доклад однобокий, и направлен в сторону 1с молодцы остальные голубцы
108. пользователь 04.10.22 16:40
Сообщение было скрыто модератором.
...
127. Koba.yu 05.10.22 14:49 Сейчас в теме
(25)Бессмысленная и оторванная от жизни хрень. (я про ссылки на хабр)
baracuda; Moto45; Talin; kser87; pvk1978; +5 1 Ответить
132. hamsar 16 06.10.22 07:34 Сейчас в теме
(127) в первом случае можно обнаружить, кишечную палочку и не заразить вас при купании в местном водоеме.
во втором показать вам направление движения ветра на сайте погоды
136. user1446119 06.10.22 17:16 Сейчас в теме
(132) 1С не для этого. Да, такие задачи не нужно решать на 1С
Iren1809; pvk1978; MrBukas; +3 Ответить
188. kser87 2470 14.11.22 10:15 Сейчас в теме
(132) вы это всерьез? Кажется, что вы совершенно не врубаетесь, зачем вообще нужен 1С.
190. hamsar 16 15.11.22 08:46 Сейчас в теме
(188) ну а если бы я привел, озон или вайлдебирис 1с бы справилась с такой задачей?
191. kser87 2470 15.11.22 09:04 Сейчас в теме
(190) озон и вайлбериз со своими задачами без 1С не справляются. Так было бы точнее сказать
169. TerveRus 03.11.22 15:39 Сейчас в теме
(25) ну давай, озвучь задачу. Или в целом про задачи вам не рассказывают, а только данные туда-сюда перекладываете?

Или вы там игры только пишете, что на 1С нельзя это решить?)
195. hamsar 16 14.03.23 07:16 Сейчас в теме
(25) я там статью на хабре зафигачил можете поиметь меня в коментах https://habr.com/ru/post/722002/
165. rabid_otter 134 28.10.22 18:20 Сейчас в теме
194. alexey_kurdyukov 165 10.01.23 14:40 Сейчас в теме
(2) Полный хабр и вообще любой сайт таких ответочек, одинэсников более-менее всерьёз стали воспринимать только лет 10 назад, если не меньше
3. cosmo2004 38 30.09.22 13:23 Сейчас в теме
Отличная статья! Актуальная, сам задумывался о переходе на другие языки программирования.
ivanchai; olexi2012; +2 Ответить
4. berd1c 30.09.22 13:24 Сейчас в теме
Правда жизни, отличная статья!
Когда ты программист 1С с опытом, то в любой сфере деятельности ты уже знаешь, как можно "применить" 1С для ведения учета, автоматизации бизнеса...
5. shmalevoz 309 30.09.22 13:38 Сейчас в теме
есть сильно обратная сторона медали - подобная модель сильно "расслабляет" 1С специалистов и они рассматривают задачи в контексте "лишь бы были решены бизнес-задачи". ища сиюминутные решения, решительно неподдерживаемые.
и простота фреймворка стимулирует не только скорость решения задач, но и отсутствие вообще какой-либо культуры кода. возникает множество "специалистов" а-ля быстренько как придутся пропатчили типовую, бизнес доволен и все "ок". что даже в среднесрочной перспективе совсем не гуд.
кажется надо бы сделать важную ремарку - за всякими такими "быстрыми" решениями надо бы наблюдать, или допускать до них опытных и ответственных специалистов. ну или они вполне допустимы где-нибудь на ИЧП Палатка 32 =)
Forest_Owl; Yakuskenergo; Dmitri93; paramedik; AllexSoft; olexi2012; a_a_burlakov; pavlov_dv; Artem-B; SeiOkami; +10 Ответить
19. fatman78 21 30.09.22 15:10 Сейчас в теме
(5)Ничего не мешает программисту гавнокодить на любом языке. 1С уже давно стандарты разработки публикует. Но к сожалению не все программисты читают стандарты от 1С, и еще меньше тех, кто их соблюдает.
Forest_Owl; Moto45; Iren1809; TerveRus; freeek; Сто27001; +6 Ответить
33. ats333 10 01.10.22 13:28 Сейчас в теме
(19) 1. Нет нормальной иде, которая поможет эти стандарты поддерживать.
2. Никто не готов за это платить.
cheburashka; Dmitri93; lebedovskiy; olexi2012; kild; Brawler; +6 Ответить
109. ivanchai 04.10.22 16:42 Сейчас в теме
(19)у них все меняется по сто раз за год)))) хрен уследишь
184. user598231_nicka 14.11.22 09:10 Сейчас в теме
(19)
Угу, только вот 1с забила на стандарты.
Ерп 2.5.9. Свежие приколы.
Для проведения документа за ноябрь 2022 нужно открыть январь 2021. Иначе не проводится.
Там же - при обмене по встроенному Эдо сносятся проводки документов прошлых периодов.
Там же - нельзя перепровести или распровести взаимозачет цепляющий прошлогодние доки оплаты, ибо система расчетов в фоне прописывает его в исходный документ. Спасибо хоть проводки по регистрам прошлогодние не сносит.
Итд итп.
123. gaglo 05.10.22 10:23 Сейчас в теме
(5) ...расслабить можно лишь "специалистов", а специалисты без ковычек не расслабляются, в любой области, и за пределами программирования тоже.
6. SeiOkami 3517 30.09.22 13:41 Сейчас в теме
Тоже хочу пилить свой 1С-подобный фреймворк. Кто последний в очереди?
Moto45; TerveRus; +2 Ответить
170. TerveRus 03.11.22 15:42 Сейчас в теме
(6) очередь большая, но так никто ни одного фреймворка и не запилил.
7. biimmap 2020 30.09.22 13:43 Сейчас в теме
Я вот на дух не выношу англоязычные языки программирования. Несмотря на профильное образование!

На третьем курсе впервые увидел язык программирования 1С (2003 год). Сразу же решил что буду работать именно в этой сфере!
Дальнейшее обучение в институте было "для галочки". чтоб диплом получить. Программирование на так называемых "языках высокого уровня" не вызывало вообще никакого желания)

Но как говорится - это всё вкусовщина)
Forest_Owl; Perfolenta; Поручик; +3 Ответить
8. Поручик 4692 30.09.22 13:44 Сейчас в теме
Недавно грузанули задачами по питону и Джанго. Ни то ни другое раньше в глаза не видел. Ничего, разбираюсь, уже кое-что достиг. 1С, php и прочее никуда не делись.
freeek; SagittariusA; nurik727; papami; +4 Ответить
9. Quantum81 6 30.09.22 13:48 Сейчас в теме
Чёт лень много писать. Кончено, сила разработчика не определяется языком. И то, что тут Андрей пишет уже и присуще проектам на 1с. (про "тупых" кодеров :( )
По поводу перехода, можно провести мысленный эксперимент. Вот 1С плюнет на нас и скажет, а давайте весь код модулей будет на С++. Вот что сильно изменится в вашей работе? Ничего! Вы только сможете более круто и глубоко говнокодить. А если будут теже сроки что и сейчас, то ни в какую глубину вы не полезете. Более того, даже если будет ошибка платформы, вы вряд-ли полезете её править. Вы будете так же ждать исправления. (последнее для апологетов, что если бы код платформы был открытым.. бла... бла.. )
И все равно много букф написал :) значит зацепило :)))
Forest_Owl; +1 Ответить
10. Bayker 30.09.22 13:49 Сейчас в теме
Дочитал до конца, прикольно.
Как раз посещала мысль куда нибудь переметнуться.
11. mas_kot 77 30.09.22 13:50 Сейчас в теме
Слушал в записи, плюсик поставил, вторая часть про "1С много вещей облегчает": клиент-серверное взаимодействие, работа с объектов и так далее - "по фактам" как говорится) Но хочется пару слов критики. Причём не являюсь "настоящим программистом" - вопросы назревают сами собой в процессе просмотра, как только начинаешь думать немного дальше "да! мы самые умные!"

- «Зачем поставлена задача?» - с позиции архитектора это естественный вопрос, но много ли программистов-консультантов задают этот вопрос? Вспоминая себя и ребят из франчайзи, назревает ответ что нет - это приходит с опытом. Так что где тут достоинство 1С - я не очень понимаю. Можно сказать, что "вот окружение, оно показывает тебе как правильно!", то тут 1С тоже как-то не причём
- "Нет соблазна налепить интеграцию «прочитаем из базы соседей»" - а разве в 1С нельзя налепить такую интеграцию? Можно - и 1С тебе тоже не запретит это сделать из кода, даже не поперхнётся. И тоже потом будет "а всё сломалось!"
- А другие программисты с легкостью могут налепить такой объект, который при считывании еще и всю историю заказов контрагента будет поднимать. - мы будем в "настоящие программисты" записывать людей, которые не умеют в абстракцию? А в 1С такого не происходит? Нельзя заказы в справочник поместить? Странно - я то как раз на заре работы во франчайзи даже курс видел где так делали, благо до этого в типовых уже насмотрелся, что это разные сущности. Так что тут тоже не достоинство 1С, а фактически регламентирование проектирования.

Ну и там ещё мелочи, но с той же претензией: первая часть - это достоинство не 1С-платформы как таковой, а той же стандартизации, регламентов, примеров в виде БСП. И так получается, на мой взгляд, в результате естественного роста программиста из "техподдержки", когда ты больше постигаешь как пишут "нормальные 1С программисты", в отдельного "нормального 1С программиста" - тут в принципе любой более-менее освоит "правильную" архитектуру. И, снова оговорюсь, тут достоинства 1С как платформы не вижу...)
Forest_Owl; My_Victory; paramedik; +3 Ответить
39. starik-2005 3088 01.10.22 23:00 Сейчас в теме
(11)
мы будем в "настоящие программисты" записывать людей, которые не умеют в абстракцию?
В 1С много хорошего, но для хайлоада она просто сама по себе плоха. Во-первых, при изменении шапки будут перезаписаны все табличные части. А в них может быть овер дофига всего. И если у нас нет очереди клиентов, то мы и не паримся - просто перезаписываем все в транзакции, хотя никаких изменений итогов и не происходит - мы может просто справочник писать или документ без проведения. Да, отдаем все на откуп платформе, которая тупо блюдет ACID. Но если вдруг оказалось, что мы решили сначала записать, а потом провести, сделав это раздельно (три потока записи, пять потоков проведения), то все, что мы проводим, мы записываем еще раз (т.е. в транзакции сначала DELETE, потом INSERT, абдейт только для итогов в регистрах накопления, ну так этих таблиц как бы и "нет" - они виртуальные). С таким подходом хайлоад в принципе противопоказан, а что-то с этим сделать ты не можешь от слова "совсем". Ну и во-вторых - долбанная реструктуризация. Ты не можешь произвести миграцию через абдейт - платформа это не умеет, она умеет создать новую таблицу и медленно по несколько штук копировать туда старые данные. И такое впечатление, что каждая копия делается с соблюдением этого ACID, т.е. атомарно в транзакции пообъектно. Да, если немного что-то поменалось, то, поставив джаву на сервак и повинтив конфиг, ты можешь иногда получить альтер тэйбл, но вообще никто не знает, в каком случае это сработает, а в каком - нет. Приходится каждый раз тестить, а потом выбивать технологическое окно. А все эти "фоновые" реструктуризации просто приводят к недоступности таблиц, которые подвергаются изменениям. Это архитектурный пипец 1С.
Ну и ты никак не можешь повлиять на реальные запросы к СУБД, т.к. тебе недоступны ни хинты, ни большинство операторов языка. А костыль, который 1С прикрутила в оператор автонумерации строк в запросе - это отдельный перл. Интересно, заплатили тому, кто этот изврат придумал при наличии приличных возможностей сделать то же самое без извратов, премию?
Yakuskenergo; cheburashka; kild; mas_kot; ice-net; AllexSoft; Dach; zqzq; +8 Ответить
41. kirinalex 16 02.10.22 05:47 Сейчас в теме
(39) "при изменении шапки будут перезаписаны все табличные части."
Вроде бы неизмененные ТЧ не перезаписываются. Нет?
52. Evil Beaver 8244 02.10.22 22:32 Сейчас в теме
(41) этого нигде не гарантируется, насколько я знаю. Как оптимизация - возможно, но гарантии нет. В общем случае - перезаписывается всё и каждый случай, когда это не так, следует считать везением.
144. Slava_prog 07.10.22 09:14 Сейчас в теме
(39)
Насчет реструктуризации не совсем так.

Реструктуризация может выполняться двумя разными способами:

● Обычный механизм реструктуризации. Единственный вариант реструктуризации в «1С:Предприятии» версии 8.3.10 и младше.

В данном режиме реструктуризация всегда выполняется через создание копии каждой изменяемой таблицы с последующим преобразованием каждой строки данных в конфигураторе или на стороне сервере (в зависимости от настроек выполнения реструктуризации).

● Оптимизированный механизм реструктуризации. Работает только для клиент-серверного варианта работы информационной базы в том случае, если в качестве СУБД используется Microsoft SQL Server или PostgreSQL.

В данном режиме происходит попытка выполнить максимальное количество действий на стороне СУБД, а также выполнить модификацию существующих данных и индексов вместо создания копии и переноса данных с обработкой. В данном режиме большинство действий выполняется на стороне сервера системы «1С:Предприятие».

При выполнении реструктуризации из конфигуратора, используемый механизм реструктуризации определяется параметром UpdateDBCfg файла conf.cfg
145. starik-2005 3088 07.10.22 09:18 Сейчас в теме
(144) ну я об обоих вариантах и написал с помеикой о том, что второй вариант требует трех вещей: джавы, правки конфига и проверки, ибо далеко не всегда в нем система использует "быстрый" кейс. Пробовали, знаем.
146. Slava_prog 07.10.22 09:58 Сейчас в теме
(145)
(145)
Насчет джавы согласен. Зачем 1С её использует непонятно. Мне всегда нравилось что платформа самодостаточная.
У меня пока положительный опыт. Я конечно сперва та тестовом стенде смотрю поведение.

Удалось выявить в каких случаях реструктуризация пошла по обычному сценарию ?
147. starik-2005 3088 07.10.22 10:25 Сейчас в теме
(146) ну так там написано, что 1С пытается все сделать на стороне СУБД и модификации мутнуть средствами альтер тейбл/альтер индекс. Но пытаться еще не значит сделать. Наблюдал, что при добавлении регистратора к регистру бухни это не работает, хотя там вот вообще изменений нет. При добавлении полей вроде отрабатывает, ну так сейчас уже привыкли все и всё добавляемое кладут в регистры, ибо часто добавляемому нужны двты начала действия.
12. D_e_X_T_e_R 575 30.09.22 14:01 Сейчас в теме
Прекрасно. Все по делу и с примерами. А то набегут обычно, все обхают и свои точки зрения объяснить не могут, дескать так просто надо и все. Спасибо за статью.
Forest_Owl; +1 Ответить
13. Поручик 4692 30.09.22 14:05 Сейчас в теме
Афтырь не в теме. Бесплатная и хорошая библиотека, чтобы скормить хороший макет в PDF на PHP есть, успешно работает на наших сайтах лет 5 пять, Называется mPDF - это библиотека классов PHP, которая генерирует PDF-файлы из HTML-кода в кодировке UTF-8. Так что не свистите и считайте, что облил помоями.
Moto45; kild; +2 Ответить
17. Dimanchik00 30.09.22 14:48 Сейчас в теме
(13) Так Андрей и написал, что генерация из html.
53. Evil Beaver 8244 02.10.22 22:33 Сейчас в теме
(13) Я, конечно, не изучил все-все-все библиотеки на рынке, но для Java и C# ситуация прям горькая. Для PHP наши пхпшники тоже юзали консольный html2pdf, возможно они не знали про mPDF, а может она им не подошла, тут уже их надо спрашивать.
Forest_Owl; Moto45; TerveRus; +3 1 Ответить
14. AntonRealIT 40 30.09.22 14:33 Сейчас в теме
ОГОНЬ! Концентрирования мудрость в каждом предложении!
Gulloper; Сто27001; SergeyTerentyev; +3 1 Ответить
15. user767423 30.09.22 14:36 Сейчас в теме
Отличная статья. Это правда. По работе часто приходиться работать в команде с программистами на других системах, разработка на других платформах занимает в разы больше времени по сравнению с 1С.
Gulloper; Сто27001; oleg-m; AllexSoft; +4 Ответить
16. Dimanchik00 30.09.22 14:47 Сейчас в теме
Теперь буду статьей тыкать своим оппонентам, что за пределами 1С средний бизнес-IQ ниже. А то достали уже. Сам не переходил в другие языки, но нахлебался взаимодействий с веберами. Задорнова вспоминал после каждого совещания.
P.s Эх, не сидится нам на месте и за язык нас вечно тянут. На день карьеры 1С в 2015 выступал перед студентами с докладом "Зачем идти в 1С" :)
TerveRus; Сто27001; +2 1 Ответить
49. kild 92 02.10.22 21:46 Сейчас в теме
(16) Тыкая этой статьей только усилите мнение, что у 1Сников IQ меньше.
paramedik; SagittariusA; CK3; rabid_otter; hamsar; +5 Ответить
171. пользователь 03.11.22 15:50
Сообщение было скрыто модератором.
...
18. Krasnyj 1288 30.09.22 14:54 Сейчас в теме
Великолепно написано 👍
21. axelerleo 345 30.09.22 20:34 Сейчас в теме
Отличная статья! Но как водится, истина где-то посередине. Хороший фуллстак будет представлять себе и структуру данных, и sql запросы, и много чего еще. А тем, кому надоело 1С-ить, но боязно уходить в "настоящее программирование" - попробуйте 1С Элемент :) Будет вам и веб-разработка, и пулл-реквесты, и облачная IDE с преферансом и куртизанками, и отсутствие многих плюшек, которые есть в 1С. Но в более легкой версии))
А многие веб-фреймворки не сильно уступают по уровню абстракции платформе 1С. Тот же Ангуляр, не к ночи будь помянут :)
То что 1С-разработчик сочетает в себе навыки и компетенции половины отдела, включая DBA, аналитика, бэкэндера и формошлепа UX/UI дизайнера - несомненный плюс, но есть и многие разрабы, которые могут только по ТЗ манкикодить.

З. Ы. , судя по последним событиям, с названием "Post-Apocalypse" чутка поторопились)))
Forest_Owl; TerveRus; +2 1 Ответить
90. Dimanchik00 04.10.22 06:25 Сейчас в теме
(21) Можно провести "Post-Post-Apocalypse"
23. RRmice 2 30.09.22 23:58 Сейчас в теме
Проработал 10 лет в 1с. Сейчас 1.5 года как программист Java.

При переходе я потерял 100 тыр/месяц, но я все равно радовался каждому дню.
freeek; Dmitrij-2; kild; kirinalex; NeLenin; rabid_otter; SeiOkami; Leonard; +8 Ответить
28. a_a_burlakov 288 01.10.22 08:22 Сейчас в теме
(23) А поделитесь: как сейчас доход, через 1.5 года?
freeek; rabid_otter; kirinalex; SeiOkami; +4 Ответить
61. hexhoc 107 03.10.22 09:11 Сейчас в теме
(28) Поделюсь я. Я перешел внутри компании без потери зарплаты.
Спустя 2 года смог без каких-либо проблем устроиться на 260к. Вопрос усилий и интереса. Я два года учился забивая на семью, друзей, хобби.

Стоит ли переходить в текущих реалиях. Не не стоит, конкуренция высокая, кол-во вакансий сильно уменьшилось после начала войны.
Iren1809; freeek; DennyPhilord; SagittariusA; Сто27001; ubnkfl; user705393_den; AllexSoft; a_a_burlakov; +9 Ответить
62. a_a_burlakov 288 03.10.22 10:21 Сейчас в теме
(61) Очень неплохо, спасибо. )
68. SergeyTerentyev 03.10.22 11:29 Сейчас в теме
(61)260 и на 1С можно зарабатывать.
cheburashka; TerveRus; smit1c; Сто27001; starik-2005; AllexSoft; +6 Ответить
71. hexhoc 107 03.10.22 11:34 Сейчас в теме
(68) Да можно, но тут вопрос стоит в том, как заниматься тем что больше нравится и сколько при этом можно зарабаывать.
72. SergeyTerentyev 03.10.22 11:39 Сейчас в теме
(71)На 1С можно и 400. Только я сам не дошел до этого уровня вознаграждения за труд. И это уже не разраб, а функциональный архитектор.
starik-2005; AllexSoft; +2 Ответить
143. user1778306 07.10.22 08:58 Сейчас в теме
(68) И больше чем 260, если ты настоящий профи и не только программируешь но и можешь работать как архитектор.
173. пользователь 03.11.22 15:55
Сообщение было скрыто модератором.
...
172. TerveRus 03.11.22 15:54 Сейчас в теме
(23) и чему там в Java можно радоваться, что стоило идти на такие жертвы? И прям каждому дню?
24. rabid_otter 134 01.10.22 01:23 Сейчас в теме
Просто оставлю это здесь:

Сплошная субъективщина и корнер-кейсы.
Как бывший 1Сник могу сказать, что 1С - фреймворк, по типу Spring + ORM + JavaFX, все минусы идут из этого.

1) Работа в 1С интереснее, т. к. за тебя "подумали". В 1С есть сложные проекты.
В настоящем программировании ты можешь строить что хочешь, а не только то, что захотели дядьки в 1С. Ты не должен ничего очень жадному вендору. Из этого следует, что множество решений более N тиражных от 1С. Работа сложнее, но и интереснее, т. к. ты решаешь такие задачи, о которых в 1С ты даже не задумывался. А в 1С 90% вакансий - работа с N тиражными решениями от 1С. В настоящем программировании есть настоящий хайлоад, с выбором баз и сервисов под задачу бизнеса.

2) Кнопочек не видно? Долго рисовать интерфейс? Интеграционные тесты?
Зато можно нарисовать именно то, что нужно бизнесу И ПРОТЕСТИРОВАТЬ ЭТО. В 1С пока ты лепишь простое CRUD приложение, все норм. А вот когда этот монстр начнет расти, или когда надо что-то сложное впилить в веб-клиент. В кишки уже не залезешь! Например отображение карт через Javascript в веб-клиенте. Впилил и ловишь баги, именно того, что 1С нагенерил не очень прямой код на JS, потом эвристическим методом находишь в чем же ошибка. Я знаю, я делал это!
В 1С интеграционных тестов просто нет. Ты даже не можешь застраховаться чтобы какой-нибудь джун переделал логику твоего функционала.

3) Настоящий программист не работает без аналитика.
Неправда, мои коллеги и я, идут в другие команды и уточняют зачем и почему мы это делаем. Если аналитик недоаналитил - это проблема нехватки коммуникации между аналитиком и бизнесом.
Если в классы кладут бизнес-логику и не знают ничего про DTO, то с кем вы работали? С джунами?
Программисты не вникают в смысл? ЧТО ЗА ДИЧЬ ВЫ НЕСЕТЕ????!!!!

4) Настоящие программисты не знают ничего без SQL.
Судя из того, что я вижу в таблицах сервисов, они могут даже в 3-ую нормальную форму. Не поверите! Ваши коллеги видимо не знали, что такое lazy fetching. Если надо все красиво, можно отказаться от ORM. Мы так и сделали.
1Сники знают только про profiler и про read only операции. Настоящие же программисты с опытом 10+ знают про нюансы той или иной СУБД и знают как сделать Insert, Update, Delete без поиска по гуглу. А 1Сник может?
DBA добавил индексы без совещаний с другими людьми. Так это он - аутист, это проблема нехватки коммуникации. Уже второй звоночек.

5) В 1С есть импорт в PDF, а в настоящем программировании надо платить.
ХАХАХАХА, В 1С вам платформа бесплатно дается. Ну да, ну да. В той же условной джавке приходится выбирать нужный фреймворк, в 1С зачастую таких средств просто нет! Не смешите меня.

6) В 1С можно заработать столько же, сколько и в других ЯП. Опять неправда, в настоящем программировании рядом рынок есть, где ЗП в долларах США. В 1С потолок был X рублей, в другом ЯП мне на миддловую позицию предложили на 25% больше, чем было в 1С.

Я не скучаю по 1С. Жалею, что с ним связался :) Надо было бежать еще 10 лет назад.
cheburashka; Elisey654321; paramedik; CK3; Feelthis; Sh00rick; Artem-B; Ruler; ivanchai; Borometr; user2525; ice-net; angur; Romakon92; Поручик; zqzq; kild; scanner1980; bliver; lunjio; LeXXeR; ats333; salbey; jonny_x; SeiOkami; kirinalex; A1WEB; a_a_burlakov; hamsar; Leonard; +30 2 Ответить
27. muskul 01.10.22 05:55 Сейчас в теме
(24)
6) В 1С можно заработать столько же, сколько и в других ЯП. Опять неправда, в настоящем программировании рядом рынок есть, где ЗП в долларах США. В 1С потолок был X рублей, в другом ЯП мне на миддловую позицию предложили на 25% больше, чем было в 1С.

А занимаясь купи продай можно заработать столько сколько и не снилось программистам
freeek; smit1c; AllexSoft; Aphanas; hamsar; Evil Beaver; bulpi; Brawler; +8 Ответить
29. rabid_otter 134 01.10.22 10:31 Сейчас в теме
(27) особенно, если продавать что-то нелегальное где-то в Питере. дело то ведь только в деньгах.
TerveRus; +1 Ответить
38. starik-2005 3088 01.10.22 22:35 Сейчас в теме
(24)
Жалею
Напрасно. У меня друг один уехал в Австралию после окулиарда лет в 1С, работает там DBA, а не как некоторые околоайтишные джависты с предельно устаревшими знаниями из Канады, работающие водителями лесовозов.

В общем, все зависит от того, чему ты учился. Если 1С-у - тебе, чувак, просто не повезло. Если программировать - тебе, чувак, вообще пофиг, на чем писать и что. Я, например, уже в 7-м классе на машинном языке программировал (да, все эти единицы и нули). До этого бейсик, после этого паскаль, делфи.,С, С++, питоны, пыхи и все прочее. Но работаю с 1С с 1999-го, еще с 6.0. И когда в 1С что-то появляется, я в большинстве случаев это уже лет 10 назад юзал. И для меня синтаксис современного развития 1С исполнителя не является глазвырывающим, как для большинства 1С-негов, которые не работали с шаблонами в С++, так и для людей из другого стека, которых коробит от русских букв в языке. И когда "деды" матерились на управляемые формы, а потом и на такси, я прекрасно понимал, зачем это сделали и как с этим работать. Но кое-кто все же учился 1С-у - мои соболезнования.

А в остальном я с Вашими тезисами скорее соглашусь, чем поспорю. Просто не стоит быть настолько категоричным*.

* категоричность — решительность, твердость, ультимативность, безапелляционность, императивность; безусловность, директивность

А по поводу заработать, так вон в релокейтных группах телеги в братские республики бывшего СССР народ готов ехать за полторы штуки баксов. Я уже забыл, когда столько зарабатывал.
Forest_Owl; paramedik; primat; SagittariusA; rabid_otter; AllexSoft; SergeyTerentyev; NeLenin; +8 Ответить
43. пользователь 02.10.22 09:10
Сообщение было скрыто модератором.
...
69. пользователь 03.10.22 11:31
Сообщение было скрыто модератором.
...
74. пользователь 03.10.22 11:46
Сообщение было скрыто модератором.
...
85. пользователь 03.10.22 23:11
Сообщение было скрыто модератором.
...
86. пользователь 03.10.22 23:51
Сообщение было скрыто модератором.
...
26. muskul 01.10.22 03:46 Сейчас в теме
Жду статью на хабре что бы почитать пылающие пердаки.
зы.Все они пишут так как будто только в 1с, все криво вкось и медленно, но на самом деле не видел ни одного приложения (да и вообще чем они там занимаются из полезного людям) которое работало бы четко и понятно.
Вот недавно перевожу в приложение ВТБ денег по номеру карты. выбираешь свою карту, тыкаешь перевести, потом в менюшке из трех картинок тел/карта/счет тыкаешь счет, и оно как ни вчем не бывало меняет счет списания с деб. карты на кредитную, потому что последняя операция была по ней......так подарил втб и их "тру программистам" 300 рублей не нужной коммисии
Forest_Owl; Moto45; TerveRus; bulpi; +4 1 Ответить
30. papami 56 01.10.22 10:57 Сейчас в теме
(26) ВТБ - это отдельная история)
37. starik-2005 3088 01.10.22 22:22 Сейчас в теме
(26)
300 рублей
Даже не буду прикидывать, сколько бабла теряют ежедневно на косяках 1С и программеров 1С. Но т.к. 1С - это очень небольшой одной не сильно богатой страны сегмент, то в общем и целом в других стеках теряют больше. Вот, например, "До-До пицца" при очередном каком-то обновлении вернула народу кучу бабла за уже оплаченные и отгруженные "пиццы". А потом они писали статьи и просили, чтобы клиенты им вернули это бабло обратно. И вроде бы там был не 1С, но это не точно.
70. пользователь 03.10.22 11:32
Сообщение было скрыто модератором.
...
174. пользователь 03.11.22 16:02
Сообщение было скрыто модератором.
...
31. ats333 10 01.10.22 12:51 Сейчас в теме
Можно спорить по мелочам например среда разработки это тихий ужас древний конфигуратор или глючная и прожорливая едт.
Но основная проблема не в этом, а в том, что проекты на 1с стоят существенно дешевле аналогов. Отсюда все проблемы, кроилово и полумеры.
kild; rabid_otter; +2 Ответить
32. A1WEB 59 01.10.22 13:27 Сейчас в теме
(31)
проекты на 1с стоят существенно дешевле аналогов.

Это далеко не всегда так. Одно дело купить типовую коробку ЗУП, другое дело внедрять такого монстра как 1C:ERP на крупном предприятии со сложными устоявшимися бизнес процессами: часть купленного функционала остается незадействованной, что-то в усмерть переписывается, и потом это все нужно сопровождать.
Forest_Owl; kild; +2 Ответить
34. ats333 10 01.10.22 13:35 Сейчас в теме
(32) проект на sap или dynamix будет дешевле при прочих равных? Очень сомневаюсь.
Moto45; Iren1809; TerveRus; AllexSoft; +4 Ответить
142. user1778306 07.10.22 08:54 Сейчас в теме
(126)
(32) Альтернативы будут стоить еще дороже, как внедрение так и поддержка (поддержка дорогих и редких систем - это может быть очень больно)
Moto45; Iren1809; TerveRus; AllexSoft; +4 Ответить
185. user598231_nicka 14.11.22 09:18 Сейчас в теме
(32)сап и аксапта будут сильно дороже даже перепиленного ерп.
Ерп с внедрением обычно до 50 лямов, и саппорт в пределах ляма, реже двух в месяц. Ну разумеется если внедряют не дебилы-вредители из франча, которые не могут не изгадить весь код.
Сап за такие деньги будет куплен если только однопользовательский :) проект ценой меньше мегабакса - редкость, саперам не интересная вообще.
Ах подешевле, но не сильно.
А уж иде в них - это такая грусть, что ужас. В ах так уж точно, турбо Си и турбо Паскаль начала 90х и то удобнее.
Moto45; Iren1809; A1WEB; +3 Ответить
35. chilyagin 91 01.10.22 15:08 Сейчас в теме
Если смотреть на постулаты этой статьи поверхностно, то все выводы вроде бы кажутся логичными, но есть нюансы. И когда начинаешь вникать в детали перечисленных тезисов, то не все выглядит так мажорно.
Начну с материальной мотивации, как основы всех трудовых отношений:
Если сравнить уровень зарплаты в локации РФ 1С-ника и какого-нибудь фрондера или джависта, то получается переезд на другой технологический стек – овчины выделки не стоит. Но, если оценивать локацию «вся Земля», то перспективы увеличить гонорар повышается в разы. Правда, придется подучить English, но за счет обнуления знаний по предметной области и законодательства РФ и всяких там БУ и НК, а также других подзаконных актов, то можно высвободить свой мозг.
Другой нюанс. В одном из комментариев под этой статьей было мнение, что вендор может сменить, причем жестко, платформу. И не пишите, что этого не может быть. Могу напомнить кому-нибудь переход с 1С:77 на 1С:80, а потом и на 1С:82. Тогда мне пришлось изучать новые подходы в разработке и новые структуры данных. Было больно. И да, чтобы вы понимали суть этого бизнеса. Фирме 1С глубоко безразличны ваши боли и не удобство. Миссия этой фирмы зарабатывать бабло на продажи коробок, только за этим была создана сеть франчей, а чтобы денежный поток (мёд) не закупоривался, то нанимают пчел, и внушают им, что они программисты, которым остается только слизывать то, что прилипло и выпиливать косяки типовых конфигов с каждым новым обновлением.
И еще другой момент. Смаковать, что умеет 1С и не умеет java enterprise – ну, это смешно, на право же, даже не стоит начинать. И тема здесь принципиально другая: «вам шашечки или ехать». Перефразируя анекдот напишу, вам надо не дорого и быстро внедрить, или нужна производительность выполнения операций.
В этом случае могу от себя дать совет: если вам надоели физиономии заказчиков, а ваши телепатические навыки не развиваются до приличного уровня, надоели звонки от них в нерабочее время, то смело уходите разработку для мобильных устройств, или писать какие-либо сервисы обмена или код для железяк.
SagittariusA; Feelthis; vakham; LeXXeR; Artem-B; kild; scanner1980; insurgut; +8 1 Ответить
164. kser87 2470 28.10.22 17:07 Сейчас в теме
(35) за счет обнуления знаний по предметной области и законодательства РФ и всяких там БУ и НК - 90% программистов 1С с этой фигней (БУ и НК РФ) никогда не работают. В общем, вы застряли где-то в 2007 безнадежно
186. user598231_nicka 14.11.22 09:23 Сейчас в теме
(164)угу. Не работают. И кодят говнокод который делает противоречащее этим самым бу и нк.
Поэтому сбросить проводки документа в закрытом периоде при обмене по Эдо - легко и непринуждëнно.
Спросить бухов, финансистов итд про "поменять документ в закрытом периоде" - а зачем?

Если что - эту херь творит коробочная версия.
175. TerveRus 03.11.22 16:08 Сейчас в теме
(35) а разве заказчики только в 1С бывают? И кто тогда платит программисту его тысячи долларов?
Смело уходить выдумывать свои приложения и стать заказчиком самому себе?
Каков процент программистов-владельцев продукта от всей кучи программистов для телефончиков?
36. starik-2005 3088 01.10.22 15:48 Сейчас в теме
Ну не бред сумасшедшего, конечно, но очень недалеко...
kild; rabid_otter; +2 Ответить
40. NeLenin 14 02.10.22 00:08 Сейчас в теме
Много лет работаю в 1С. И всегда откровенно радуюсь, когда приходится заниматься задачами в других средах программирования.
Есть, конечно, у 1С ряд своих не самых приятных особенностей и ограничений. Но в целом инструмент для решения определенного класса задач достойный. Здесь каждый пусть выбирает в соответствии с заточенностью собственного головного мозга и желанием.

Хорошо, если работа: 1. Зажигает огонь внутри Вас. 2. Приносит пользу обществу. Какая разница, на какой платформе и в каких средах она при этом выполняется?
Forest_Owl; bgazobeton; Leon29; Nefrit88; Moto45; Iren1809; cheburashka; TerveRus; freeek; kser87; paramedik; eternium; alexeyvs77; SagittariusA; thevist; AllexSoft; bulpi; A1WEB; kirinalex; +19 Ответить
44. A1WEB 59 02.10.22 09:20 Сейчас в теме
(40) Полностью поддерживаю!
42. insurgut 208 02.10.22 09:06 Сейчас в теме
Настоящий хардкор - это ассемблер. Всё остальное - детский сад :)

P.S. Никогда не понимал холиваров по теме языков программирования. Программисту в принципе без разницы на чем программировать. Всё зависит исключительно от его компетенции, желания и стремлений, а навык - это просто дело времени.
Forest_Owl; Moto45; Iren1809; kser87; SagittariusA; Barmi; oleg-x; AllexSoft; shard; +9 Ответить
46. biimmap 2020 02.10.22 13:15 Сейчас в теме
(42)
Настоящий хардкор - это ассемблер


Было у нас это чудо на первом курсе. Препод был такой же древний как и сам язык.
И начал он нам не с того, что программирование основано на передаче информации между регистрами... А с фразы:
"Для того чтоб передать информацию из одного регистра в другой пишем: mov ax, bx"

Весь курс сидел хлопал глазами и нифига не понимал: ни что мы передали, ни куда, ни откуда, ни зачем... Со временем конечно он снизошёл до пояснений регистров, команд и т.д. Но его первую фразу мои одногруппники помнят до сих пор)
Forest_Owl; kser87; TerveRus; unknown181538; +4 Ответить
77. Поручик 4692 03.10.22 13:30 Сейчас в теме
(42) Зависит от задачи и от имеющегося софта.
45. cdiamond 235 02.10.22 13:10 Сейчас в теме
А кто сказал что 1с-ник мечтает программировать то же самое, но на другом языке? Полно проектов других, написание игр например, или пилить ядро линукса, где никаких браузеров и индексов. Очень узкий подход, автор по сути и не покидал мир 1С, оставшись на тех же задачах при тех же заказчиках со сроками "вчера".
daMaster; kser87; paramedik; +3 Ответить
47. insurgut 208 02.10.22 13:53 Сейчас в теме
(45) да тут не столько вопрос языка программирования, сколько коммуникации с заказчиком. 1С-нику сильно много приходится с людьми общаться, вникать в предметную область. В других в основном есть ТЗ и монитор. Ни с кем общаться не надо и можно полностью погрузится в код.
alexeyvs77; +1 Ответить
176. TerveRus 03.11.22 16:11 Сейчас в теме
(45) ага, в написании игр, конечно, кранчей и сроков "вчера" не бывает. И в играх тоже сплошные базы данных и браузеры.

А за пиление ядра Линкуса кто-то платит?
183. cdiamond 235 10.11.22 16:37 Сейчас в теме
(176) давно не секрет, что основной вклад в код ядра линукса вносят не любители-одиночки забесплатно, а крупные компании. В частности это Microsoft, Oracle, RedHat, китайские гиганты и подобные. И да, там за это платят неплохую зарплату. И если ты спросишь зачем это они делают, то стоит узнать, что ядро линукса уже вставлено и интегрировано в твой Windows 11, если успел на него перейти.
Оставьте свое сообщение