Как стать матерым штурмовиком, или истории из жизни

05.04.20

Сообщество - О жизни

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

История о том, как я решил стать программистом.

С чего бы это?

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

В школе у нас в том конце 80-х поставили компьютеры - класс с гордым названием "Учебный комплекс - научный центр" (УКНЦ) на базе компьютеров "Электроника МС 0511". И вот нас, четвероклашек, привели в кабинет информатики, включили перед нами компьютер, и заставили решать простой тест по математике, разработанный наверное учителем. И тут меня снова ударило током - я точно понял, чем хочу заниматься.

Первый шаг

Летом между четвертым и шестым классом я взял у своего друга книжку "Бейсик", которая была адресована студентам ВУЗов, и начал методично исследовать. Да, половину слов я откровенно не понимал, вторую половину слов я понимал с трудом, но меня это не остановило. Но когда я дошел до примера кода программы, которая (как было написано ниже) отображала движение нолика, отталкивающегося от стенок, то я просто от желания понять, как это работает, чуть ли не вешался - состояние было то еще! И некого было спросить, а интернет к тому моменту еще не изобрели (по-сути, в 93-м, когда появился первый веб-браузер).

Именно сочетание веб-протокола от Тима Бернерс-Ли, который обеспечивал коммуникацию, и браузера (Mosaic) от Марка Андриссена, который предоставил функционально совершенный пользовательский интерфейс, создало условия для наблюдаемого взрыва (интереса к Веб). За первые 24 месяца, истёкшие после появления браузера Моsaic, Web прошёл стадию от полной неизвестности (за пределами считанного числа людей внутри узкой группы учёных и специалистов лишь одного мало кому известного профиля деятельности) до полной и абсолютно везде в мире его распространённости.

— A Brief History of Cyberspace, Mark Pesce, ZDNet, 15 октября 1995[

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

Да, я не знал еще никаких специальных алгоритмов, но первый шаг был сделан, а это главное.

Развитие наступления

В те далекие времени получить информацию можно было только из книг и от друзей. Я узнал от одноклассника, что есть компьютерный кружок на станции юных техников и там есть место. Я бегом помчался туда и записался - до этого я уже посещал эту станцию и с горем пополам делал там планер на авиамодельном - это было явно не мое. В итоге за 10 рублей в месяц у меня была возможность трогать компьютер руками и даже программировать на нем. Странно было то, что большинство посетителей кружка были моими ровесниками (+/- 1 год). Среди них был мой ровесник Евгений, который программировал со скоростью мысли и чуть ли не с закрытыми глазами писал просто горы кода на бейсике для этой самой Электроника МС 0511, но это было понятно - у него дома был такой компьютер, а он стоил (на минуточку) 750 рублей - просто огромные для того времени деньги!

В итоге я с этими ребятами постоянно общался и бесконечно обменивался опытом. Дома у меня компьютера не было, но меня это не останавливало - все школьные тетрадки были исписаны сначала бейсиком, а потом и ассемблером и машинным кодом (благо, для Электроники код был весьма простым).

Школа

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

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

После 9-го класса я решил пойти в строительный техникум, но прямо перед экзаменами заболел и не смог в итоге эти экзамены сдать. К тому моменту я уже свободно программировал на машинном коде и бейсике, мог машинный код в этот бейсик вставлять (была такая функция userdef, если я правильно помню, которая могла определять подпрограмму по указанному адресу). И всю осень и зиму я продолжал развиваться в части программирования - даже купил и прочитал книгу Питера Абеля "Ассемблер для IBM PC и программирования" (да, вот так переводчик перевел, а потом еще целую страницу объяснял, почему перевел именно так).

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

В итоге прихожу я такой в школу - в 10-й класс я даже не просился - и показываю учителю информатики на той самой Электронике пример машинного кода для периферийного процессора (Электроника - интересный был двухпроцессорный компьютер с центральным и периферийным процессором, в отладчик ПП можно было зайти через комбинацию клавиш в меню "УСТ", понятно дело, что мало кто об этом знал, а мелодию проиграть можно было только на ПП - там находился регистр управления битом зуммера, который я энное количество раз в секунду менял - по списку частота/длительность). И если первые слова учителя были о том, что "а чего вы этого ко мне привели", то последние слова был "а фиг ли ты а 10-й класс не пошел учиться?". В итоге я резко был зачислен в 10-й класс со следующего учебного года, а учитель информатики, который и не собирался больше быть классным руководителем, внезапно им в моем классе стал. Да, не каждый день такое происходит.

В итоге работой была разработка программного комплекса для того самого автоматизированного тестирования знаний учащихся, а т.к. я примерно один тест писал за один день (ну может за пару, если нужно было геометрию нарисовать с АБС и прочими треугольниками, квадратами, параллелепипедами и сферами), то в итоге 80% пакета написал именно я, а в 94-95-м учебном году этот пакет победил на областном конкурсе компьютерных программ и мне вручили портативный кассетный плеер - и я был безмерно счастлив!

Также в школе я участвовал в двух олимпиадах (в 10-м и 11-м классе) и разделил во второй 4-7 места, т.к. не особо вникал в математику и ни разу не решал никаких олимпиадных задач - это уже потом, в университете (я там работал) мы с коллегой спортивного интереса заради решали олимпиадные задачки. Но для человека, который не готовился даже - я ж тесты разрабатывал - я, как мне кажется, справился не плохо - до сих пор эти задачи, кстати, помню.

Университет

В школе еще учитель меня познакомил с заведующим кафедрой информатики ныне института развития образования (ранее название было ИПКиППК, что очень долго писать))). Это был серьезный компьютерный волк, в свое время писавший систему учета на крупнейшем предприятии города на коболе. Машины там были класса ЕС ЭВМ, про которые я очень много прочитал всякой литературы - я вообще примерно раз в месяц какую-нибудь книжку покупал про компьютеры. Он там работал с женой, я туда ходил больше пить чай и делал некоторые проекты (например, тест по биологии, от которого даже у методиста по биологии поехала крыша - она и вопросы мне дала). Также мы с Евгением (тем гуру с компьютерного кружка) делали проект Муравей-исполнитель, но к его практически завершению класс УКНЦ был заменен классом IBM PC, поэтому труд оказался не востребованным, но мы огребли кучу экспы и явно получили не один левелап.

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

В итоге с декабря 1996 года я стал работать лаборантом за 82 рубля в месяц. Доллар был шесть рублей, поэтому моя заработная плата была равна 14-ти примерно баксам )))

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

В университете на том же этаже, что и кафедра химии, была лаборатория дендрохронологии. В городе было множество деревянных зданий - памятников архитектуры, и лаборатория выполняла работы по датированию всех бревен всех домов, вела научно-исследовательскую работу. Ее директор был "уважаемым в мировых дендрохронологических кругах" ученым, но всю работу делал младший научный сотрудник лаборатории, которому позарез нужен был софт, а софта почти не было - был подаренный немцами пакет TSAP (анализ и представление временных рядов, стоил $3 000), была свободная библиотека от американцев DPL (Библиотека дендрохронологических программ) - и все. Ну еще была Quattro Pro и Нортон командер. И за три года я сделал для лаборатории несколько конвертеров с печатью временного ряда для дальнейшего датирования "на лампе" путем сопоставления напечатанного на кальке графика нескольких рядов. Потом был написан вьювер с печатью, что привело к тому, что печать и предварительная датировка стала делом двух минут. Количество рабочих мест в лаборатории сократилось с 4-х до одного, на котором осталась милая девушка, 80% времени играющая на рабочем компе в линии (50к набирала) и ColorTet - там вообще рекорды были заоблачными.

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

В написанных там программах было много эвристических алгоритмов. В конвертере был реализован механизм автоматического определения формата файла (их к тому времени наплодили более 30-ти, и все 30-ть система умела определять и читать), в пакете для исследования флор - механизм выдирания флористических элементов из любого текстового файла со всеми теми сокращениями, которые допускались. В итоге исследователь мог просто принести файл в лексиконе (да, в 1997-78-м годах многие еще сидели на MS DOS) и он автоматом подгружался в систему, в которой было несколько отчетов, посчитать данные которых было весьма непросто (как-то провели на 5-ти флорах и 30-ти видах эксперимент, который показал, что человек это делает сильно дольше и ошибается, в то время как компьютер не ошибался - программа работала правильно).

В итоге за два с небольшим года работы в университете я очень неплохо разобрался в разработке экспертных и аналитических систем, научился применять алгоритмы для решения статистических задач да и вообще для работы с данными. Вся разработка шла на Паскале (BP 7.1) в объектной модели, часть кода была написана на Ассемблере. Часть программ была реализована в защищенном режиме, когда программе становится доступна вся память компьютера. И все это под DOS.

Работка, работочка!

А не пойти ли мне куда продаваном?

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

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

Франч

Целый год я пилил 6-ку за сначала 800, а потом и 1000 рублей в месяц, что для меня после 112-ти рублей лаборанта и иногда каких-то денег от лаборатории было очень даже не мало. Но тут внезапно один мой знакомый, который видел, как я пишу код еще в университете для лаборатории, ляпнул директору одной франчевой конторы (я там комп себе покупал), что знает паренька, который умеет программировать. В итоге со мной решили познакомиться поближе. Я перешел во франч и стал заниматься автоматизацией окружающих предприятий за уже 3000 рублей в месяц. На дворе стоял 1999-й год и доллар был уже не тот.

Франч стал делать проект в магазине сантехники - очень продвинутый магазин, в котором стоял MS Access и на нем была сделана компьютерно-кассовая система - АРМ кассира. Решение было очень интересным, т.к. в "главной книге" - движениях - позволяло очень быстро совершать всевозможные отборы и искать ошибки, но поддерживалось одним человеком, который много где в городе эти системы установил и не мог толком заниматься их поддержкой. В итоге возникающие проблемы решались очень долго. Я за месяц не особо торопясь сделал ровно то же на типовом ТиС 8.0 для 1С 7.7, т.е. фактически запилил им АРМ кассира с теми же ровно клавишами. Когда пришло время переходить, то одна кассирша - Людочка - плакала крокодильими слезами и обещала уволиться, но через 20 минут после работы в новой системе и не обнаружив никаких практически отличий от старой системы весьма повеселела.

У меня в это время намечалась свадьба, поэтому вопрос денег был для меня весьма важным. Директор сантехники сделал мне предложение, узнав о моей зарплате, которое в два раза превышало предыдущее - 6000 рублей, и предложил вперед заплатить зарплату за квартал, а директор франча даже взаймы на свадьбу денег зажал, в итоге выбора не оставалось, кроме как уйти в сантехнику.

С нее, собственно, и началось мое глубокое погружение в учетные задачи и автоматизацию. Я женился, переехал в съемную квартиру, купил диван и зажил! Правда из 4к, которые я получал (2к отдавал сантехнике, т.к. получил сразу ЗП за квартал) 1,5к отдавал за квартиру хозяйке. На остальные деньги вполне прилично (на мой взгляд) жил.

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

Свободный поиск

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

Все-таки продаван!

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

Опять 1С.

Работу я нашел случайно - один сосед, которому мы провели свою районную ЛВС, в районном мирке спросил, нет ли у меня желания пойти побеседовать в одну контору, которой нужен был специалист по ИТ. И я пошел. И они меня взяли - прямо с улицы. Основная проблема у них была в том, что работать с 1С 7.7 могли одновременно не более трех человек, а у них одних бухгалтеров было человек пять, да еще и финдир, которому нужны были зачем-то оборотки. Все дело было в какой-то винде (не помню уже точно), которую юзали в качестве сервера, а она имела ограничение на количество одновременно открываемых файлов, поэтому и не давала зайти всем желающим. Несправедливость была устранена путем переустановки 2003-го сервера (а может даже 2000-го), после чего директор конторы - бывший генерал КГБ и друг бывшего прокурора РФ Чайки, кстати - сказал, что вот человек с улицы решил проблему, которую кандидат наук не мог решать пару лет (имея ввиду компанию, возглавляемую каким-то кандидатом технических наук, которая их обслуживала).

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

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

Получал я там где-то 15 000 рублей, но клиентская база никуда не делась, а помимо прочего я еще много компьютеров умудрялся продавать, что тоже давало доход (фактически я получал с розничной цены 5%, если продавал компаниям по безналу, а если частным лицам - то и все 10-15% + стоимость установки ОС и обучение, если необходимо).

Дальше, выше, больше!

Как-то со мной связался один бизнесмен, который планировал создать оптовую базу китайского ширпотреба. Им нужно было наладить учет, а у меня был уже опыт. Я перешел работать у ним, и моя зарплата стала 25к, что для региона было вполне неплохо на то время (да и сейчас вроде не самый худой вариант). Запустил я ТиС 9.2 буквально за пару дней, при том купил и собрал все компьютеры, протянул ЛВС, установил с нуля софт (тогда никто даже не думал покупать лицензионную винду), принтеры, принетр ШК (промышленный принтер этикеток с просто огромной скоростью печати, я разобрался с его языком и этикетки печатались по 10 в секунду примерно), сканеры ШК и т.д.

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

И вот тут было несколько историй.

Инвентаризация и авантюрист

Мой коллега ездил на инвентаризации не впервой, поэтому поделился технолгией: сотрудники магазина записывали штрих-коды в журнал, а потом он вводил их в программу. Я выпал в осадок, но решил съездить посмотреть - я ж человек типа новый. Приехали, они закрыли магазин на неделю и вывалили на стол журнал с ШК. Я решил пресечь это дело на корню, заставив девок-кассиров (да, которые на базаре семечками торгуют - это ж деревня была) быстро "прощелкать" весь ассортимент на кассе. Все разделились на команды с задачей как можно быстрее продать все товары в магазине. Коллега сказал, что из этой авантюры ничего не выйдет, а я сказал, что писать в XXI веке ШК на бумажке - это полный бред. В итоге к вечеру второго дня был полностью "продан" весь товар - девки с непривычки много косячили и приходилось пересчитывать некоторые полки по нескольку раз, а ТСД у нас пока не было - он появился чуть позднее.

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

Кстати, на третью инвентаризацию в этом магазине обнаружилась недостача вина на 720 тысяч рублей (мы раз в квартал ездили), после предоставления директору магазина всех накладных и ОКСМ, выверенных с кассовой книгой, по выбранным 10-ти позициям с максимальной недостачей, ей ничего не оставалось делать, как признать. Не знаю, как эти убытки были покрыты, но доходил до меня слух, что нашли грузчика, который ежедневно по ящику выносил. После этого недостач такого масштаба в магазине не было - было в пределах разрешенного 1%.

А вот еще одна история.

Новый сотрудник и программный код

Мы решили, что нам нужен еще один 1С-овский программист. Пригласили человека и поехали с ним на инвентаризацию. У нас к тому времени появился ТСД с какой-то системой, позволявшей выгрузить список ШК в файл. После того, как мы этим ТСД прощелкали алкоголь, я дал задание новому сотруднику на тему загрузить это все в инвентаризационную ведомость в 1С. Новый сотрудник был, видимо, не программистом, а девопсером и сделал очень (ОЧЕНЬ) большие глаза, т.к. в 1С не было кнопки загрузки из этого ТСД - пришлось за 30 минут на его глазах написать обработку загрузки файла в ведомость, а я так и не понял, кто его собеседовал.

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

Я - фермер!

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

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

Нерезиновая

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

Первая работа в Москве была достаточно простой - администрирование из дома компьютерной сети, переустановка систем и определенного ПО. Что делала эта сеть - я особо не вдавался, но мне платили 1 000$ и предоставляли жилье. Через пару дней друг сказал мне, что неизвестно. на сколько эта контора и лучше бы мне поискать еще одну работу, я изложил свой путь в резюме на HH и через неделю уже работал на второй работе, а на первой продолжал жить. Т.к. работа номер РАЗ была с 15 до 2, а вторая с 8 до 17, то я купил себе первую галактику от самсунга - на дворе начиналось лето жаркого и дымного 2010-го года, - чтобы админить со второй работы первую с 15 до 17, что мне в принципе удавалось.

Вторая работа была связана с 1С в лице очень сильно допиленной УПП, заработную плату после испытательного срока предлагали 80к, а на испытательный - 60к. С учетом доллара в 30 рублей доход был для меня просто баснословным - 3 000$!!! Я столько денег никогда не видел, а т.к. я не пью и не курю, то и трать их мне было некуда, но потом потихоньку разобрался и даже этого стало мало ))))

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

Автомат и человек

Оптимизация - штука отличная, но требует знания математики. Я математику при работе в институте освоил неплохо, но реализовать оптимальный раскрой было задачей непростой даже для меня. В существующей системе просто был запущен скучный полный перебор всех реек с попыткой разложить на них нужные для заказа обрезки и уложиться в 18% отходов, при этом стоял лимит времени перебора - 30 секунд. Мне, как математику знающему, было очевидно, что уже даже для 10 реек - две с половиной рамки - количество итераций полного поиска бедет равно 10!, а это, на ту самую минуточку, в районе 3 000 000. А такое маленькое количество рамок было редкостью - общий пул заказов превосходил 10 реек в десятки раз, в факториал от 20 - это уже просто дохрена (миллиарды миллиардов с нехилым лишним). И тут я вспомнил про алгоритм рюкзака, про который совместно с жадным алгоритмом, также писал - вот тут.

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

А второй момент был в мастере, который рейки пилил. У него была мотивация на объем распилов и он, как самый умный, просто настраивал пилу на максимальный размер в задании и пилил все рейки этого размера. Потом пилил все рейки поменьше, потом еще поменьше - т.е. реализовывал жадный алгоритм полностью забивая болт на схему раскроя, а ко мне сыпались вопросы, почему это мастер постоянно дозаказывает материал. Ну так, товарищи, это ж мастер! Ему до расхода материала как до Луны пешком )))

Вот такой он - человеческий фактор!

Вторая московская работа

Поднадоел мне этот производственный процесс и я решил перейти на другую работу. Открыл свое резюме, дописал туда очередную - уже московскую - работу и стал ждать. Через 10 минут раздался первый звонок, через 20 - второй. Уволился я в понедельник, а на первое собеседование я пошел уже в среду.

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

В итоге я уволился в понедельник, а в пятницу (я выторговал четверг с боем) уже работал на второй работе.

Там коллектив был не менее профессионален, плюс в конторе был проект на Java, который постоянно лез в 1С за данными дополнительных полей клиентов, информацией о ДЗ и прочей нужно для онлайн-сервиса информацией. Я сначала занялся проектом бизнес-процесса по оформлению виз, но проект после красивой презентации руководителя отдела по работе с посольствами так и не взлетел (а может и взлетел - не знаю, ибо человек тот ушел и я о визах больше не слышал). Но определенную волну он породил и к нам в отдел пришли ходоки со своим видением некоторых личных производственных проблем, но опыт меня научил упрощать, и остальные механизмы были куда ближе пользователю.

После того, как я вошел в тему и стал решать задачи, ко мне упала задача по автоматической печати документов. Принцип был простой: 1С генерировала кучу печатных форм, они должны были отправляться на специальный сервер, который потом позволял пользователю по своей карте произвести печать своих документов. Реализовано было криво - внешняя обработка, запускавшаяся в стартующей по часам 1С, которая просто посылала макеты на принтер один за другим. Проблемы тут было две: регламент не успевал за ночь сформировать все печатные формы, а обработка постоянно вылетала: то лицензия, то appcrash, то еще какая напасть. В итоге я решил переработать механизм. В части формирования форм был реализован многопоточный код с полной информацией о том, что уже напечаталось, а что еще нуждается. И тут случилась еще одна напасть - ночью стал падать rphost, на котором трудился регламент, поэтому пришлось сделать постоянно перезапускающее печать регламентное задание, которое проверяло, не упала ли автопечать, и если та упала, то для списка клиентов потока автопечать перезапускалась (для каждого из пяти потоков). Потом выяснилось, что rphost падает из-за одновременного создания объекта ВК для генерации ШК - 1С-неги сделали его потоконебезопасным, поэтому я обернул это простым файловым мьютексом, о котором написал вот здесь. И это решило проблему!

Тут же была изменена и "клиентская" часть, которая теперь включала пять Linux-серверов на базе debian, с которых скрипт на PHP, запускающийся раз в минуту, печатал падающие в шары PDF-файлы - уж кто-то, а Linux умеет печатать на всем, что не приколочено, тем более на промышленных принтерах. И никакой клиентской 1С.

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

А еще была автоматическая рассылка отчетов, модуль отправки почты, интеграция CDEK и DHL, обмен с бухгалтерией и другими системами, сравнение баз через SQL, обрезание и перенос остатков, ... А сколько всего крутого сделали другие разработчики - просто не перечислить! Очень была крутая компания, но т.к. это бизнес-тревел, то сегодня они на грани банкротства в связи  с последними событиями. Но специалисты, которые там работали, точно не останутся без работы, ибо они очень круты.

Третья работа в Москве

Ну вот плохо я встаю с утра, с трудом, и, бывало, опаздывал я на полчаса. На первой московской работе за это был штраф в 300 рублей, поэтому за пару лет я всего пару раз опоздал, на второй вроде как штрафа не было, но руководитель отдела решил качнуть прав на эту тему. И тут я пошел на принцип - написал заявление и ушел. Денег было у меня с моим потреблением года на три, поэтому я максимально загнул сумму на HH и решил отдохнуть. Но звонки все-равно были. В итоге я сходил на собеседование к каким-то девелоперам - у них была УПП, но на половину вопросов теста я ответов не знал (управленческий учет в части отражения в УПП - я с этими блоками не работал, а если и работал, то поле трех с лишним лет допила УТ просто забыл) и так и написал, звонка не последовало, но я не сильно расстроился - даже обрадовался.

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

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

Всем всех благ, не болейте!

Карьера Жизнь Работа Образование Развитие

См. также

"250+ тысяч, в штат и работу пока не ищу": как изменился типичный 1С-ник в 2023 году

О жизни Россия Бесплатно (free)

Подводим итоги работы в 1С за 2023 год. Все о вас: 4 подробных раздела с цифрами, графиками и ужасными цветами диаграмм (должна же где-то быть стабильность).

08.02.2024    22133    Neti    85    

107

Адекватность работодателя. Как её определить? Часть 2. Процесс работы, от испытательного срока до увольнения

О жизни Бесплатно (free)

В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.

22.01.2024    3639    biimmap    67    

69

Адекватность работодателя. Как её определить? Часть 1. Собеседование, заключение трудового договора

О жизни Конфигурации 1cv8 Бесплатно (free)

В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.

16.01.2024    5134    biimmap    99    

78

Идеальное место работы для ЗУПера... Какое оно?! Часть 1. Негативные тенденции, ненужные знания.

О жизни Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Импортозамещение увеличило потребность в архитекторах, аналитиках, разработчиках 1С, в т.ч. по ЗУП. Все их ищут всеми возможными способами, но не могут найти и не знают, чем же их завлечь к себе!? Давайте разберёмся в этом вопросе!

27.11.2023    4300    biimmap    52    

72

15 лет вместе...

О жизни Сообщество Бесплатно (free)

Прочитав название публикации, мысль возникает о свадьбе... Но речь не об этом!

25.08.2023    2517    biimmap    24    

51

Как изменилось собеседование разработчиков 1С за последний год

О жизни Россия Бесплатно (free)

«Многие кандидаты хотят от собеседования простую вещь: чтобы оно длилось пять минут и брали сразу на 300 000 в наносекунду», — Эльдар Мингалиев, разрабатывает новые форматы собеседований.

22.08.2023    13921    Neti    161    

107

Зачем и как ставить плюсы

О жизни Бесплатно (free)

Не раз сталкивался с тем, что пользователи сайта не очень понимают, как ставить плюсы и зачем. Многие думают, что поставить плюс = добавить публикацию в избранное. В статье будет кратко об этом.

21.08.2023    3653    biimmap    93    

126
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. genayo 05.04.20 11:51 Сейчас в теме
Зря всё в одной статье, можно было сделать из этого сериал на год-другой, с лирическими отступлениями и философскими рассуждениями. Здесь такое любят.
Алексей_mir2mb; IGS_1C; Skif1989; catv; +4 Ответить
2. Алексей Воробьев 302 05.04.20 12:22 Сейчас в теме
(1) С языка клавиатуры сняли :-)
Эпично. Больно уж много времени на чтение ушло, но дочитал до конца. Если бы не выходной - не осилил бы...

У всех свой путь в своем же искусстве :-)
Skif1989; catv; +2 Ответить
3. starik-2005 3036 05.04.20 14:17 Сейчас в теме
(2) блин, забыл опять написать "Астарожна, многабукф!"
4. capitan 2470 05.04.20 14:32 Сейчас в теме
Когда я учился, как то так компьютеры выглядели
5. CheBurator 3119 05.04.20 17:13 Сейчас в теме
Почитал, вспомнил своё былое...
Спасибо, что не поленился написать!
Алексей_mir2mb; Skif1989; +2 Ответить
6. iulyus 05.04.20 17:46 Сейчас в теме
Прочитано на одном дыхании! Очень интересно - зная, при этом, человека лично.
Алексей_mir2mb; Skif1989; +2 Ответить
7. ig-efrem 17 06.04.20 09:28 Сейчас в теме
статья интересная, спасибо
8. NeSPEC 45 06.04.20 17:06 Сейчас в теме
Прочитал - свой путь джедая вспомнил.
Молодец автор.
9. Tavalik 3358 07.04.20 08:50 Сейчас в теме
Спасибо. Интересно было прочитать. Да, у каждого свой путь. )
10. a_a_burlakov 287 07.04.20 18:26 Сейчас в теме
Спасибо.

Но у меня закономерный вопрос: на пути вашем не встречались такие сущности колоссального значения, как жена и дети? :)

Спрашиваю, потому что сам женат и имею двоих маленьких детей, и это основное счастье моей жизни, но интересен опыт людей, которые свои психофизические ресурсы как-то грамотно раскидали между работой и домом.
11. starik-2005 3036 07.04.20 18:41 Сейчас в теме
(10)
на пути вашем не встречались такие сущности колоссального значения, как жена и ...

Тут сложный вопрос. Жена случилась - об этом написано. А вот с детьми было сложно....

Сразу почти после свадьбы одна моя знакомая, которая работала на рынке, как-то позвонила и спросила, не могли ли бы мы приютить девчонку 11-ти лет - у нее сгорел дом, мама с отчимом бухали после этого, в итоге ребенок оказался у той моей знакомой, а их в двущке и так было пятеро, плюс она поехала работать в соседний город, так что вообще некуда ребенку деваться. А мы снимали полуторку (двушку, но одна комната 8 кв.м всего). Я согласился, жена была не против. В итоге эта девчонка сама себя везде оформила (в интернат, документы все сама взяла, при том сейчас ей уже 31 год и она говорит, что то время было как в тумане - ничего не запомнилось) и жила у нас с осени только по выходным. Мы оформили опекунство, а через пару лет приглашений на всякие тусовки "приемных родителей" мы взяли еще одну девчонку тоже 11 лет (2 года разницы у них), но уже из детского дома - сейчас, кстати, из 20к детдомовских детей Мск только 1,5к живут в детских домах - остальных пристроили в семьи, есть программа, что если берешь сразу пятерых, то дают квартиру многокомнатную в столице.

Потом появился и свой - ему 13 лет скоро уже.

Думаю, что надо еще троих завести )))
AR18; Boris_1c; Andrei_Ivanov; san4o; Yakud3a; papami; gubanoff; PowerBoy; UtSpar; rabota.v8.1c; ubnkfl; LeXXeR; D_e_X_T_e_R; KiLLius; RustIG; Tavalik; Алексей_mir2mb; oleg-m; a_a_burlakov; TODD22; +20 Ответить
12. TODD22 18 07.04.20 19:05 Сейчас в теме
13. пользователь 29.05.20 12:12
Сообщение было скрыто модератором.
...
14. Dmitry888 41 06.02.21 15:09 Сейчас в теме
(11)Спасибо за статью и проделанный труд в ее написании. Было интересно и захватывающе это все читать, по крайней мере потому, что это Реальная жизнь и реальный опыт. Мне всегда было любопытно узнать, как умные талантливые люди, достигшие в своей области больших высот, к этому пришли...и тут благодаря вам и вашему труду, я эту одну из историй узнал. Также прочитал комментарии, в которых вы указали частичку вашей личной жизни - и эти ваши поступки заслуживают отдельной похвалы, одобрения и восхищения вами. Надеюсь еще не раз столкнусь с вами на просторах этого сайта!
PowerBoy; +1 Ответить
15. scientes 288 14.06.21 16:50 Сейчас в теме
Всегда приятно осознать, что живешь в стране с умными и порядочными людьми.
PowerBoy; +1 Ответить
Оставьте свое сообщение