Моя первая настоящая работа была странной

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

И все горят, и всё горит, и ты в огне
И все горят, и всё горит, и ты в огне

1С-программистом с нулевым знанием 1С. С записью в трудовой «Системный администратор» с нулевыми знаниями системного администрирования. Ну то есть как — эникействовать же все могут, вот и могу. Наверное.

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

Этот случай так запал мне в душу, что я на всякий случай запомнил почти все странности оттуда (и ещё с других мест, где мне нужно было работать с программистами). Байки, во. Пусть будут байки о разработке.

Дисклеймер. Всё пишу по расплывчатым воспоминаниям, поэтому если бывшие коллеги читают это — привет на сто лет.


Странное собеседование

Представьте себе небольшой, но гордый заводик где-то в центре Петербурга. Производят торговое оборудование. Работают прямо с распада СССР, что-то там себе пилят и внедряют инновационные разработки типа ещё более продвинутых этикеток для торгового оборудования. Средний возраст сотрудников точно за 45 лет. Файлопомойка в сети, ограничение доступа к «Одноклассникам» и столовая прямо в здании с очень дешёвыми обедами.

Вот он выглядит ровно так, как вы себе представили.

Ожидание: сейчас расскажу про свои проекты на визуальном бейсике и меня похвалят и возьмут работать, буду там везде свой msvbvm60.dll добавлять без разбора.

Собеседование вообще разошлось с моими ожиданиями. Оно выглядело примерно так:

— (хмуро смотрит в резюме) Значит, вы пишете на Visual Basic?
— Да, вот, есть несколько проектов, могу расск…
— А на 1С не пишете?
— Нет, на 1С не пишу. 
— Вообще-вообще-превообще?
— Да, совершенно точно, даже в глаза не видел.
— Так, а давайте мы будем вам платить чуть меньше на испытательном, а вы пока будете учить 1С по вон тем книжкам (показывает на полку с книжками)?
— А вам точно надо так?
— Да, мы просто давно уже ищем, а никто не соглашается работать у нас сисадмином.
— Но ведь сисадмины не пишут на 1С. 
— Да, но нам нужно, чтобы сисадмин писал на 1С. У нас уже один такой есть, надо ему помогать.

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

Два отдела и ещё один

Следующей смущающей вещью на заводе было странное разделение отделов. 

Ожидание: все программисты понимают, что происходит, и всеми руководит кто-то один.

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

Ещё были какие-то другие программисты, которые вроде тоже пилили софт для оборудования, но каким-то особым, одному гендиру известным образом. Если бы история происходила в 2021, то я бы предположил, что они просто обкатывают Svelte.

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

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

Отель «У погибшего программиста»

Ожидание: ну даже если не VB, то хотя бы буду учиться 1С, а не заниматься всем подряд.

Однажды ко мне пришёл 1С-начальник и сказал — «вот у нас раньше работал программист, был сам по себе (как удивительно, правда?) и написал типа 10 тысяч строк кода на С++, чтобы принтер печатал этикетки. Это было года три назад, он уже уволился, а теперь формат этикеток изменился и надо софт исправить.

Ах, да, ещё теперь принтер работает по ком-порту, а раньше как-то там по-другому. Ах, да, ну и там просто всё сломалось, надо починить. Короче, вот архив с кодом, чини».

Кадр из фильма «Интерстеллар»
Кадр из фильма «Интерстеллар»

Я не рискнул спрашивать, почему это должен делать один-эс-вб-эникей-я, а не те два отдела программистов на Свелте++. Поэтому пришлось лезть в это легаси со своим знанием С++ на уровне «за этой курсовой по связным спискам время идёт в семь раз медленнее. Переждём сессию здесь». Не буду врать, деталей не помню, но в итоге что-то где-то как-то какими-то молитвами чудом заработало.

Сколько раз я поминал того программиста и какими словами — история умалчивает. А ведь можно было хотя бы документировать. Или хотя бы дать тому программисту внятное ТЗ. Или хотя бы пользоваться своим софтом для этикеток чаще раза в квартал.

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

Чат в Jabber и жалкие попытки поговорить

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

Ожидание: ладно, хватит писать статьи, вот сейчас-то устроюсь по специальности и буду гонять зловредов туда-сюда.

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

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

Но как бы не так.

В очень маленькой компании, где каждый работает за троих, у разработчиков и руководства обычно есть всё, кроме времени на разговоры с техписом. Поэтому я терпеливо ждал, пока ребята освободятся, чтобы прочитать и написать ещё одну страницу документации. А потом ещё одну. Всё осложнялось тем, что в 2017 году единственным средством, кроме «прийти ногами и отвлечь от разработки антивируса» был чат в Джаббере, который почти никто не проверял вовремя.

2004: Наши команды общаются по IRC
2010: Наши команды в основном используют Skype, но некоторые из нас предпочли остаться в IRC.
2017: Мы перевели почти всех в Slack. Но трое отказались уходить с IRC и подключаются туда через шлюз
2051: Все сознания слились в галактическую сингулярность. Кроме одного парня, который настаивал на IRC. 
2004: Наши команды общаются по IRC 2010: Наши команды в основном используют Skype, но некоторые из нас предпочли остаться в IRC. 2017: Мы перевели почти всех в Slack. Но трое отказались уходить с IRC и подключаются туда через шлюз 2051: Все сознания слились в галактическую сингулярность. Кроме одного парня, который настаивал на IRC. 

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

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

А что смутило вас в разработке софта?

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

Давайте устроим в комментах добрую ностальгическую беседу с флёром недопонимания. Как раз понедельник же, самое время. Так победим!

Комментарии (21)


  1. korolevpl
    02.08.2021 17:18
    +2

    "Ожидание: все будут охотно делиться информацией, ведь это разработчики и у них есть столько интересного."

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


  1. speakingfish
    02.08.2021 18:29
    +2

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

    Через неделю я уволился (не только по этой причине).


  1. Danik-ik
    02.08.2021 19:43
    +2

    Чего я не ожидал, когда из младоэникеев пошёл в программисты, на завод (где-то 2001 год):

    • Того, что sql это настолько просто, что его можно выучить прямо на практической части собеседования (в объёме достаточном для прохождения этого собеседования)

    • Что мне скажут, буквально: «Будешь хорошо работать — дадим компьютер». В реале два-три месяца мыкался по рабочим местам отпускников

    • Что никого не волнуют технология разработки, методологии и тенденции развития искусства программирования

    Что воспринял нормально, но потом начал бороться — безуспешно, правда:

    • Что разработкой ПО может заниматься не команда, а толпа одиночек.

    выкинула меня тогда из всеобщего пофигизма книга Кента Бека про ХР. После этого стал использовать CVS (Git еще не родился), постигать ООП в частности и абстракции с обобщениями вообще (в этот момент навсегда отплевался от пятого VB)... Было весело.


    1. yellowmew
      02.08.2021 20:24
      +5

      «Будешь хорошо работать — дадим компьютер»

      меня подвели к горе хлама и сказали "соберешь - у тебя будет компьютер"

      Но мне было легче, я реально эникеем пришел тогда работать)


    1. pyur
      03.08.2021 11:04

      «Будешь хорошо работать — дадим компьютер» жизненно.

      Тот, кто через такое прошёл, уже никогда не будет капризничать "Мне все должны!".


  1. vvbob
    02.08.2021 23:29
    +2

    Про завод в Питере прямо моя история. Разве что опыта у меня было побольше, уже не студент, и писал я на С++, на плюсы и пришел устраиваться. В итоге предложили поработать программером на Яве. Учитывая что з/п была мидловская по тем временам, а я только приехал из провинции и деньги у меня уже почти закончились, предложение я немного удивленно принял. О чем не жалею - и Яву изучил, и заработал неплохо, и работа оказалась довольно интересной, правда через несколько лет з/п так и не увеличили, интересный проект закончился, началась какая-то мертворожденная кака, отчего я оттуда и свинтил. Но это, уже, совершенно другая история (Ц)


  1. dartraiden
    03.08.2021 01:21

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

    Ну и у меня самого один контакт в ICQ никак не желает перейти на что-то получше, отчего приходится держать эту самую ICQ.


    1. ruomserg
      03.08.2021 07:37
      +1

      … это еще что! Я до сих пор убежден, что лучше электронной почты — нет средства общения. А если вот прямо совсем-совсем сейчас надо, то придется абоненту придется сделать усилие и позвонить по сотовому!


      1. vvbob
        03.08.2021 08:11
        +4

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


        1. ruomserg
          03.08.2021 09:20
          +2

          Полностью согласен, что звонить по поводу и без повода — не следует. Я же выше начал с того, что упираюсь всеми силами чтобы сохранить E-mail как основной канал коммуникации. Если проблема не относится к числу «кто-то умер» — напишите письмо, в рабочем порядке разберемся. Ну а если, блин, срочно — тогда звоните… Или лучше напишите письмо с деталями, и потом позвоните. Мессенджеры мне лично не понравились, потому что соединяют недостатки обоих способов связи. С одной стороны, они отрывают от работы почти как телефонный звонок (а если отключить уведомления — то потом поди восстанови контексты всех сообщений где тебя тэгнули). С другой стороны, не обеспечивают информативность голосовой связи (если не считать голосовых сообщений — но их вообще следует запретить нахрен). Я предпочту иметь два специализированных канала коммуникации (e-mail + звонки), чем один универсальный (мессенджеры).


          1. vvbob
            03.08.2021 09:54

            Я обычно работаю в полноэкранном режиме в Идее, всплывающие сообщения отключаю (при том что оповещения приходят). Так вполне можно нормально работать. Работаю, периодически отрываюсь, когда устаю и переключаюсь на мессенджеры, читаю что там прилетело за время работы. Так я и на связи, и не отвлекаюсь от работы.

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

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


            1. ruomserg
              03.08.2021 11:30

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

              Чистый мессенджер хорош в ситуациях: «У нас не печатается этикетка//Сфотографируйте что печатается ?//Сфотографируйте переднюю панель? //Нажмите эту (обвел на фото) кнопку// и т.д.». То есть нужно передавать невебральную информацию, и делать это в режиме реального времени.

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


      1. AllexIn
        03.08.2021 08:27

        Звонок это прям очень плохо.

        Лучший канал общения - комментарии к тикету в джире. На крайний случай - IM. На самый крайний - звонок.


        1. ruomserg
          03.08.2021 09:22

          С учетом того, что изменения тикетов можно настроить посылать в E-mail — мне нравится. IM я ограничиваю ситуациями, когда нужно быстро что-то сфотать и прислать с комментариями.


          1. rrrad
            22.08.2021 18:23

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


  1. Dicht
    03.08.2021 08:49

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

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

    А как «шикарно» было возить пару системников на руках, с другого конца Москвы, сначала на автобусе, а затем в метро.

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

    Однажды отправили к каким-то польским ребятам, разработать сайт под ключ. Парни на русском говорили не очень, поэтому все больше приходилось на английском (в то время у меня был максимум уровень B1 и сомнительная беглость речи). Я совсем чуть-чуть знал CSS и PHP, совсем не знал SQL и толком ничего не знал о дизайне веб-сайтов. Понятия не имею как, но в итоге я отрисовал им 3 варианта дизайна, все сверстал, обернул в PHP и jQuery, развернул MySQL, передал напарнику на поддержку и со спокойной душой уволился.


    1. vvbob
      03.08.2021 08:55

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

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


      1. Dicht
        03.08.2021 09:44

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

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


      1. BobArctor
        03.08.2021 11:43

        "Бытовой" польский понятнее потому что опирается на более старый словарь(всякие разные перси\очи\брюхо хоть в школьном курсе литературы но встречались).

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


      1. Danik-ik
        03.08.2021 16:13

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


  1. babenek
    03.08.2021 12:03
    +1

    Общение - важно.

    Моя байка:
    Во время работы в заводе пытались внедрить информатизацию двум бухгалтерам. Кажется, уже было 2 версии каких-то самописек, которыми они не пользовались, а продолжали упорно вбивать данные в эксель. 1С не рассматривалась - это ж деньги тратить надо!
    Пришел, поговорили о жизни, какова была история прежних внедрений. Оказалось, что требования к отчетам менялись быстро, а софт, ясное дело - нет.
    Бухгалтеры привыкли вручную верстать таблицы в экселе, пусть и немного диким способом. Прошу показать процесс:
    - Вот мы вносим сюда количество, сюда - цену, сюда (берёт ручной калькулятор, считает) - результат ...
    - А вот если в экселе вставить формулу... - и я показал им немного магии.
    В итоге, оказалось, что все их нехитрые отчёты прекрасно автоматизировались обычным экселем и ликбезом.