«В „Сбере“ я работаю уже почти два года»: история провалов и успехов Java-разработчика
Андрей учился на программиста в Африке и России, но вузовских знаний не хватило для трудоустройства. Тогда он получил их на онлайн-программе.
Иллюстрация: Leo Moko / Unsplash / Pngegg / Annie для Skillbox Media
Андрей Козырев
Россия, Москва
Пройденные курсы
Достижения
Устроился программистом в «Сбер» и увеличил свой доход в 2,5 раза.
✅ Помощь
Привет! Меня зовут Андрей Козырев, по образованию я IT-специалист. После выпуска мечтал стать «серьёзным» программистом, но первое же собеседование провалил. Не хватило компетенций — их, к сожалению, я недополучил в вузе.
Смирившись, пошёл в нагрузочное тестирование — ведь там специальные знания не требовались. И… чуть не умер со скуки. Спасся обучением по Java-разработке: после него у меня получилось осуществить свою мечту — найти работу по профессии и увеличить свой доход. Аж в два с половиной раза. Как? Сейчас расскажу.
Как я учился программированию в Африке, а затем в России
Вообще, я коренной москвич, но, когда мне было 12 лет, семья переехала в Африку, Судан — на родину отца. Там я окончил школу, а затем поступил в столичный университет на программиста.
Университетская система в Судане сильно отличается от российской. Во-первых, из-за языка: официальный язык страны — арабский, но собственной системы преподавания IT в Судане нет, поэтому все книги и пособия по программированию — на английском.
Во-вторых, в процессе обучения я постоянно чувствовал какие-то отголоски консервативного традиционализма. Нам не объясняли, что мы изучаем и для чего — просто заставляли зубрить. Я понимал, что в IT так быть не должно, это бесполезно. Поэтому проучился два курса и принял решение вернуться в Россию, чтобы получить нормальное образование. Мне было 23 года.
От самой Африки тоже устал: замучала повальная бедность, разброд. Плохо развитая инфраструктура, постоянная жара. А в Судане к тому же ещё и растительности никакой — это же пустыня.
Конечно, по возвращении испытал большой культурный шок. Столкнулся с совсем другой жизнью. Уверен, многие соотечественники меня поймут: чтобы испытать это чувство, не нужно возвращаться из Африки, достаточно посетить любую из европейских стран и приехать обратно.
И всё же не всё складывалось гладко. Когда переводился в петербургский университет, томился большими ожиданиями: «Наконец-то у меня будут идеальные занятия в идеальной системе образования!» — думал я. Конечно, всё оказалось совсем не так. Некоторые предметы, которым нас учили, откровенно устарели десять, а то и двадцать лет назад. Например, вряд ли мне когда-нибудь в жизни пригодится умение передавать документы через факс 🙂
Самое грустное, что из-за разницы в программах я не смог перевестись на нормальную IT-специальность, связанную с разработкой. Вместо этого — окончил вуз по общей и довольно неактуальной программе «Информатика и вычислительная техника».
Как я искал, но не нашёл себя в нагрузочном тестировании
И всё же после вуза первым делом я всё равно попробовал устроиться полноценным разработчиком, но не хватило знаний. Тогда решил вместо программирования заняться нагрузочным тестированием: проверять способность различных систем выдерживать большие нагрузки. Например, отказоустойчивость маркетплейсов в «чёрную пятницу»: когда миллионы пользователей одновременно заходят на сайт и нагрузка на сервер растёт.
Для меня в работе нагрузочного тестировщика не было глубины: нужно было заниматься всем и понемногу — тут код чуть-чуть пописать, тут с данными немного поработать, но всё по верхам, без внимательного погружения.
Редактирование дашбордов или запуск тестов в Performance Center — всё это нагоняло на меня скуку. Но самое худшее — написание протоколов. Ох, это было просто мучением: представьте, ежедневно описывать десятки протоколов операций вручную в Word! Через два месяца такой работы я понял, что если останусь в нагрузочном тестировании — просто деградирую. Не в обиду коллегам.
Конечно, если бы в вузе я учился по профильной специальности вроде инженера по разработке программного обеспечения, то ни в какое нагрузочное тестирование идти бы не пришлось. Но случилось как случилось, я не жалею. Зато благодаря нелюбимой работе у меня появились деньги на то, чтобы получить хорошее дополнительное образование и найти уже любимую.
Стал искать курсы и подбирать язык программирования. Остановился на Java. Почему именно он? Честно говоря, просто пошёл по самому простому пути: в нагрузочном тестировании я уже работал с Java и поэтому знал его гораздо лучше, чем С++ или Python.
Оглядываясь назад, понимаю, что поступил не очень дальновидно: я не учёл, что Java — объектно-ориентированный язык, а значит, довольно сложен в освоении, даже если у тебя есть база. И всё же рад, что вообще решился на первый шаг, приобрёл курс — не могу представить, что так бы и оставался в нагрузочном тестировании и каждый день делал одно и то же.
Как я совмещал работу и учёбу
По моим ощущениям, учиться было несложно, всю программу я прошёл всего за семь месяцев. Думаю, помог наработанный опыт: до старта обучения я довольно много практиковался с Java-кодом на стороннем практическом курсе и знал объекты, коллекции и другую базу. Из непростого: трудно поддавался фреймворк Spring, который почти всегда используют для создания приложений на Java.
Учился параллельно с основной работой. Удивительным образом там тоже стали появляться новые интересные задачи — например, новый тимлид дал мне задание разработать программу для парсинга логов со всех наших серверов. Я так увлёкся, что даже отложил дипломный проект по Java. В итоге делал его почти столько же, сколько и учился 🙂
Для дипломного проекта требовалось написать настоящий поисковый движок — облегчённый аналог «Яндекса» или Google с поиском информации лишь по трём сайтам. Всё получилось: мой движок хорошо индексировал страницы и по ключевым словам с лёгкостью находил любой материал.
Я написал программу на Java Spring Boot, разместил на бесплатном хостинге Heroku и, конечно, выложил в свободный доступ на GitHub, чтобы любой человек при желании мог воспользоваться моим решением.
Как я искал работу по новой специальности (спойлер: успешно)
Практически сразу после защиты диплома я обратился в Центр карьеры. Там мне подобрали три интересных вакансии, среди которых больше всего мне приглянулись позиции у «Сбера» и QWEP.
Техническим директором QWEP был Кирилл Кошаев — наш преподаватель с курса по Java. Конечно, мне очень хотелось попасть к нему в команду. К тому же в вакансии он обещал разработчику задачи с использованием полного стека технологий. Но мне не подошли остальные условия. А именно — работа в формате самозанятого. Я всё же искал стабильности. Поэтому, успешно пройдя все три собеседования, принял оффер от «Сбера».
Читайте также:
Многие пугают джунов «непроходимыми» собеседованиями, но мне сложных вопросов не задавали. Всё казалось довольно простым. Да, иногда некоторые уточнения ставили меня в тупик, но я не пытался выкрутиться. Наоборот, честно говорил, что ответа не знаю.
На мой взгляд, очень важно не пытаться казаться лучшим специалистом, чем ты есть. Не говорить, что владеешь инструментами, которыми не владеешь. Будет неловко, когда тебя наймут и это вскроется. Так и до увольнения недалеко.
За что я отвечаю в «Сбере» и какие планы строю
Мои задачи в компании связаны с транзакциями. Мы с командой осуществляем масштабный переход с третьего на четвёртое поколение программной архитектуры «Сбера». Оно довольно сильно отличается от того, что было раньше — например, прежде мы работали с монолитным приложением, а сейчас используем микросервисную архитектуру. В предыдущем поколении не применялось горизонтальное масштабирование, а теперь — да. А ещё появились интеграции с новым ПО внутри самого «Сбера».
Режим у меня гибридный: вторник и четверг я работаю удалённо из дома. Остальные дни — в офисе. Меня такой график полностью устраивает. И дома, и в офисе я постоянно на связи с командой — все задачи мы выкладываем в Jira, а назначает мне их мой тимлид. Задачи простые, понятные, хорошо декомпозированы.
Кстати, так получилось, что в команде я самый младший. Я этому рад, потому что все остальные мне помогают.
В «Сбере» я работаю уже почти два года и в ближайшее время уходить не собираюсь. Здесь вижу перед собой большие возможности для роста и развития: команд много, можно свободно переходить из одной в другую, не увольняясь.
А ещё именно здесь я совершенно внезапно увлёкся автоматизированным тестированием (не путайте с нагрузочным, от которого я бежал). Мне ужасно нравится писать тесты — возможно, это даже моё призвание. Для этого использую самые актуальные технологии, в том числе нейросети, например ChatGPT. Прошу её сгенерировать мне код, используя все самые новые мировые наработки, которые только можно найти в Сети. Беру этот код, дорабатываю и потом многие члены моей команды его используют.
Конечно, в работе есть место и разочарованию: ежедневно я пишу много монотонного кода и не использую все возможности Java, которые изучал. С другой стороны — а чего я хотел? Всё-таки это госбанк, и здесь важнее всего применять проверенные и привычные технологии, чем то, что ещё не до конца изучено.
Но я не расстраиваюсь, на это просто нет времени 🙂 Продолжаю развиваться в профессии, изучаю фронтенд. В нашей мини-команде как раз нет фронтенд-разработчика, вот я и решил попробовать. Если получится — стану фулстек-разработчиком и смогу без чьей-либо помощи создавать приложения целиком. Делать что-то типа FMovies или «Иви».