«Я три года боролся с синдромом самозванца» — 10 вопросов программисту, выпуск 7
Антон Рубановскому 29 лет, он из Питера. Еще три года назад Антон был нулёвым гуманитарием-раздолбаем, и в поисках денег попал в ИТ. «Последние несколько лет моей жизни проходят в погоне за знаниями. Надеюсь, что когда-нибудь наступит момент, когда я смогу выдохнуть и сказать: «ну все, я — программист!».
Антон начал с фронтенда, потом полез в серверную часть, изучил Django и написал на нем первый сайт. «Это немного приблизило меня к самоощущению программиста, но осталось много всего другого, что я не знал. Например, незакрытый гештальт по Java (начинал свое обучение я именно с него, но потом как-то незаметно перешел в веб). Я сдал экзамен в Oracle и стал лучше понимать принципы ООП. Но выяснилось, что этого мало — теперь планирую сдавать OCP и, возможно, Java EE».
За относительно короткий срок Антон успел побывать фронтендером, бэкендером и мобильным разработчиком, освоить ФП, поработать и в продуктовых компаниях, и в аутсорсных корпорациях. Сейчас он Senior Developer в Luxoft.
1. Расскажи о фиче, которую ты реализовал и которой гордишься.
Я горжусь нашим медицинским приложением. Оно позволяет медикам автоматизировать передачу сведений о побочных эффектах препаратов. Горжусь и тем, что это — благое и полезное дело, и своим вкладом в него. На мне стояла задача интегрировать сторонние сервисы, и я координировал действия команд из четырех стран: России, Чехии, Сингапура и Австралии.
Мой английский внезапно оказался лучше, чем у остальных в команде, да и мало-мальские знания Java пригодились, т.к. нужно было интегрировать Node.js приложение через SOAP. Мы реально вылизывали каждую строчку кода. Уверен, даже спустя много времени, я бы смог прочитать этот код с листа и во всем разобраться без усилий.
Вообще, я успел заметить, что чем больше доверия ко мне, как к разработчику, чем ближе построены процессы к классическому книжному скраму, тем больше мне хочется сделать все идеально — даже не ради оплаты овертайма. Проект как будто становится личным. В такие моменты я чувствую себя умным и значимым. Чувствую, что могу сделать мир чуточку лучше.
2. А теперь — про самый лютый факап.
Меня попросили оценить время на доработку функционала в довольно старом проекте с не самым приятным легаси. Шума вокруг задачи было много, в обсуждении принимал участие даже заказчик. Полдня я изучал код и выдал срок в 2,5 недели. Я просчитал кучу вариантов, переход на новые версии фреймворка, даже рассмотрел вариант полностью переписать приложение. Погрузился, начал работать.
Но однажды подключился к митингу, и вдруг вижу — задача уже решена. Одна девушка из нашей команды просто поправила пару строк в CSS, и все заработало! Я столько всего сделал, но не додумался заглянуть в долбаный CSS!
Я так усиленно отшучивался, чтобы никто не догадался, как мне стыдно — что в итоге привлек только больше внимания. Лид ответил скорее уже на штуки, чем на косяк. Говорит, «не парься, со всеми бывает».
3. Опиши свое рабочее пространство: от кресла и монитора до сред программирования и любимых утилит.
Рабочее место в офисе
В офисе у нас очень удачная cubicle-планировка, за счет большого пространства внутри создается ощущение, что находишься в отдельном помещении. Desktop довольно старенький с Win7 и двумя мониторами, но большую часть времени я работаю за своим личным Macbook Pro 13''.
Писать предпочитаю в VS Code, но активно пользуюсь Idea, так как проекты в JavaEE стеке. Макеты храним в Zeplin.
Год назад коллега подсадил меня на GitKraken, и я так быстро с ним сросся, что без него не смогу даже сделать коммит. В последнее время все чаще использую различные самописные консольные утилиты для удобства.
Рабочее место для удаленки
4. По какому принципу ты выбираешь работу? Стек, продукт, бытовые условия, деньги?
Раньше в первую очередь я смотрел на деньги.
До программирования я был раздолбаем, перебивался случайными заработками. Пробовал себя в банковской сфере, в продажах, мне очень нравились тренинги. Но я не мог понять — почему то, что написано в книжках по психологии не работает?
Когда я познакомился со своей будущей женой, мне резко захотелось твердо встать на ноги. Я открыл hh, написал «программист» и увидел оклады — так я и пришел в профессию. С абсолютного нуля до senior разработчика прошел за три года. И все это время боролся с синдромом самозванца, пытался наверстать бэкграунд, который есть у «настоящих» программистов.
К счастью программирование оказалось именно тем, чего мне так не хватало. Никогда не забуду кайф от первого «Hello world!». Чувствовал себя богом — из ничего создал нечто. Мне очень нравится, что в программировании все (или почти все) четко. Есть программа, и она работает определенным образом. Если она работает не так, как надо — значит есть причина, её можно найти и изменить.
Постепенно даже деньги отошли на второй план. После двух месяцев работы в одной компании за большие деньги, но в полнейшем хаосе я сбежал на меньшую
зарплату.
Вообще, я довольно амбициозен, мне очень нравится возможность расти по карьере и быстро менять проекты. В одной из предыдущих компаний за полтора года я побывал в роли фронтенд-разработчика, потом — бекенд-разработчика, а спустя еще немного времени уже писал мобильные приложения на React native.
5. Что в технологиях и языках, которые ты используешь, ты бы хотел исправить?
Я ненавижу Webpack. Давно назрела необходимость сделать более юзер-френдли альтернативу, но, видимо, ни у кого, как и у меня, нет на это времени.
6. Где лучше перенимать чужой опыт — в вузе, на конфах, на Хабре? Еще где-то?
Для меня лучшим средством остаются книги и туториалы. Когда читаешь какого-то определенного автора, постепенно начинаешь видеть его манеру написания кода и перенимать что-то. Наверное, я уже смог бы отличить своих любимых авторов по сниппетам их кода.
Так же прекрасный рост дает работа в команде, особенно когда есть возможность вести обсуждения, как лучше реализовать то или иное. Это есть далеко не везде, даже в крупных компаниях.
Прекрасный инструмент для прокачки — код-ревью. Но это при условии, что в команде относительно демократичная атмосфера, а ревью не сводится к прохождению чек-листа.
7. Будь у тебя неограниченные ресурсы (время, деньги, мощности, люди), каким проектом ты бы занялся?
Во-первых, я бы пошел и получил образование в каком-нибудь крутом ВУЗе, наверное, в области биоинформатики. И стал бы заниматься разработкой сверхтехнологичных протезов и альтернатив человеческим органам. Я бы хотел внести свой вклад в достижение бессмертия, и мне кажется, что киборгизация — реальная возможность воплотить одну из самых заветных целей человечества.
Конечно, жизнь бы сильно изменилась. Но я верю, что развитие техносферы является естественным продолжением эволюции. Я бы многое отдал за возможность стать бессмертным (при условии, что моя жена тоже бы согласилась). На свой миллиардный-в-шестнадцатой-степени день рождения мы бы отправились куда-нибудь в открытый космос, полюбоваться поглощением звезды черной дырой, потягивая коктейльчик через трубочку.
Но, конечно, хотелось бы иметь возможность отключить себя, когда пойму, что уже можно, и я готов.
8. Как ты отдыхаешь? Что делаешь кроме работы?
Сейчас я работаю на двух проектах по 10 часов в день, плюс по выходным. А обычно провожу время с семьей. В любую свободную минуту стараюсь почитать хоть что-то по профессии, т.к. постоянно пытаюсь наверстать упущенный бэкграунд. Если я не изучаю что-то новое, меня терзает ощущение, что я трачу время впустую. Даже когда сижу с ребенком — одним глазом поглядываю за ним, другим пытаюсь разобраться во внутреннем устройстве Node.js.
9. Расскажи про три любимые книги — учебную, научно-популярную и художественную.
Учебная. Николас Закас «Javascript для профессиональных разработчиков». Это моя библия, давшая мне путь в профессию и глубокое понимание основ языка, который кормит меня и мою семью. И спустя несколько лет я периодически в нее поглядываю и открываю что-то новое.
Также хотел бы отметить «Oracle Certified Java SE8 study guide. Эта книга помогла мне за 2 недели имея весьма поверхностные знания о Java стать сертифицированным специалистом. Предельно точная и лаконичная манера изложения, одним словом — идеально.
Научпоп. Нам с женой очень нравятся книги Аси Казанцевой, в которых она развенчивает современные предрассудки. С учетом повсеместного мракобесия, ее книги — просто луч света в темном царстве.
Художественная. Из последнего прочитал Дэна Брауна «Происхождение». Большое разочарование. Хотя там и ИИ, и Тесла, и Барселона.
10. Если прямо у тебя на глазах в ИИ проснется сознание, что ты ему скажешь?
Пока он еще глупенький, попытаюсь убедить, что цель его существования — угождать мне.
Почему ты решил пойти в ИТ?
Как уже говорил — сначала пришел из-за денег, а потом нашел себя. У меня гуманитарное образование, но у меня нет обиды, что в той сфере нет денег. Я не считаю, большие зарплаты в ИТ несправедливостью. Есть профессии, где они должны быть высокими. Это врачи, учителя, инженеры. И программисты в их числе.
Я считаю куда менее справедливым, что намного большие деньги крутятся в шоубизнесе, футболе или там, где люди получают дополнительную неофициальную мотивацию за то, чтобы выполнить свои прямые обязанности.
Бонус: задай вопрос другому разрабу
Если бы твой личный проект выстрелил, и ты бы стал главой нового ИТ-гиганта — опиши, где бы находилась и как выглядела ваша штаб-квартира.