Всем ку! Эта статья является текстовой адаптацией одного из самых популярных интервью на youtube-канале "АйТиБорода" - интервью про Java (более полумиллиона просмотров). Если кто-то не знает, на этом канале несколько раз в месяц появляются интервью с айтишниками о технологиях, ЯП и персоналиях. Приятного прочтения! — Привет, Рома! Расскажи, где ты учился и как вообще попал в IT? —  У меня на самом деле два образования: одно незаконченное высшее, второе  — законченное. Законченное высшее — техническое, но абсолютно никак не  было связано с компьютером. Я  инженер по бытовой технике, инженер-электромеханик. Специализация  «бытовая техника», факультет приборостроительный. Приборы там и  аппараты, что-то в этом духе было. Незаконченное — это вообще  юридическое, то есть ещё дальше от IT. На базе первого (высшего) тогда  ещё можно было несколько получать. Но я его не закончил: дошёл до  последней сессии и решил не сдавать. Потом был почти девятилетний путь в  сферах, очень далёких от IT. В закупках работал и аналитике рынков,  рекламное агентство открывал — довольно разнообразные сферы. — А в каком году ты в университет поступал? —  В 2002 году поступал. В 2007-м окончил и вот после этого где-то восемь с  половиной лет в разных сферах себя пробовал. А в программирование  пришёл на самом деле абсолютно случайно. Конкретный день уже не могу  вспомнить — всё-таки это не вчера было, где-то посреди недели. Мне на  работу надо было ехать по кольцевой минуты три, наверное. Проснулся  пораньше, и как-то очень не хотелось ехать. Я тогда курил ещё. Вышел на  балкон, закурил, взял ноутбук, открыл его и решил: надо чем-то себя  занять. Потому что на тот момент у меня была только работа, дом, работа,  дом.  Ну  и решил: дай попробую себя. Может быть, какие курсы. Ну, хобби себе  какое-нибудь найду. Открыл ноут, и мне в принципе было просто всё равно:  парапланирование, вязание крестиком, вышивание — без разницы что. Но  так уж получилось, что тогда шла довольно активная агитация IT-Академии  (одна из школ в Беларуси). Вот везде эта всплывающая контекстная реклама  была. И как раз всплыло в тот день что-то типа: «Хочешь зарабатывать  миллион миллиардов? Приходи к нам, мы тебя научим!»  Я решил: почему бы  не совместить приятное с полезным? «Миллион миллиардов» всё-таки  заманчиво звучало. Вот так я и попал в IT.  Я решил: почему бы не совместить приятное с полезным? «Миллион миллиардов» всё-таки заманчиво звучало. Вот так я и попал в IT.  Просто  пришёл на курсы. Как-то отучился. Причём первый курс в академии  действительно именно «как-то отучился». Еле-еле окончил. Из нашей группы  сертификаты получили человека, по-моему, четыре из 12. — А откуда желание что-то поменять вообще появилось? —  Как-то так сложилось, что раз, наверное, в года два-три я менял место  работы. В одной компании поработал по распределению два года, потом  три-четыре месяца ещё поискал новое место. В разных местах: и в  «Газпром» попал наш белорусский, и в «Амбассадор» поработал — это  минский завод виноградных вин. И на EnTiti поработал. — Короче, это была запланированная смена работы? —  Да, через определённый промежуток времени мне нужно было что-то менять.  Сейчас в IT, слава богу, можно менять проекты, не уходя из одной  компании в другую. А тогда это было достаточно проблематично, потому что  в организации есть одна должность, и если бы я сказал: «Не хочу больше  быть логистом, сегодня хочу работать бухгалтером», — меня бы просто не  поняли. Всё равно бы пришлось искать новое место. Поэтому такое желание  возникало само собой периодически. — Нашёл курс и сразу пошёл на Java? Это осмысленный выбор? —  Это было похоже на то, как я в принципе решил попасть в IT. Шёл набор  на курсы с таким достаточно абстрактным объявлением: «Хочешь стать  программистом?» Зашёл к ним на сайт, и на той неделе стартовало много  курсов: JavaScript, Python, PHP. Тогда  я думал, что PHP — это круто. Я с ним ещё когда-то там в школе и на  первом курсе более-менее работал: какие-то сайтики делали. Подумал: ну  вот тут я, наверное, что-то буду понимать. Потом смотрю — JavaScript.  Думаю, ну про JavaScript я слышал: там HTML, CSS, JavaScript — ну вот  слова из одной области какие-то, думал. Но эти курсы шли 11-13 дней от  того дня, когда прочёл само объявление. А Java стартовал через три дня.  Решил: ну попробую, может быть, есть место в группе. Позвонил, и,  действительно, место в группе было. Причём одно. Вот так. Поэтому Java  (смеётся). —  Страха от такой кардинальной смены рабочей атмосферы не было? Многие  боятся идти в программирование: думают, что там много математики нужно,  что это сложно. Было у тебя такое? —  Не, наверное, не было. Я ж говорю: пошёл на курсы, а они же начальные. Я  понимал, что математика мне особенно не понадобится. Мне было интересно  узнать в принципе, что такое переменная и как это, когда нажимаешь  кнопочку, а там — «Hello, world!» выскакивает. Не просто, как когда в  блокноте что-то написал. Когда в первый раз написал свою первую  программу «Hello, world!», понял: ну, всё просто, теперь я умею  программировать. Когда в первый раз написал свою первую программу «Hello, world!», понял: ну, всё просто, теперь я умею программировать.  — Думал тогда, что пойдёшь работать программистом? Или просто по приколу пошёл на эти курсы? —  Изначально шёл туда, чтобы занять себя. Но план, конечно, был.  Первое-второе занятие думал: о, прикольно, что-то пишу, что-то где-то  работает. Но тогда же ещё не было понятно, что именно работает: что-то  написал и что-то происходит, а ты этого не видишь. То есть руками нельзя  потрогать, чего нельзя сказать, например, о вёрстке или дизайне. Там ты  рисуешь — и сразу всё видно. Наверное,  с занятия пятого, когда я уже первый свой цикл написал, — калькулятор  был, он алгоритм какой-то простенький считал, — просто запустил эту  программу, шифтов 10-12. Мне не надо было мышкой нажимать на этот значок  «play» зелёный в IDEA. И оно что-то мне посчитало и выдало на экран.  Числа там рандомно генерились, и я заранее не знал, какой ответ будет. И  тогда я решил: ну, а почему бы и нет? То есть я могу рандомно  генерировать что-то. Если я здесь испортил программу, я могу портить  программу и в коммерческих целях. Как-то так и повелось (смеётся). Если я здесь испортил программу, я могу портить программу и в коммерческих целях. Как-то так и повелось.     — Сколько времени прошло со старта курсов до трудоустройства? —  С момента старта курсов и до осмысленного «куда я хочу попасть на  работу» прошёл где-то год. Большую часть этого времени параллельно  работал на основной работе. За два-три месяца (до окончания курсов) я  уже уволился. — Что занимало тебя весь этот год? Ты же, наверное, не только Java изучал? —  Понятное дело, что это не сухое изучение языка — везде нужны какие-то  паттерны, какие-то решения. Если просто писать код, то это будет мало  чем отличаться от обычной автогенерации того же кода в IDEA. Книжки  читал. Есть, например, такая книга отличная — «Приёмы объектно-ориентированного проектирования. Паттерны проектирования», «Банда четырёх» (Gang of Four) написала. Я  пытался их (паттерны) понять. Мне сказали, что это отличная книга.  Старшие коллеги говорят: «Почитай — будет полезно». Но эту книжку, я  думаю, нужно было читать хотя бы после года, чтобы понимать, о чём там  вообще написано. Но мне сказали, что будет полезно. И я её прочитал, но  не всю. Наверное, только треть осилил. Понял, что дальше мне будет  понятно ровно столько, сколько и сейчас. То есть ничего.[5]  — Из года обучения сколько заняли сами курсы? Весь год ходил на курсы и самообразовывался? — Шесть месяцев заняли курсы. Когда закончил IT-Академию, у меня была конкретная цель — попасть в EPAM.  Мне предлагали какие-то маленькие компании, типа на стажировки, а потом  на трудоустройство. Но вот у меня знакомые работали в EPAM. И я много  слышал о том, что это хорошая компания для становления: понимать сами  процессы, бизнес-процессы. И да, там действительно довольно строго  поставлены именно эти сами методологии. То есть цель была попасть именно  туда. Между  окончанием курсов, IT-академией и началом внутренних курсов была  достаточно большая разбежка по времени. Сразу попасть в лабораторию  «епамовскую» я даже и не планировал, потому что нужны были какие-то  знания. А я же говорю, окончил курсы. А вот как их окончил — сам не  понял. Поэтому нужно было ещё что-то понять: сначала написать, а потом  понять, почему это заработало. — Но в итоге ты в «лабу» попал? — Да, ну после их внутренних курсов я попал в лабораторию. — И уже через «лабу» твоей первой работой стала EPAM? — Да. — Чем ты там занимался и сколько в целом проработал?  —  В EPAM проработал где-то два с половиной года. Сразу попал в самый  большой проект Thomson Reuters. Раньше это был просто такой проект на  EPAM. Потом всё переросло в самый большой юнит. А сейчас Thomson Reuters  — самый крупный заказчик. И так получилось, что я ещё попал в их самый  крупный проект. Я даже и не скажу, сколько он уже пишется, сколько он в  уже в активной разработке. Но когда я туда пришёл, я понял ещё меньше,  чем я понимал на курсах и в лаборатории. Там всё было какое-то «своё».  Мне сказали, что там будут классные технологии, стек такой большой… и  фронт, и бэк, и Spring, и Hibernate, и EclipseLink есть. — Короче, всё, что хочешь: облако, микросервисы…? —  Да. А когда ты только-только начинаешь, написал первое «Hello, world?»,  и думаешь: «Таак, чтобы дальше изучать?» Ну, наверное, machine  learning! Написал первое «Hello, world?», и думаешь: «Таак, чтобы дальше изучать?» Ну, наверное, machine learning!  — Или сразу ракету запущу на Марс? —  Да, в AI пойду что-то творить! Ну всегда такое желание есть. Вроде как  недавно научился переменные складывать между собой. Всё, следующий шаг —  написать свою нейронную сеть. Естественно, меня это так привлекло:  столько технологий, столькому научусь! Меня заперли на этот проект. Я  открыл и понял, что ничего не понимаю в этом. И где-то, наверное,  месяцев семь я фиксил баги. Причём там даже это было делать  проблематично, потому что проект большой: в организации работы  использовали правильную методологию, поэтому чтобы просто исправить баг,  нужно было и митинги, и апрувы получить. И шло это всё со стороны  заказчика достаточно долго. —  Знаю, что в «лабы» EPAM-а очень сложно попасть, потому что там очень  сильный отбор по английскому языку. У тебя с этим всё гуд было? —  В целом да. Я никогда не изучал английский язык целенаправленно. Он был  в школе, и я иногда присутствовал на занятиях. И то, наверное, только  половину времени. То есть языками никогда не увлекался, но так  получилось, что я много игрушек в детстве повидал. И все же они в  основном на английском были, потому что… ну потому что пиратские. Потому  что лицензионные никто не покупал почти. Это  потом мне, естественно, сказали, что нужен будет английский. А изучать  его мне особо негде было. Потому что подтягивать сразу и техническую  часть, и часть с английским языком — проблематично. Высасывает очень  много энергии. Я пытался просто книжечки читать и программировать. Если в  одном шло хорошо, то в другом — уже не так хорошо. Поэтому я просто  перевёл весь свой environment на английский язык, насколько это было  возможным. Слава богу, у меня тогда уже был смарт-телевизор. Он перешёл  на английский. И все программы, и плейлисты. Телефон тоже перевёл на  английский. Литература тоже по максимуму смотрелась на английском. Ну и,  понятное дело, что из Stack Overflow — это наше всё — тоже всё шло на английском. Все  три месяца, пока шли курсы, я, как мог, по максимуму тянул информацию  для себя именно из англоязычной части интернета. Ну, наверное, помогло —  более-менее собеседование прошёл. — Сколько тебе было, когда начал интенсивно обучаться программированию? — Мне было 28-29… наверное, 30 лет. — Не было какого-то хейта в духе: «Куда ты попёрся?» Как к решению отнеслись родственники и друзья? —  Из родных, близких и круга наиболее близкого к моей семье меня,  естественно, поддержали. Ну потому что все привыкли к тому, что я  постоянно меняю место работы и увлечения: то я по горкам на велосипедах  гонял и ломал себе конечности, то тайским боксом занимался после  института. И не то чтобы для здоровья пошёл заниматься, мне же надо всё  по максимуму. Потом пошёл к соревнованиям готовиться по боксу. И  доготовился настолько, что после этого больше им никогда не занимался.  Поэтому отнеслись спокойно. А  вот на работе коллеги… В 18:00 часов заканчивалась работа, а в 18:30  начинались курсы — нужно было как раз полчаса, чтобы доехать. Вот там  было много негатива. Мне говорили, что не получится: «Ну 30 лет. У тебя  не тот склад мышления, там нужно образование…» — вот эти все стереотипы,  что нужна математика, теория алгоритмов. — Можешь показать им фак! —  Да! (смеётся). Ну вот «не тот склад ума, и вряд ли мне что-то это  даст». Говорили, что курсы — напрасная трата денег и времени, что лучше  бы я продолжал работать на прежнем месте.  Я даже в какой-то момент к  этим словам прислушался и пошёл по собеседованиям по своему предыдущему  профилю. И слава богу, что меня тогда как раз кризис стукнул: в тот  момент было очень тяжело найти работу — многим контракты не продлевали. В  поисках работы прошатался по рынку в целом где-то месяца два. Меня не  брали. Говорили, что курсы — напрасная трата денег и времени, что лучше бы я продолжал работать на прежнем месте.  Потом  взяли на одно место. И в принципе там даже достаточно неплохо было,  сравнивая с моим предыдущим местом работы. Но в тот момент как раз  позвонили из EPAM-а и сказали, что берут в лабораторию. Ну и,  естественно, от первого варианта я отказался. В лабораторию меня брали  на бесплатно, а там — за деньги. Но я подумал, что в EPAM может  выгореть, есть какая-то перспектива. Решил: почему бы не попробовать,  если берут? Пускай этот кризис пройдёт. Если что — найду себе потом  работу. Слава богу, что-то отложить себе успел: на полгода или годик  хватило бы. —  Когда переходил в EPAM и вообще в IT, рейт у тебя был, как у джуна.  Сильно ли это отличалось от того, что ты зарабатывал на своей основной  работе? — Ну да, прилично. — Были из-за этого опасения, что не туда идёшь? —  Опасений, наверное, не было, потому что к тому моменту мне уже начало  нравиться. Уже не просто какие-то циклики писал, я уже мог сайтик  написать. То есть мог написать и, так скажем, дать другим людям  посмотреть, потрогать. Мне было очень интересно и по кайфу. Что-то  писал и понимал, что я делаю. Ну, начинал понимать, что я делаю.  Появлялся интерес. У меня и сейчас нет предпочтений в плане «там на $500  больше платят — всё, надо идти туда». Абсолютно нет. Если работа  интересна, коллектив хороший, то смысл её менять? По зарплатам в IT  когда-то достиг психологической планки: если ниже, то будет какой-то  дискомфорт, но тем не менее… Сейчас  HR-ры на собеседованиях очень часто спрашивают: «Что у вас на первом  месте: зарплата, коллектив, проект, технологии?» И вот изначально — да,  вопрос зарплаты был сверху, а потом опускался всё ниже и ниже. Мне  настолько уже незначительно, слава богу. Но поначалу было дискомфортно,  потому что зарплата отличалась не «на», а «в» раз пять, наверное, в  шесть. Раньше доход от сезона зависел — я в торговле работал. Поэтому  если там всё хорошо в сезон, тогда раз в пять. То  есть это было достаточно дискомфортно, когда понимал, что получаю  зарплату и нужно сейчас заплатить за коммунальные… Ни для кого не  секрет, что у джуна очень низкий рейт. Ну и ещё вхождение. Особенно  таких возрастных, например, как я. Не знаю, как это выглядит со стороны  работодателя, возможно, такой человек будет более лоялен. Но с другой  стороны, это какой-то переученный человек. — Хочешь сказать, что эйджизм сказывается на рейте? — Не знаю. Я думаю, что, возможно, и так. — То есть каких-то конкретных примеров на своём опыте ты не ощутил? — Я как-то и не пытался особенно вдаваться вот именно в рамках Java. — За два с половиной года в EPAM-e до кого успел дослужиться? Почему сменил работу? —  В EPAM-е есть строгая система рейтингов. Вот у меня был d2 — это  Middle. Потом перешёл на проект и стал вроде как d2 key developer. — У тебя d2 было с ходу после «лабы»? —  Понятное дело, нет. Первая возможность получить d2 появилась где-то  через месяцев пять, но я пошёл получать только через месяцев девять. В  EPAM очень интересная система: когда появляется возможность перейти на  d2, можно было получить промоушен по тайтлу. Свой, скажем так, рейтинг. И  к этому приурочивался промоушен финансовый. Наслушавшись своих старших  коллег, сначала по максимуму получал промоушен финансовый: где-то  технологии выучил, курсы закончил. Потом шёл на d2, к которому также  прилагался промоушен. — Лайфхак? —  Не знаю, насколько лайфхак, но меня как бы устраивало (смеётся). А ушёл  просто потому, что проект Thomson Reuters — это большущий такой юнит.  Очень тяжело было развернуться. Он давно был запущен, архитектура строго  выстроена. И добавление новой функциональности было минорным, мало  отличалось от уже существующей. Грубо говоря, полмодуля берёшь,  копируешь и просто немножечко рефакторишь, меняя название. — EPAM же большая, почему не перешёл из одного проекта в другой в рамках одной компании? —  Проект Thomson Reuters располагался прямо через дорогу от моего дома.  Если нужно было к 9:00 на работу, то в 8:55 я выходил из дома: по  переходу — и в бизнес-центр, где мы и располагались. И это определённый  отпечаток накладывает: уже не хотелось куда-то час ездить. Это первая  причина. В  здании находилось несколько проектов, и на все ходил собеседоваться.  Они в принципе не сильно отличались по стеку, а в том момент для меня  было критичным наличие прямо новых-новых технологий. Тогда я ещё не  особо понимал в динамике и развитии проекта, насколько он интересен для  инвестора. Будут ли туда какие-то новые фишки добавлять, что-то  выпиливать, рефакторить. Может, там будут монолитные микросервисы как-то  разбивать? Мне  был интересен Spring, Hibernate, но это стандартный стек. Плюс там по  фронтенду можно было Angular какой-то себе выбрать. И вот так было  примерно во всех проектах на Thomson Reuters. Это я уже потом понял, что  так оно везде, но тогда искал чего-то такого прямо нового-нового и  поэтому ушёл. —  Следующее место работы — Softeco. Долго его искал? Сколько  собеседований прошёл, прежде чем устроился? По факту была первая  полноценная сессия собеседования в IT? —  Нет, первая полноценная сессия собеседования была, опять же, для  промоушена. К тому моменту в планах была свадьба. Мне уже не хотелось  откладывать 80-90% зарплаты. Хотелось, чтобы было как-то посвободнее. Ну  потому что и кушать хочется, и свадьбу. Мне  уже не хотелось откладывать 80-90% зарплаты. Хотелось, чтобы было  как-то посвободнее. Ну потому что и кушать хочется, и свадьбу.    — Это в каком году? —  Это был последний год работы в EPAM. Тогда я действительно активно  ходил по собеседованиям, собирал офферы. Но не для того, чтобы ими  шантажировать… Я так, пришёл спросить, не хотят ли повысить зарплату.  Мне сказали: «Ну как бы не то чтобы очень хотим». И тогда я уже сказал,  что есть офферы. —  Многие так делают, все всё понимают, за это блеймить не буду. Мне  интересно, а что ты говорил на «собесах», когда приходил? Там же  спрашивали, мол, готовы ли пойти работать? И ты говорил: «Просто оффер  хочу поднять»? —  Не, я, конечно, не говорил, что хочу поднять оффер. Мне бы тогда  сказали: «ну тогда не получится, мы вам просто не отправим оффер».  Потому что смысл на меня тратить время, если я к ним не планирую идти? — То есть ты юлил? —  Нет, я не юлил. Уже была идея сменить проект. Правда, вряд ли я там  конкретную компанию рассматривал, но вот не исключал такую вероятность,  если будет что-то действительно интересное. Иногда очень приятно просто  пообщаться с HR-ом, с техническим специалистом. И вот ты уже понимаешь: а  почему бы не сменить компанию? Здесь действительно может быть интересно  и хорошо. — Какие бы ключевые точки выделил в своём становлении тем программистом, которым сейчас являешься? —  Когда выбирал между фронтендом и бэкендом, тогда ещё заканчивал  лабораторию, пошёл на первый свой проект — Thomson Reuters русский. И  первые три месяца был очень воодушевлён новым проектом, новыми людьми и  тем, что в продакшене. Работал усердно, а потом понял: как тут усердно  не работай, это всё будет достаточно долго. Потому что и процесс  согласования долгий и коды review — небыстрое дело. Хотелось найти себе  увлечение, чтобы занять свободное время. И я решил посмотреть в сторону  фронтенда. Потому  что исправление багов не очень мне интересно было. Потому что это и  бэкенд и фронтенд. Там же юзер что-то не видит, например, во фронтенде, и  для него уже это ошибка. А это ошибка, например, у меня на сервере. Вот  чтобы до этого докопаться, мне было бы проще это сделать, если бы  разбирался в том, что там происходит наверху. Сначала прошёл  онлайн-курсы по JavaScript — не помню, как точно сайт называется.  Более-менее понял, как эта штука работает, и решил попробовать ещё  Angular, на тот момент уже второй. — Уже лучше, чем первый. —  Ну, наверное. Я с первым вообще не имел дела. В лаборатории из нашей  группы ушёл человек, который научился на «Джаве» и пошёл во фронтенд.  Вот он тогда мне и сказал: «Второй Angular можешь посмотреть». Я  посмотрел и даже написал несколько своих приложений. И в целом интересно  было. Тот же, грубо говоря, опыт TypeScript. — Но ты же остался в бэкенде? —  Да. Так вот потому я в нём и остался. После этого у меня была такая  немножко смена деятельности модуля внутри моего проекта. Сначала работал  над модулем, который уведомления рассылает, email и всё в этом духе. И  перешёл на модуль поиска — это, понятно, более нагруженная система, и  она постоянно задействована всеми другими модулями. Работы мне  прибавилось. И, опять же, изначально это тяжело — многое непонятно. Потом  всё как-то устаканивается, и уже более-менее ориентируешься. И когда  это устаканилось, решил: «Так, у меня незаконченное дело осталось с  фронтендом, с Angular». А он, Angular, в тот момент уже был четвёртый. Я  вроде как не сильно понял, что произошло и думаю: дай опять спрошу у  коллеги своего. Он говорит: «Ну да, Angular — это круто, но сейчас очень  модно React». И  вот у меня диссонанс начал возникать. То есть год назад я начал учить  Angular, вроде что-то из мира JavaScript, а потом мне говорят: «Можно  учить Angular четвёртый, если хочешь апгрейдить, но там уже есть React».  Думаю: ну ладно, хорошо, React, может, что-нибудь ещё из этого?  Говорят: «Да! Вот сейчас как раз Nod.js, и на нём можно писать можно  писать фронтенд, бэкенд». Короче, мне просто слов набросали и говорят:  «Вот сейчас это модно». Год назад я даже слов ещё таких не знал.  Подумал: хочу туда, где немножечко поспокойнее. И как-то так отошёл от  фронтенда. Именно тогда решил, что Java всё-таки нравится больше. Там  всё как-то постабильнее. ~~~~~~~~~~~~~~~~~~~~~~~~ На этом всё. Спасибо за прочтение, друзья! А вот и полная полуторачасовая видео-версия интервью. Приятного просмотра :) P.S. Кстати, Рома сейчас активно занимается помощью в переквалификации всех нуждающихся из числа пострадавших от репрессий в Беларуси. Респект, мужик!