В 2005 году мне довелось стать компьютерным мальчиком на одном заводе, который занял место устаревшего предприятия, распавшегося в эпоху СССР. Этот завод занимался производством пластиковых изделий и резинок для различного оборудования. Можно сказать, он выполнял функцию современных 3D-принтеров, только в масштабах целого завода.
Однако самого завода мне не довелось увидеть — мои обязанности ограничивались работой в офисе, который находился далеко от производства. Я должен был оперативно реагировать на звонки и устранять неполадки компьютеров.
Инженеры справлялись со своими задачами самостоятельно, но менеджеры, бухгалтеры, статистики и другие сотрудники — в общей сложности пять отделов — сильно зависели от моей помощи. Моя работа заключалась в основном в ремонте оборудования: переустановке операционной системы Windows, чистке компьютеров и настройке модемов. Это была подработка, оплата за которую была небольшая; иногда мне приходилось прерывать учебу, но в те времена любой заработок воспринимался как важный. Я уже в течение года углубленно изучал программирование и жаждал новых возможностей.
В офисе работал отдел бухгалтерии — пять человек, которые использовали устаревшие программы на MS-DOS. Они работали через эмулятор на Windows XP и сталкивались с серьёзной проблемой: их бухгалтерская база постоянно выходила из строя, и им приходилось восстанавливать её из резервных копий. Кроме того, некоторые компьютеры были настолько старыми, что на них даже стояла система DOS.
В последнее время я в основном занимался тем, что решал компьютерные проблемы, так как никаких других задач больше не возникало. Все остальные неполадки мне удалось устранить.
Бухгалтерши воспринимали меня как настоящего спасителя, ведь я всегда вовремя выручал их в сложных ситуациях. Хотя обновить программы на более современные было вполне возможно, они были к этому не готовы, и наш руководитель часто подшучивал:
— 10 лет назад они считали на счетах, так пусть и сейчас продолжают работать на старых.
И вот настал период отчетности. База данных снова давала сбои. В те времена широкополосный интернет еще не был в общем доступе, поэтому я подключался к компьютеру через dial-up модем и выполнял необходимые действия. Главный бухгалтер как-то зашел ко мне и отметил:
— Я вижу, что ты разбираешься во всем. Скоро начнется подача отчетов, и нам нужно подготовить документы для налоговой. Мы впятером будем сутками вбивать одно и то же в форму, а затем записывать на дискеты и распечатывать части. Я задумалась — может, это можно как-то автоматизировать?
Это был великолепный шанс для меня, начинающего программиста в свои 20 лет, продемонстрировать свои способности. За несколько вечеров я скачал все необходимые инструменты и написал простой скрипт на PHP (других языков я пока не знал), который извлекал данные из одного источника и автоматически вставлял их в нужные поля.
Бухгалтеры занимались своей работой с тремя основными программами, которые не имели возможности обмениваться данными. Я взялся за то, чтобы связать эти программы между собой.
Код этих приложений был зашифрован, но база данных хранилась в привычном текстовом формате. И в результате, весь процесс генерации отчета стал автоматизированным и занимал всего около часа. Я просто подставлял нужные бланки, БИКи и счета, а бухгалтерская арифметика делала все остальное. Оставалось лишь выбрать необходимые галочки и шаблоны — и дело сделано. Я также интегрировал данные из программы складского учета, чтобы они автоматически подставлялись в бланки.
Когда я принес в офис уже готовый отчет, я почувствовал себя героем всего бухгалтерского отдела. Их радости не было предела — теперь не нужно было месяцами вбивать одни и те же данные. Я также добавил формы для оплаты альтернативных платежей как поставщиков, так и покупателей, и создал удобный веб-интерфейс, позволяющий легко «выбивать» нужные документы без необходимости ввода цифр. Все это я "прихостил" на сервере где был официальный сайт конторы.
Но это еще не все. Все пять компьютеров в офисе были подключены к сети, и я наладил так, чтобы они могли одновременно записывать данные на дискеты. Теперь не приходилось дожидаться, пока один компьютер завершит запись, можно было загружать дискету на всех пяти машинах одновременно. Как только один дисковод завершал свою работу, следующую дискету можно было вставлять без задержек. Бухгалтеры были в восторге! Шеф похвалил меня и даже выдал премию. Я ощутил себя настоящим специалистом, задирал нос и высоко держал голову.
Но вскоре мне пришел тревожный звонок — меня вызвали в офис. Судя по тону, дело шло плохо. Когда я пришел к бухгалтерам, меня встретили с новостью:
— Убирай свою программу. Шеф намерен уволить весь отдел, потому что твое ПО автоматизировало 80% нашей работы. И ты знаешь, у меня сестра тут работает...
«Что ж, если так сказано, значит, надо выполнять», — подумал я. Главный бухгалтер, как правило, координировал мои действия и занимал доминирующую позицию в офисе. Шеф вообще не понимал в компьютерах ничего, и иногда казалось, что его роль менее значима. Я удалил программу и вернул все на свои места.
Спустя некоторое время, от них не было никаких известий. Я решил сам навестить офис и сразу же получил от шефа:
— Что ты сделал с моими сотрудниками?! Из-за твоей программы в коллективе возникла такая напряженность, что я чуть не потерял своих людей, с которыми работал целые десятилетия!
В итоге, в тот же день я был уволен. Скрывать не буду: я не подписывал никакого договора. У них была всего лишь копия моего паспорта и мое заявление на трудоустройство. Как позже выяснилось, меня не стали проводить, а зарплата тогда выдавалась наличными.
Я хотел сделать что-то хорошее, получил одобрение и премию, но потом, видимо, задумались и решили вернуться к устаревшим методам.
Некоторое время спустя одна из бухгалтерш призналась мне в магазине, что главный бухгалтер просто подставила меня, сказав шефу, что моя программа создала всю эту неразбериху, и что я мог бы украсть деньги у них со счетов, раз уж был так смышленым. Мол, нельзя доверять молодому специалисту, вдруг он что-то накрутит?
В итоге, я поплатился за свою добрую деятельность. Хотя система работала безукоризненно — в коде не было ошибок, да и быть им неоткуда: нужно было просто грамотно совместить данные из трех баз и взять заранее подготовленный бланк. Более того, за неделю они все перепроверили и не высказали никаких жалоб.
С тех пор я более осторожно подходил к проявлению инициативы и учился на собственных ошибках. Урок был ценным. Но после этого я сосредоточился сугубо на программировании, хотя, возможно, если бы не произошедшее, я до сих пор бы занимался аппаратным обеспечением, потому что они выражали желание взять меня в штат.