Владимир Харин - Просто Pro 1С
4.37K subscribers
56 photos
11 videos
96 links
Блог об автоматизации учёта на платформе 1С для предпринимателей, ИТ-специалистов. 1С-разработка с использованием ИИ.

Для связи: @vladimir_kharin

Мой курс по 1С-разработке с ИИ: https://aidevstart.ru
Download Telegram
А оно мне надо? Кое-что о программировании и качествах спецов

Программист должен обладать способностью первоклассного математика к абстракции и логическому мышлению в сочетании с эдисоновским талантом сооружать все, что угодно, из нуля и единиц. Он должен сочетать аккуратность бухгалтера с проницательностью разведчика, фантазию автора детективных романов — с трезвой практичностью экономиста. А кроме того, программист должен иметь вкус к коллективной работе, понимать интересы пользователя и многое другое… (с) Андрей Ершов, академик АН СССР, один из пионеров теоретического и системного программирования

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

1️⃣ Изучает ТЗ. Читать придется основательно, при этом задавать уточняющие вопросы и что-то додумывать самостоятельно. Часто нужно переводить с языка пользователя или аналитика на технический 1С-ный, оценивать трудоемкость, сроки. Это уже большая работа, а программировать еще даже не начали.

2️⃣ Пишет и отлаживает код. Обычно это самое интересное. Но ровно до того момента, когда выясняется: твой код не работает, а ты не понимаешь почему. Тогда приходится читать документацию, искать обсуждение похожих проблем в интернете. В конце концов — доставать шаманский бубен. 🙃 Программирование в этот момент становится совсем не таким простым и интересным, каким казалось в уроках курса «разработчик 1С за две недели».

3️⃣ Ищет и исправляет ошибки, которые создал обнаружил пользователь. И не важно, что функционал, в котором возникла проблема, давно сдан и забыт. Да, придется вспоминать и разбираться. Ошибка может крыться в коде, а может и во введенных (или не введенных) пользователем данных. А вдруг это и не ошибка вовсе? Тогда придется доказать, обосновать, а иногда чему-то научить пользователя (желательно без обвинений и мата 🙂). Ничего особенно захватывающего в этой работе нет, зато сил требуется много.

4️⃣ Разбирает и дорабатывает чужой код. Это, на мой взгляд, самая тяжелая работа. Особенно если копаться приходится в легаси-коде — старом, недокументированном, непонятно кем разработанным, к тому же в несопровождаемом стиле. Забавно, но иногда оказывается, что этот «чужой» легаси-код на самом деле твой собственный!

Без усидчивости и терпения заниматься всем очень тяжело. Эти качества нужно воспитывать в себе в первую очередь. А все остальное приходит с опытом. Согласны? Если у вас другое мнение, жду в комментариях.

🔥 — да, без усидчивости никак (и не только программисту).
🤔 — нет, усидчивость не про 1С-ника. Посмотрите какой ад творится на проектах: у усидчивых и терпеливых такого не бывает!
😱 — прочитал и понял, что не хочу быть программистом!

#мнение_о_важном
🔥46😱93👍2🤔2👎1
Чек-лист самопроверки для начинающего программиста

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

Когда-то у меня был подопечный (назовем его Кирилл), которого я с абсолютного нуля учил программировать в 1С. Парень толковый, быстро освоил основы. Я начал давать ему первые реальные задачи и удивлялся скорости, с которой он их решал. Я еще пояснения к заданию договорить не успел, а от Кирилла уже слышал: «Владимир, у меня все готово». Только вот скоро выяснилось: все, что он делает, — работает неправильно или не работает вовсе. 🙂

Почему так получалось?
— ТЗ Кирилл читал по диагонали, и сразу кидался в бой (писать код). Вопросов у него не было, а если и возникали, то ответы он тут же придумывал сам.
— Он был абсолютно уверен, что результат работы программиста — это код, а не работающее решение.
— Пересмотр своего кода (я уже не говорю об изучении чужого) казался Кириллу совершенно пустой тратой времени.

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

Я перестал проверять его решения после каждого «у меня все готово». Вместо этого последовательно задавал следующие вопросы:

🔻 Задание прочитал внимательно?
🔻 И тебе прям все-все ясно?
🔻 А решение сделал по всему заданию, ничего не пропустил?
🔻 Свой код перечитал?
🔻 Он точно соответствует заданию?
🔻 Оформил код правильно, красиво, по стандартам/регламентам?
🔻 А запускал его?
🔻 И как, работает? Проверил?
🔻 А работает как предполагается в задании?
🔻 Если неправильные данные ввести, не валится?

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

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

Кирилл, кстати, сейчас работает в известной торговой компании программистом 1С. Говорил же, все получится!

Как относитесь к самостоятельной проверке результата работы?

👍 — обязательно перепроверяю.
🔥 — сразу делаю все правильно.
🤔 — чукча не читатель, чукча писатель, а проверкой пусть занимается тот, кто за это деньги получает.

#истории #кейсы
👍47🤔9🔥3
Взгляд на 1С со светлой стороны

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

Взгляд на 1С с темной стороны

— Замкнутая ограниченная платформа
— Непонятные конфигурации, которые почти всегда нужно «допиливать»
— Негибкий вендор с давно устаревшими технологиями, политикой лицензирования и т.д.
— Жадные франчи
— По большей части бестолковые внедренцы и прочие 1С-ники
— Вечно недовольные пользователи
— Бизнес лучше развивался бы с другими системами, которые задавлены 1С

Какая сторона вам ближе?

👍 — светлая
🌚 — темная
🤔 — поровну
😐 — пока не определился с лагерем

#опросы
👍48🤔30😐11🌚9😁3
На этом канале еще не было рекомендаций других каналов. И вот первая моя рекомендация: канал “Заметки 1Сницы”. Ведет его Анастасия – практикующий спец по 1С, программист, ментор. Ведет стажировки для начинающих 1С-ников. Пишет про вход в профессию, тонкости работы на позициях 1С-ников, публикует интервью с интересными спецами по 1С, директорами франчей.

Несколько запомнившихся мне постов:
📌 Секрет успеха 1С-ника (и не только)
📌 Должен ли программист знать предметную область и типовые?
📌 Как надо обучать разработке по версии меня
📌 FAQ "Хочу стать программистом, с чего начать?"
📌 Интервью с Алексеем Бояршиновым (директором Корады)

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

Рекомендую к подписке! 🔥
👍13🔥71
Как выглядит работа над проектом 1С: оценка и подготовка

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

Вводные

Заказчик — оптово-розничная компания. Работает в 1С Управление торговлей 11 (УТ 11). Требуется интеграция с мобильным приложением, где клиенты будут оформлять заказы. Приложение в процессе разработки, не на 1С.

Участники проекта

Представитель бизнеса.
Понимает, как должен выглядеть результат, но не разбирается в технических деталях.
Штатный ИТ-шник (он же 1С-ник). Знает организацию учета и существующие доработки в 1С заказчика, но не погружен в проект.
Разработчики мобильного приложения. Хорошо понимают свою часть проекта, но почти ничего не знают об 1С.

Наша задача: реализовать обмен данными с мобильным приложением со стороны 1С.

Оценка проекта

Первая встреча была с представителем бизнеса. Он все объяснил и попросил оценку по трудоемкости и срокам. Само собой, результат нужен был еще вчера 🙂. По моим подсчетам, на проект уйдет 2 недели (80 часов). Из них:
1. Разработка спецификации обмена данными (API) и проработка сценариев обмена — 20 ч.
2. Доработка конфигурации (план обмена, HTTP-сервис в 1С) — 40 ч.
3. Ввод в эксплуатацию — 20 ч.

Оценку второго и третьего этапов дал на свой страх и риск — опирался на опыт похожих проектов. Мы недавно делали интеграцию УТ 11 с сайтом для другой компании, по которой я и прикинул трудоемкость. Срок работ оценил примерно в месяц.

Если по сроку возражений не возникло (хотя результат и нужен был вчера 🙂), то общая стоимость заказчику не понравилась. Он ожидал, что будет раза в два меньше. Договорились стартовать с первого этапа, а дальше сделать переоценку. «Очень надеюсь, что получится дешевле», – озвучил пожелание заказчик.

Работы по первому этапу

Почти две недели изучал базу заказчика, созванивался в Zoom с участниками проекта:
✏️ У бизнеса и ИТ-шника уточнял вопросы по проекту и учету в 1С.
✏️ С разработчиками мобильного приложения обсуждал API и сценарии обмена.

Что выяснилось:
Объектов для обмена оказалось в полтора раза больше, чем я предполагал. Соответственно, вырос и объем работ.
По некоторым объектам требуется обмен в обе стороны (1С → приложение и приложение → 1С). Двусторонние обмены сильно усложняют интеграцию.
Местами учет в 1С «кривой» (так сложилось исторически), исправить его проблематично. Это также добавляет головной боли при обмене данными.
‼️ Самое главное — пока нет базы, в которой будет работать наш обмен. Есть близкий к ней вариант, но риски для проекта все равно остаются, потому что могут появиться критичные изменения.

Здесь с трудоемкостью получилось как в известном анекдоте (расскажу в комментариях). Но есть и позитивный момент!

Структуру сообщений обмена в API удалось максимально приблизить к структуре объектов 1С, что, в свою очередь, существенно облегчило задачу. Все благодаря тому, что разработка мобильного приложения еще идет.

В результате уточненная оценка на второй этап (программирование) практически совпала с моей первоначальной. Ничего не подгонял, правда! Заказчик, кстати, все уже согласовал, хотя дешевле не получилось. А куда деваться, это уже не абстрактное число, все расписано подробно.

Сейчас приступаем к кодированию, ждите продолжение.

Традиционный опрос. Бодаетесь с заказчиками по трудоемкости/стоимости задач?
👍 — торгуюсь с азартом, как на арабском рынке
🔥 — приходится, но мне это дело не нравится
🤔 — не бодаюсь и не хочу.

#истории
🔥25👍12🤔10
Насколько быстро можно освоить программирование в 1С?

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

Обычно на такой вопрос отвечают, что все индивидуально. Само собой, это никому не нравится, ощущение, будто от тебя просто отмахнулись. Может, есть хотя бы примерный ориентир?

В книге «Гении и аутсайдеры» (написал канадский журналист Малкольм Гладуэлл) утверждается, что для достижения мастерства в любой сфере требуется 10 000 часов практики.

Что такое 10 000 часов? Это пять лет работы по 8 часов в день. По-моему, адекватный срок становления крепкого 1С-ника. Но при условии если:
– вы решаете реальные задачи, получаете «боевой опыт», а не только читаете книги или проходите курсы;
– вы сталкиваетесь с разнообразными задачами в различных конфигурациях, а не клепаете все время печатные формы под Бухгалтерию.

А что поможет вырасти побыстрее?

– Работайте не по 8 часов, а по 12 и без выходных. 🙂 Тогда 10 000 наберете раньше, но в подарок идет выгорание.
– Если у вас есть бэкграунд в программировании или решении учетных задач, считайте, часть пути вы уже прошли. Я, например, когда начал изучать 1С, уже многое знал о компьютерах, написал тонну кода на Pascal/Delphi, С++. И уверенно чувствовать себя в 1С стал гораздо раньше, чем через пять лет практики.
– Можно прибегнуть к помощи наставника, который научит мыслить правильно, подскажет, как решить задачу. Только чтобы не давал готовых решений — это вредно для роста.

Как оцениваете свою обучаемость?
👍 — могу самостоятельно освоить что угодно.
🔥 — легко, если есть хороший курс, учитель или компания.
🤔 — я и так все необходимое знаю, чему мне учиться?

#мнение_о_важном
Просто Про 1С
🔥34👍23🤔3🙏2
Самый ценный спец: кто он и как им стать?

Расскажу историю. Все имена в ней вымышлены, совпадения случайны. 🙂

У барина было два работника, которые помогали по хозяйству — Иван и Василий. Как-то раз приходит к барину Василий. Говорит:
— Слушай, барин, я работаю у тебя дольше Ивана, так?
— Так, — отвечает барин.
— И делаю ту же работу, что Иван, так?
— Так.
— Выполняю все твои поручения, не перечу, так?
— Все так, — не в силах сдержать удивление, говорит барин.
— Почему же ты платишь Ивану в два раза больше, чем мне? — вдруг возмущается Василий.
— Хм, — задумался барин. – Видишь, мужик едет на повозке, везет мешки? Сходи, узнай, что в них.
Василий догнал мужика, вернулся и отвечает:
— Везет картошку.
— Хорошо. А продает ее?
Василий снова сбегал к мужику:
— Говорит, что продает.
— Так, а почем продаст?
Василий в третий раз побежал. Возвращается:
— Говорит, за пять рублей мешок.
Тут к барину входит Иван:
— Барин, там мужик из соседней деревни картошку на наш рынок везет. Нам ведь как раз картошка нужна. Продает по пять рублей, но я сторговался до трех. Телега уже во двор заезжает, куда выгружать будем?

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

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

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

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

Василий. Пытается их решить методом пристального «смотрения» в конфигуратор. Ждет, когда кто-нибудь догадается к нему подойти и спросить — нет ли у него каких-то вопросов. Через какое-то время руководитель, узнав что задача не сделана, таки спрашивает Василия, какие у него проблемы, и помогает их преодолеть. Василий уходит решать задачу на второй круг.
Иван. Гуглит. То, что не помог решить Гугл, не стесняется спросить у коллег. С оставшимися вопросами идет к постановщику задачи, предлагая ему свои варианты решения. Если пропадает постановщик или заканчиваются задачи, не забывает напомнить о себе.

Василий. Пишет код так, как ему привычно и удобно. Если код проходит синтаксический контроль, а программа запускается, значит, пора отдавать решение на проверку.
Иван: При разработке соблюдает регламенты. Помнит, что созданный им код придется кому-то сопровождать. Самостоятельно тестирует решение перед тем как сдавать. Ивану стыдно, если пользователь или постановщик натыкается на глупые ошибки. Перед сдачей решения показывает его в работе лично или оформляет инструкцию.

Поделитесь мыслями, что еще повышает ценность спеца (не обязательно программиста)?

И еще. Вы больше Иван или Василий? 🙂
👍 — Я Иван, и от помощника такого бы не отказался!
🔥 — Иван, конечно, молодец, но у меня так получается редко.
🤔 — Я Василий, уверен, что каждый должен своим делом заниматься: программист — писать код, постановщик — четко ставить задачи и проверять решение, руководитель — контролировать все вопросы.

P.S. На конференцию Инфостарта меня не взяли, так что продолжаю вещать только для вас! 🙂

#мнение_о_важном
👍35🔥35🤔152😁1
Обычно юмор публикуют в пятницу. Но кто сказал, что ему нет места во вторник! 👻

Всем хорошего настроения!

#юмор
😁24👍7🔥52🥱1
Как выглядит работа над проектом 1С (часть 2): интеграция со сторонним приложением

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

Как вы знаете, мы делаем обмен между 1С и мобильным приложением (не на 1С). В обмене участвуют порядка 15 справочников, документов и регистров. Реализуем HTTP-сервис (запросы/ответы в формате JSON), план обмена для регистрации изменений объектов 1С. Входящие запросы разбираются/проверяются с помощью пакета XDTO.

Пользовательский интерфейс тут не предусмотрен, разве что форма для настроек. Чтобы кодить было не так скучно, разработку делаем во внешней обработке: в модуле объекта — основной код, а в форме — возможность запустить какие-то блоки, чтобы видеть, как код работает (и работает ли вообще 🙂).

Мы, кстати, часто начинаем разработку во внешней обработке (иногда часть функционала там и остается после завершения работы над задачей). Чем это удобно:

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

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

3. Можно быстро набросать и попробовать разные варианты организации данных и кода. Потом выбрать более удобный, а остальные просто выкинуть. На этом проекте попробовали два варианта, один уже в мусорке.

Процесс
Разработку по проекту ведут два человека:
Я: прорабатываю архитектуру, кодирую скелет решения.
Мой помощник: дописывает детали — запросы данных к выдаче, оформление результатов по формату в API и т.д.

Что сделали за три недели
Отработали уже примерно 40 часов по этой задаче, но еще не закончили.
Написали и отладили ~2000 строк основного кода и ~200 вспомогательного (для тестирования основного).
Подготовили тестовую базу, настроили веб-сервер, отдали сервис для тестирования разработчикам приложения, с которым интегрируется 1С.

С какими проблемами столкнулись
Изо всех сил отбиваемся от попыток навязать нам работы, о которых не договаривались. 🙂 Пытаемся перенести их на следующий этап.
‼️ До сих пор не готова база, в которой наш обмен будет работать (писал об этой проблеме еще месяц назад).

В комментариях к прошлому посту спрашивали, нет ли у нас наработок для организации обмена. Оформили их на этом проекте, делюсь.

Скоро, надеюсь, будем запускать обмен в рабочую эксплуатацию, так что продолжение следует.

Как относитесь к выполнению работ, о которых не договаривались?
👍 — чаще делаю, если просят не слишком много.
🤔 — чаще не делаю, если не договоримся об оплате.
🔥 — я и есть тот, кто просит сделать что-то дополнительно. Сложно что ли?

#истории
👍23🔥8🤔6👌1
Сопротивление пользователей новациям: что делать, если бить нельзя

Как выглядит сопротивление?
«Мы тут серьезным делом заняты, а вы нас своим 1С отвлекаете» — это лайт-версия.
«Владимир, в вашей 1С куча ошибок, ничего толком не работает, а у меня отчеты, я за них отвечаю. Делайте что хотите, а я буду по-старому работать» — это уже на грани саботажа.

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

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

Зачастую этого достаточно. Но как говорил Аль Капоне (по крайней мере ему приписывают эту фразу): «Добрым словом и пистолетом можно добиться гораздо большего, чем одним только добрым словом».

Так что дальше очень желательно:
Поставить в известность начальство. Все-таки оно отвечает за успех проекта. Это его недоработка, если пользователи сопротивляются. Пусть подумают, как их мотивировать.
Технически закрыть пользователям возможность работать по-старому. Жестко? Наверное. Но необходимо. Правда с ручным учетом или экселями это сложно реализовать.

Вам приходилось бороться с сопротивлением на внедрениях?
👍 — нет, у нас пользователи душки.
😱 — да, воевали.
🔥 — я тот самый пользователь из клана сопротивления. No pasaran!

#мнение_о_важном
Please open Telegram to view this post
VIEW IN TELEGRAM
😱58👍12🔥6
Дайджест публикаций за 2½ месяца

Каналу уже полгода! За это время много о чем успели поговорить. И еще больше того, о чем еще не успели, но обязательно поговорим. 🙂 Напомню о постах за последние несколько месяцев.

О том, как попасть в сферу 1С, программирование

☄️ Как стать программистом. И надо ли оно вам. В каких случаях освоить программирование точно получится. Выяснили, что тема входа в профессию весьма востребованная. Что ж, будем ее развивать!

☄️ Кое-что о программировании и качествах спецов. Чем занимается программист и какие качества важны для успеха в этом деле. Большинство согласилось, что важна усидчивость.

☄️ Чек-лист самопроверки для начинающего программиста. Что сделать перед сдачей разработки на проверку, чтобы не взбесить проверяющего. История про нелегкий путь обучения программированию моего подопечного.

☄️ Насколько быстро можно освоить программирование в 1С? Все индивидуально, но оценку дали. Выяснили, что практически все считают себя хорошо обучаемыми.

Советы, кейсы, наработки

🔹 Самый ценный спец: кто он и как им стать? Притча о двух работниках — Иване и Василии. Опрос показал, что большинство тянутся к Ивану.

🔹 Сопротивление пользователей новациям: что делать, если бить нельзя. Проблема для многих знакомая, даже болезненная. Дал свои рекомендации с точки зрения программиста/консультанта.

Также рассказываю об одном нашем проекте интеграции 1С со сторонним приложением в режиме онлайн:

🔹 Как начинался проект: подготовка и оценка, согласование стоимости. Выяснили, что многим не нравятся переговоры о цене, но приходится их вести.

🔹 Как разрабатывали: ноу-хау, как организован процесс. Поделился наработками, которые получились на этом проекте.

Что еще было интересного

✔️ Порекомендовал канал Заметки 1Сницы. Серьезное сообщество 1С-ников и 1С-ниц, много активности в комментах. А еще Анастасия (автор канала) обучает джунов, помогает им в поиске работы.

✔️ Рассказал немного о себе, как я стал 1С-ником.

✔️ Опрос об отношении к 1С. Выяснили, что у большинства оно позитивное (признаюсь, для меня это было немного неожиданно 🙂). Но многие видят, что и недостатков в мире 1С достаточно.

Предыдущий дайджест

Спасибо, что читаете, комментируете, участвуете в опросах под постами!

#дайджесты
👍14🔥5❤‍🔥1
Владимир Харин - Просто Pro 1С pinned «Дайджест публикаций за 2½ месяца Каналу уже полгода! За это время много о чем успели поговорить. И еще больше того, о чем еще не успели, но обязательно поговорим. 🙂 Напомню о постах за последние несколько месяцев. О том, как попасть в сферу 1С, программирование…»
Факап на миллион: как завалить проект, но все же запуститься

Это был большой проект в крупной организации на несколько тысяч сотрудников. Внедрялись почти все блоки «Управления производственным предприятием» (УПП). Учет на тот момент вели в нескольких конфигурациях на 1С 7.7 — с них предстоял переход на УПП. Цель проекта — формирование управленческой отчетности: быстрее чем в 7.7 и с особыми аналитическими разрезами, которых в текущем учете не было.

Меня привлекли на пару недель, чтобы усилить команду — занимался блоком учета зарплаты. Был декабрь. Переход на новую систему планировался с нового года. И уже тогда я почувствовал, что с этим проектом не все хорошо:
нервная атмосфера, контакт с пользователями не налажен;
не закончена разработка первоочередных для запуска задач (я уж не говорю про тестирование, напомню, до запуска — месяц);
🆘 ресурсов мало: я на тот момент был единственным программистом по нашему блоку.

Ничего, конечно, не успели. С запуском блока зарплаты возникли проблемы. А мне предложили погрузиться в этот проект более плотно — уже в качестве консультанта-программиста. Я согласился…

В то время был молодой и глупый и мне казалось, что с любыми трудностями можно справиться, просто приложив чуть больше усилий. Например, работая какое-то время не по 8 часов в день, а по 16. Но, как выяснилось, это не всегда помогает — на проекте с каждым днем дела шли все хуже. Промахов было много на разных уровнях. Поделюсь теми, к которым я имею непосредственное отношение. 🙂

1️⃣ При запуске стали вести учет в новой и старой системах параллельно, чтобы подстраховаться. Это сильно увеличило нагрузку и на пользователей, и на внедренцев. Постоянные переносы данных, бесконечные сверки расчетов старой системы с новой в поисках пропавших копеек... Правильнее было бы закрыть старую систему — тогда появился бы стимул быстро доделать недостающий функционал.

2️⃣ Пошли на поводу у пользователей, пытались сделать расчет в УПП похожим на то, к чему они привыкли в 7.7. Вместо того, чтобы объяснить: УПП работает иначе, к этому надо привыкнуть и просто освоить новую систему. В результате потратили время на функционал, без которого можно было обойтись.

3️⃣ Безграмотно спроектировали доработки. В итоге получили запутанный код, километровые запросы, замысловатые алгоритмы. Как известно, сложные системы проще сломать. И у нас постоянно что-то ломалось. Чтобы найти и починить, приходилось тратить много времени и сил.

Несколько месяцев мучений — а мы так и продолжали вести учет в двух системах. С внедрением других блоков тоже было не все гладко. Перед очередной встречей с большим начальством руководитель отдела расчета зарплаты нас предупредила, что они будут просить перенести запуск на следующий год. Меня на встречу не позвали. Но крик финансового из кабинета в другом конце коридора я услышал: «Миллион долларов в трубу?!! Да вы ох..ли что ли?!»

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

Кто-то может сказать: «А в чем, собственно, факап? Запустились ведь. Ничего особенного, у нас многие проекты такие». Но ведь целей не достигли! По крайней мере, не всех. Пользователи и внедренцы многократно выгорели, что недопустимо, я считаю. А стало ли что-то лучше в учете после внедрения? Да не факт...

Стали бы привлекать спеца, зная, что в его портфеле проектов есть факапы?
🤔 — нет, нам неудачники не нужны.
👍 — конечно, стреляный воробей – ценный сотрудник!
🔥 — не важно, что у спеца было на прошлых проектах, важно другое.

#истории
🔥41👍383❤‍🔥2🤔2
Самый эффективный программист: кто он и как им стать

Как показал опрос, большинство читателей канала — программисты. Я себя тоже больше отношу к этой категории. В продолжение темы «самых-самых», которую начал здесь, решил порассуждать про нашу программистскую эффективность.

Еще в конце 60-х проводилось любопытное исследование. Оно показало, в чем разница между лучшими и худшими спецами при решении одинаковой задачи:
☄️ 20 к 1 — время кодирования;
☄️ 5 к 1 — размер программы;
☄️ 10 к 1 — скорость выполнения (оптимальность).

Кто-то скажет: «И что тут особенного — годовалый джун и 10-летний сеньор». Ан нет, в исследовании участвовали спецы с 7-летним опытом работы. И позже эти результаты неоднократно подтверждались. В среднем отношение эффективности лучших («звездных») к худшим — 10 к 1.

Почему так получается? Вот мое мнение:

1️⃣ У лучших хорошая память и разнообразный опыт. Есть наработанные шаблоны решений для множества ситуаций. Паттерны в процессе работы всплывают в голове и быстро адаптируются под конкретную задачу. Изобретение (или переизобретение) нового требует не только времени, но и энергии. А это ограниченный ресурс (об этом еще поговорим).

2️⃣ Лучшие работают с вдохновением и стремятся «к прекрасному». О как завернул. Я имею в виду красивый понятный код, краткость и простоту решения, грамотную архитектуру, соблюдение стандартов (писал об этом здесь). В результате: проще сопровождение кода, возможно его переиспользование.

3️⃣ Зачастую лучшие увлекаются программированием чуть ли не с детства. Имея семь лет опыта корпоративной разработки, в целом они уже программируют 15 лет, а то и больше. А также практикуются после работы, занимаясь своими пет-проектами. То есть посвящают программированию много времени, просто потому что им это нравится.

Считаете себя «звездным спецом»?
👍 — да, люблю сложные задачи и хорошо их выполняю
🤔 — нет, зато я надежный, не капризный, готов и рутиной заниматься
🔥 — хочу стать звездой, расту.

#мнение_о_важном
🔥40🤔25👍16🥴41👏1
к посту ниже 👇
Негатив от пользователей: как относиться и извлекать из него пользу

Обычно в блогах делятся скринами с благодарными отзывами. А я покажу вам негативные (подобрал такие, где не было мата 🙂). Отмечу то у меня такие ситуации возникают крайне редко, но уметь работать с ними полезно. Это в продолжение темы факапов. Заодно расскажу, как стараюсь действовать, когда заказчик чем-то недоволен.

1️⃣
Обсуждали с пользователем отчет, который разрабатывали уже несколько месяцев, но правильных цифр никак не могли получить. А сроки сдачи уже поджимали (если совсем честно, они давно прошли).
В моменте очень хотелось ответить собеседнику что-то в том же стиле. Тем более он просто не разобрался, как отчет работает. Ну а должен ли был разбираться?
Моя ошибка: когда начал работу, увидел, что в базе недостаточно данных, чтобы рассчитать все показатели. Но не предупредил об этом пользователя сразу. Пришлось объяснять, когда уже потратили кучу времени, сил, нервов. Взял на заметку, что все проблемы и риски лучше озвучивать и обсуждать сразу, на ранних стадиях.

2️⃣
Думаю, из диалога суть конфликта понятна.
В моменте хотелось завершить сотрудничество с клиентом, ведь с задачей действительно пришлось прилично повозиться.
Моя ошибка: не согласовал трудоемкость заранее, на берегу. Взял на заметку: даже если просят что-то сделать срочно, не стоит сразу кидаться в бой, лучше согласовать все условия. Ну или быть готовым к тому, что может возникнуть недопонимание. В этом случае объяснил заказчику, что разбор чужого кода — тоже непростая работа. Предложил оплатить столько, сколько он считает справедливым.

3️⃣
Возникло простое недопонимание по рабочему вопросу. Но негатив обычно не возникает на пустом месте. Дело в том, что из-за большой загрузки я отвечал на письма заказчика через день, а то и несколько. В итоге у него сложилось впечатление, что я стараюсь отвязаться, а не решить вопрос.
В моменте хотелось предложить передать задачу кому-то другому. Так я и сделал… 🙂 Но предварительно ответил на рабочий вопрос более подробно, чтобы точно поняли правильно, и объяснил ситуацию с высокой загрузкой.
Моя ошибка: у заказчика возникало впечатление, что его динамят. Так быть не должно. Взял на заметку: если не можешь ответить оперативно, напиши хотя бы, когда именно ответишь.

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

Как реагируете на такие ситуации?
🤬 — чаще обижаюсь или отвечаю тем же. Надо же как-то показать человеку, что он не прав.
👍 — обычно отвечаю спокойно и по делу.
🔥 — работаю исключительно на позитиве, негатива не бывает.

Предлагаю поиграть в угадайку — как думаете, чем закончилась каждая из ситуаций? А может поделитесь своими историями?

#истории
👍40🔥8🤬71💯1
Картинка иллюстрирует курсы 1С для начинающих и выход на реальную работу 1С-ником во франч. 🙂

Как-то в школьные годы я участвовал в олимпиаде по математике. Она проходила в Дудинке, куда съехались школьники со всего полуострова Таймыр. В нашем поселке (откуда я – рассказывал здесь) были замечательные учителя, но математику давали не на высоком уровне. Почему отправили именно меня — загадка, не сказать, что я чем-то выделялся.

В той олимпиаде участвовало около 30 человек. Я набрал 0,2 балла из 12 и занял 4 место. 🙂 Так и молодые 1С-ники: когда выходят после курсов, зачастую мало что могут сделать в реальных задачах. Но тот, кто набирает хотя бы 0,2 балла, уже выделяется! Реальный мир сильно отличается от учебных задачек.

Кого бы вы предпочли нанять в свою команду?
👍 — опытного спеца, дорогого, но которому не надо все объяснять и разжевывать.
🔥 — джуна, на которого придется тратить время, но он недорогой, не капризный, и его можно «настроить под себя».
🤔 — я бы сам к кому-нибудь нанялся.

#юмор #истории
🤔43👍25🔥18😁32🥱1