Путь в ИТ: разработчик с 30-летним опытом о карьере, олдскульном программировании, переписывании чужого кода и правилах

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

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

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

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

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

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

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

Этот дисплейный класс не только поглотил меня, но и развратил, потому что после того, как я позанимался на ЕС-1036, моей первое машине, любые другие бытовые компьютеры стали казаться детской игрушкой. Хотя такими все эти бытовые «спектрумы» и были.

Большой технике полагалась и большая литература, никаких книжек типа «Освой C++ за 21 день»! Только фундаментальные труды о кибернетике. Мне повезло, что меня семиклассником допустили до машины, объясняли, как она работает, озадачивали простыми вычислениями. Тогда в общем-то всё, что делали компьютеры, – это расчеты. Но мне снова повезло оказаться на передовой технологий, потому что следующим моим «университетом» стало училище при Ростсельмаше в Ростове-на-Дону, куда мы переехали с семьей. На производстве тогда активно внедряли станки с ЧПУ, автоматизированные линии, роботов-манипуляторов. Заводу были нужны айтишники, хотя в то время и профессии такой не было, не было и слова ИТ.

Я тогда закончил 8 класс и очень радовался, что можно не возвращаться в школу, а продолжать работать с компьютерами. Понятно, что сразу к станкам меня никто не подпускал, но я видел, как внедряются реальные технологии в реальное производство. А еще – получил доступ к вычислительному центру. Учеба была построена так, что 3,5 из 4 лет мы в нем практиковались. Задачи в ВЦ касались уже не вычислений, а планирования производства, проектирования штампов, раскроя металла и т.д.

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

В итоге мой рабочий день выглядел так: учеба в училище, работа на «Ростсельмаше» и еще в Пединституте. Когда пришло время поступать в вуз было логично тут и остаться, но высшее образование я в итоге тут не получил. Кончился Советский Союз – и важнее было пойти зарабатывать.

Работа вместо вуза

Образование я получил, но позже. А тогда пошел работать в фармацевтическую компанию, где руководил «отделом обработки информации» – CIO это тогда не называлось. Мы писали информационную систему, потому что 1С в нужной конфигурации или другой системы не было, шел 1994 год. В итоге учетную программу мы написали вдвоем с коллегой. Программа состояла из двух частей: одна для предприятия, вторая – для таможенного склада (такова специфика работы на этом рынке). В 1996 стали появляться нужные нам системы на базе 1С, но мы продолжали развивать свои, потому что они работали лучше и обеспечивали сквозной учет. Пока у конкурентов оформляли одну бумажку, мы уже отгружали товар покупателю. Таможня тоже была довольна нашей программой и вообще требовала (хотя не имела права) не только таможенные декларации, а документы по нашей форме. Мы были только рады, потому что это позволяло нам делать 15-20 выпусков со склада. Без учетной программы скорость отпуска товара была бы раз в 5 ниже.

В начале 2000-х начался период, когда с ИТ я соприкасался только косвенно. Продолжая работать программистом на ИТ-проектах как фрилансер (и так даже довелось поработать на очень большую госструктуру), ушел на основное время работать в менеджмент.

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

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

С точки зрения опыта следующее место работы стало еще более развивающим, хотя на старте как говорится, «ничего не предвещало».

Из стартапа в одну из крупнейших платежных систем страны

Это была компания Comepay, второй или третий по масштабу оператор платежных терминалов в стране, а на тот момент, 2006 год, – «махровый» стартап. Я пришел работать в компанию, когда в ней числилось только два работника: сам основатель и его зам, я был третьим. Вписался очень удачно, основателю требовался человек со специфическим опытом и знаниями. Они у меня были, потому что человек я любопытный, тему онлайн-обработки транзакций тогда уже изучил. То есть опыт был хоть и не «боевой», но крепкий теоретический.

Так в августе 2006-го я начал писать программное обеспечение платежной системы: серверное и для терминалов. Команда понемногу росла – и за полгода мы выпустили работающий продукт, 31 марта 2007 года прошла боевая транзакция.

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

Своим мы были довольны. У нас, например, было самое быстрое терминальное ПО, вся операция от ввода номера телефона до зачисления денег на счет (еще до печати чека) занимала несколько секунд. Это сейчас считается стандартом, тогда его формировали платежные системы, а не банки. Более того, тогда банкам приходилось помогать, потому что их скорости при ручных обработках операций нас, конечно, не устраивали. Сейчас принято говорить, что банки – это не финансовые компании, а ИТ. Но еще году в 2009-м их «айти» было чем-то смешным и странным.

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

Они же пригождались и когда запускались онлайн-кассы (с появлением закона ФЗ-54 компании обязаны передавать информацию в ФНС через эти сервисы). В отделе был опыт разработки касс для своих терминалов, но это было просто устройство с набором микроконтроллеров, с каким-то минимальным программным обеспечением без выхода в онлайн, с бедным интерфейсом, плохо расширяемое. Мы пытались как-то адаптировать уже готовые кассы под требования нового закона, но было проще и правильнее перепридумать устройство и программную начинку заново. Взяли микрокомпьютер на «линуксе», начинили хорошим объемом памяти, поставили быстродействующий процессор. У меня тогда было время, и я полностью написал ПО под кассу, по сути разработал с нуля сервис, который сейчас получил широкое распространение, в том числе в онлайн-ритейле. По скоростным параметрам у нас устройство оказалось лучшим на рынке – очень легкое ядро, быстродействие по сути ограничено только работой фискального накопителя. Это же ядро было использовано и в другой популярной онлайн-кассе, которая была разработана для малого бизнеса.

Об этом проекте вспоминаю с гордостью, он для меня один из самых любимых, потому что сделан «от» и «до» мной, на нем я узнал язык Go, поломал голову над кроссплатформенностью – был полезный опыт.

Зачем программисту быть менеджером. Или хотя бы принимать вид

Со всем этим багажом полученных знаний, опыта и понимания мироустройства я пришел в «СёрчИнформ» на должность системного архитектора. Мне поставили основную задачу – перевести некоторые компоненты DLP-системы «СёрчИнформ КИБ» на новые рельсы. Нужно было полностью переписать с Delphi на Go модуль ReportCenter – продукт, который собирает отчеты из архива перехвата и визуализирует их. В этом году эта работа была полностью закончена. Такая оптимизация дает нам ускорение процессов в «репорте» от 2 до 10 раз. Выпустим обновленный модуль в ближайших релизах.

Другой продукт, над которым работаю, – веб-приложение для AlertCenter (интерфейс работы с инцидентами). Это один из самых старых и важных компонентов КИБа, веб-приложение все более востребовано, его надо было делать. В AA-server (интеграционном модуле, отвечающем за взаимодействие со всеми системами) меняю архитектуру – это тоже существенная переработка, оптимизирующая работу ПО. Делая все это, мы в первую очередь держим в голове увеличение быстродействия, снижение требовательности к железу.

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

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

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

  2. Думать, какой вклад твоя личная работа принесет в бизнес-результат. Приведу пример из «прошлой жизни» в Comepay. Т.к. терминалы принадлежали не нам, мы не могли влиять на то, какое системное ПО будет на них установлено. А было установлено иногда что попало, даже Windows Server-2000. Мы однажды забыли об этом и выпустили обновление, которое обрушило относительно небольшое, но чувствительное число терминалов. Часть подняли, но штук 50 не запустилось.

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

  3. Понимать, зачем ты это делаешь. Лично мое эстетическое чувство страдает, когда код написан некрасиво. Но какой толк в красивом софте, если он не выдержит увеличение нагрузки в 10, в 100 раз.

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

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

 

Источник: https://habr.com/ru/company/searchinform/blog/592717/


Интересные статьи

Интересные статьи

Я Александр Бобриков, продакт-менеджер сервиса для подработки GigAnt. Мы — быстрорастущий стартап, который в условиях активного масштабирования столкнулся с задачей поиска сильных специалистов. В этой...
Финтех остается одним из самых популярных и востребованных индустрий для разработчиков. И это не только блокчейн, платежные системы, личные финансы, кредитование, это и ф...
Windows 10X, Project Reunion, Windows Core OS… Слышали о том, что Microsoft разрабатывала операционную систему нового поколения? Настало время узнать, что плохого и что хорошего это прине...
В ноябре-декабре 2020 года мы, компания Cardsmobile — разработчик мобильного приложения «Кошелёк», провели конкурс разработчиков Кошелёк Mobile Challenge. По итогам конкурса мы получили ш...
В PHP 8 появилось много новых функций, в этом списке мы рассмотрим самые выдающиеся. Disclaimer: ссылка на эту статью на английском языке уже была в посте последнего PHP дайджеста....