Сергей Сафаров (ildarovich): «Мы стараемся выбирать задачи, которые имеют определенную наукоемкость»

29.01.2020     

На полях INFOSTART EVENT 2019 Inception мы пообщались с генеральным директором ООО «Интех» Сергеем Сафаровым. Сергей рассказал нам о своем профессиональном пути и объяснил, почему программисту необходимо учить математику. В  сообществе Инфостарт более известен под ником ildarovich.

 

 

Вы первый раз у нас на конференции? 

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

Какие секции, темы больше всего интересны? 

Надо сказать, что, поскольку 1С – это бизнес-программирование, меня все-таки в этой связке больше интересует слово «программирование». Хотя вопросы организации процесса внедрения тоже интересуют – как замотивировать команду, как сделать так, чтобы тратить по мере внедрения меньше сил (применяя модную технологию lean), как быстрее справляться с задачами, чтобы всем было интересно. А также, конечно, интересны новые технологии, которые сейчас проникают в мир 1С. Хотя 1С – это довольно консервативная область, но, тем не менее, она сдается под напором интернет-технологий. Это видно в каждом докладе. И хотелось бы ознакомиться с современным состоянием дел и начать использовать что-то новое у себя. Также интересует, какими инструментами пользуются в организации работы для общения внутри команды: bug tracker, Service Desk и т.д. Хотелось бы внедрить у себя эти новые инструменты. Интересует именно статистика. В нескольких докладах я уже услышал про Slack и др. Мы у себя много экспериментируем и какого-то стабильного подхода еще не выработали. Некоторое время назад у нас в тренде был Trello – хотели бы расширить, посмотреть в сторону других технологий. Это то, что меня интересует на конференции. А также я, как докладчик, хотел бы поделиться тем, что нас занимает – последними достижениями из портфеля наших задач, которые мы сейчас ведем, обкатываем.

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

Я себя считаю программистом, хотя сейчас я довольно много внимания уделяю администрированию, но программирование – это мое призвание. Если кто-то захочет повторить мой путь или часть этого пути, могу поделиться, рассказать о том, как я пришел в программирование. Я родился и вырос в Алма-Ате. С детских лет я читал очень много книжек, библиотека и букинистические магазины были моим любимым местом. Интересовался радиоэлектроникой, паял, собирал различную электронику, закончил школу с углубленным изучением физики и математики, участвовал в олимпиадах, побеждал. И где-то в конце школы у нас была экскурсия в вычислительный центр – тогда еще ЭВМ нигде не были повсеместно представлены, и у меня где-то «щелкнуло», что радиоэлектроника и математика (те направления, которые меня всегда привлекали) – это то, что соединяется в специальности ЭВМ. Я эту специальность выбрал и был настолько ею увлечен, что лет до 40 я вообще не понимал, как можно интересоваться чем-то другим. Просто не понимал, как можно заниматься вентиляцией или какими-то мостами. Сейчас я занимаюсь не только программированием, поэтому уже осознал, что можно найти интерес и в других инженерных дисциплинах.

А так – я закончил школу, приехал в Питер поступать в ЛЭТИ, не понравилось. Пришел в Политех. Меня впечатлил ваш питерский Политех – главный корпус, библиотека, балконы читального зала. В этой библиотеке я и провел три-четыре первых курса. На лекции не ходил, честно говоря. Читал научные журналы. И с первых лет программировал. У нас было введение в специальность, в этом же главном корпусе у нас стояла ЭВМ. Оттуда меня было очень трудно вытащить. И я программировал все время, пока учился (во всех этих курсах находил возможность), на всех компьютерах, которые у нас были, начиная от «Минск 32», «БЭСМ», «ЕС-1022» – все, что было. Программировал на разных языках, которые были – Assembler, PL/1, Fortran и т.д.

А дальше была постоянная практика. Я вообще считаю, что программист – это как художник. Если человек с детства любит рисовать, тянется к листу бумаги, к краскам – он по натуре художник. Так же и программист – должен тянуться к программированию, чтобы понять, программист он или нет. Но в то же время я достаточно хорошо учился и постоянно проверял все эти знания практикой, много программировал на дипломе. А дальше я поступил в аспирантуру, вел научную работу в области теории надежности и отказоустойчивых систем. Там у меня тоже большие программные проекты были. И получается, что научной работой я занимался где-то с четвертого курса.

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

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

 

 

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

Когда мне, как преподавателю, во время ведения лабораторных работ требовалось показать студентам, как сделать ту или иную вещь, приходилось самому программировать какие-то расчетные механизмы, используя MatLab и другие программные системы. В других областях на практике многим людям, которые пытаются что-то изобрести, чтобы все это проверить, нужно ждать рабочих, которые изготовят эти детали. А изобретателю в области математики (математических методов) никого ждать не нужно: он может все сам запрограммировать и проверить.

В общем-то, эта была нацеленность на решение сначала учебных студенческих задач, а потом постепенно так получилось (жизнь была сложная), что мы, поработав какое-то время в институте, открыли свой бизнес. Сначала бизнес был связан с обучением, а потом появились задачи, связанные с внедрением 1С. Это была еще семерка, и таких интересных задач было не очень много. Но что я отметил, когда мы работали с 1С – это очень короткую цепочку от замысла до реализации. И вживую ощущаемая благодарность пользователей. Это очень мотивирует, когда ты можешь буквально за несколько минут решить практическую задачу, отдать ее на использование и получить благодарность – не только материальную, но и моральную. Это сильно мотивирует и, конечно, заставляет обратить пристальное внимание на эту область. И, наверное, это привело к определенным успехам – к получению большого количества довольных пользователей, которых сейчас больше, чем мы можем обрадовать. У нас в настоящий момент образовалась очередь из заказчиков.

Ну и получается, что после 7.7 появилась 8.x, в которой поле для программирования существенно расширилось. Появились сложные задачи, и появилась возможность применять те сложные методы математической оптимизации, с которыми приходилось сталкиваться в ходе научной работы и в ходе преподавания в институте. И появилось сообщество Инфостарт, которое стало задавать вопросы – интересные задачи. Даже не те задачи, с которыми сам сталкивался, а которые увидел в вопросах. Одну, вторую, третью задачи, которые, казалось бы, нерешаемые. И это всегда вызов, когда говорят: «На языке 1С этого решить нельзя». Нельзя – всегда хочется. Пытаешься, что-то изобретаешь. И этот момент открытия, когда, наконец, у тебя получается, ты проверил – все действительно так. Люди говорили «нельзя», а ты сказал «можно» и показал – это и дает стимул в работе и в написании таких статей. Это все нужно объяснить для того, чтобы люди поверили. И вот так появилось несколько таких довольно интересных вещей, которые удалось сделать.

Не знаю, все ли заметили – в основном, я не пишу статьи, связанные с общими местами, которые может написать кто-то без меня. Это, в основном, результаты каких-то личных небольших изобретений, которыми мне хотелось бы поделиться. Они «на стыке». Если решение не такое нужное, оно не доходит до статьи. А если решение нужно, то интересно. Некоторые из решений (одно-два) – это наследие старых времен, когда давным-давно мы писали научные статьи и публиковали их. Например, задача о размещении вершин графа на плоскости впервые как идея возникла на ученом совете, когда мы сидели, скучали, а надо было нарисовать большое количество рисунков для отчета по НИР. Как их расположить, чтобы связи меньше пересекались? Пришла мысль. А сколько нужно написать кода, чтобы проверить – будет работать или нет? Мы с моим приятелем поспорили, он сказал, что нужно 300 строчек, я сказал – 15. Мне удалось уложиться. У меня есть серия статей «Минимализмы», она мне самому очень нравится. Иногда это стремление к минимализму излишне – меня ругают за него, но оно идет из тех 15 строчек на MatLab, решающих задачу, когда вам нужно разместить большой клубок связей. И вот вы 15 строчек написали, и этого достаточно, чтобы вся эта физическая система расползлась по листу бумаги, и узлы заняли свои места. Еще и очень интересно наблюдать за этим процессом.

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

В нашей с вами работе довольно много рутины: «Ах, если бы знали вы, из какого сора растут цветы, не ведая стыда». Очень много такого, что: «бери больше, копай дальше». Но все-таки иногда такие задачи встречаются – приходишь на предприятие: «В чем ваша проблема?» – «Мне нужен такой-то отчет». Начинаешь разговаривать с человеком, и выясняется, что ему нужен не совсем отчет, а метод оптимизации, который бы позволил ему оптимальным образом использовать имеющиеся на предприятии ресурсы. Объясняешь и решаешь эту задачу. Получается, что наша работа – это все-таки умение разговаривать с клиентом и видеть действительно то, что он хочет на самом деле. Не то, что он говорит, а то, в чем за этим нагромождением слов, за нагромождением проблем необходимо выделить эту суть, подняться на определенный уровень абстракции. И получается, что практически в каждом внедрении, через одно, через два – можно найти достаточно интересную задачу, которую интересно эффективно запрограммировать. Не обязательно сделать только то, что хочет клиент. Чуть забежать вперед и получить достаточно общий результат. И тут я хотел бы сказать – эти задачи нас больше всего интересуют. И поскольку задач у нас больше, чем мы можем решить, мы даже стараемся отбирать такие задачи. Поскольку наш коллектив так подобрался – в нашей довольно небольшой компании вместе со мной работают три кандидата наук. Мы стараемся выбирать из всех задач те, которые имеют определенную наукоемкость, и это у нас получается. Мы занимались построением маршрутов, оптимизацией производственных программ, раскроем, трехмерной упаковкой. И все это – задачи, которые мы не выдумали себе сами, а нашли у своих клиентов, которые у них, может быть, лежали, отложенные в какой-то долгий ящик.

 

 

У меня возникло ощущение, что вам нравится преодолевать трудности. Это так?

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

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

Вы используете в основном типовые средства 1С или часть логики выносите во внешние компоненты?

Конечно, мы стремимся по максимуму использовать типовые средства, бороться «до последнего», наученные горьким опытом обновления сильно кастомизированных решений. Но есть участки, в которые 1С не заходит и не будет заходить. Мы с 1С уже работаем лет 20, и по скорости того, как она проникает в разные сферы деятельности, становится понятно, что сюда 1С уже просто не пойдет. Значит, здесь нам требуется использовать внешние компоненты. Если раньше я считал, что какими-то изобретательскими приемами можно заставить 1С решить любую задачу, то в последнее время, в принципе, становится понятно, что все-таки скорость работы методов 1С часто может быть недостаточной. И действительно, требуется использовать внешние компоненты, работать с другими языками, которые позволяют использовать современные методы – многоядерную архитектуру, распараллеливание процессов и т.д.

Вы очень активный участник сообщества – участвуете в обсуждениях, помогаете своими ответами. Насколько вы оцениваете, как сообщество 1С-ников может отличаться от других сообществ? Действительно ли в мире программистов 1С царит своя особая атмосфера?

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

Расскажите про ваш управленческий опыт. Для вас управление проектом – это управление процессами или людьми?

Людьми. Я против забюрократизированности. Хотя я понимаю бизнес-ориентированные организации, в которых все везде прописано, все по регламенту, по ISO 9001. Иногда это не только сложено в сейф для получения соответствующего сертификата, но и применяется. Но мы все-таки стараемся идти от людей. Я всегда стараюсь дать подходящую задачу. Давая задачу, стараюсь наблюдать за человеком, насколько это ему интересно. Если по каким-то причинам это не интересно человеку, постараюсь перераспределить задачи с учетом интересов. Такая автоматизированная система, где ты просто берешь задачу с полочки, решаешь ее, возвращаешь результат, где ты не общаешься, мне такая система не нравится. Хотя, возможно, она приносит больше прибыли. Но еще кроме работы должно быть удовольствие от процесса. И в нашей организации до сих пор было так, насколько я могу знать из того что говорят мои сотрудники клиентам, как они отзываются о работе в своей компании. Все-таки люди более-менее довольны тем, как у нас распределяются задачи, какие у нас условия труда. И я стараюсь над этим работать, не только изучая суперсовременные методики управления. Хотя, конечно, с очень большим удовольствием похожу на доклады, связанные с тем, как мотивировать сотрудников, как уберечь их от выгорания. Это все меня тоже интересует. Приехал позаимствовать этот опыт.

 

 

Что бы вы посоветовали начинающим разработчикам, которые только вступили на этот путь?

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

Вопрос от меня лично – какую литературу вы могли бы порекомендовать?

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

 

 

https://infostart.ru/events/


Автор:
Виктория Дорохина Аналитик


Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. &rew 52 30.01.20 05:42 Сейчас в теме
Я человек простой. Увидел "ildarovich" - перешел по ссылке. Для меня - это уже брэнд.
Prometeus2011; Serg O.; RustIG; wbazil; acanta; wowik; maxopik2; Alias; pm74; +9 Ответить
2. pm74 203 30.01.20 08:29 Сейчас в теме
(1) жаль что , в последнее время, ничего не публикует на ис
5. Ibrogim 1327 30.01.20 14:30 Сейчас в теме
(1) Да, вчера ещё подумал, что зря в заголовок не включили ник...

Неплохо бы ещё если бы в расписании на конференции ник бы упоминали...
Тогда не пропустил бы выступления многих звёзд отрасли, к коим несомненно относится ildarovich
RustIG; DarkAn; +2 Ответить
3. awk 744 30.01.20 09:42 Сейчас в теме
- Старею, старею... Два раза ошибиться в одном и том же человеке - такого со мной раньше не было.

© "Человек с бульвара Капуцинов".
4. karpik666 3851 30.01.20 11:09 Сейчас в теме
Отличный разработчик, всегда интересно читать его статьи
Serg O.; RustIG; +2 Ответить
6. starik-2005 3087 30.01.20 14:36 Сейчас в теме
«В чем ваша проблема?» – «Мне нужен такой-то отчет». Начинаешь разговаривать с человеком, и выясняется, что ему нужен не совсем отчет, а метод оптимизации, который бы позволил ему оптимальным образом использовать имеющиеся на предприятии ресурсы.
Никому не нужен отчет - нужны данные, на основании которых будет принято правильное решение. И часто это цепочка решений.

На мой взгляд - это ключевой тезис современного подхода к автоматизации. Бизнесу нужны ответы на вопрос о том, как создать больше стоимости. И все эти "отчеты" - это попытки отдельных людей сделать свою жизнь лучше на том уровне, до которого они дошли. И ИТ должен дать им сделать еще один шаг - решать задачу в сути.
7. &rew 52 31.01.20 05:23 Сейчас в теме
(6)
Никому не нужен отчет - нужны данные, на основании которых будет принято правильное решение. И часто это цепочка решений.

Вы знаете, иногда, нужен именно отчет. Сейчас именно этот "ключевой момент внедрения" решаю. Есть типовой отчет, всё в нем есть, и данные и расшифровки, группируй как хочешь, но нужен именно отчет, к которому привыкли.
Люди очень инертны. Когда видят новое - пугаются, пытаются увидеть что-то знакомое, и всеми силами из нового пытаются сделать старое, вместо того чтобы изучать и развиваться.
8. starik-2005 3087 31.01.20 11:21 Сейчас в теме
(7)
Люди очень инертны.
Люди очень ленивы. Автоматизация должна освободить людей от части их производственных дел, дать им сосредоточиться на главном. Бухгалтеру - на оптимизацию налоговой нагрузки, предпринимателю - на минимизации расходов через повышение производительности труда и повышении прибыли за счет выявления трендов и своевременное обновление ассортимента.

Вот хочет пользователь отчет. А какие проблемы этим отчетом пользователь решает? Пусть озвучит весь перечень и, как показывает практика, всегда найдется способ упростить ему жизнь (ну или усложнить, полностью лишив работы).
9. okulus 06.03.20 07:33 Сейчас в теме
Почему этот человек ни чего не говорит про DDMRP, QRM, POLCA, COBACABANA?
Оставьте свое сообщение
Видеозаписи всех дней и потоков:
101 доклад с презентациями спикеров