Обложка: Моя история в IT: из юриста в Python-разработчики в 45 лет

Моя история в IT: из юриста в Python-разработчики в 45 лет

Андрей Середа, 45 лет
Андрей Середа, 45 лет

Junior Python Developer в CDNvideo

С чего всё началось

В школе я учился в математическом классе и изучал программирование. Это было давно: мы работали на Basic, а компьютеры были старые — на них даже Windows ещё не было. Когда пришла пора выбирать высшее образование, я предпочел юриспруденцию — в 1993 году профессия программиста в Твери не казалась очень перспективной. Времена были непростые, и зарплата была для меня приоритетом. Я смотрел, какие профессии наиболее востребованные и чем мне было бы интересно заниматься. На тот момент «юрист» звучало неплохо.

Параллельно с учебой в университете я искал варианты подработки — так, в 1996 году я в первый раз стал программистом в Тверском государственном архиве. Им нужно было вести базу данных по награждённым в период Великой Отечественной войны. Я по факту занимался обработкой информации, но в трудовой книжке написано гордое «программист». То есть можно считать, что мой путь в IT начался 25 лет назад. Там тоже ещё не было Windows — работали в MS-DOS на монохромных дисплеях с зелеными буквами, как в «Матрице».

Я выпустился, переехал в Москву и начал работать юристом. Сменил много компаний, в том числе Яндекс, где трудился восемь лет. Тогда там работало всего 300 человек, а в юридическом отделе — трое. Когда же уходил из Яндекса, я уже был начальником одного из отделов юридического департамента, а в самой компании работало несколько тысяч человек.

Потом я попал в Яндекс.Деньги, затем открыл собственную юридическую практику, успел посотрудничать с издательством «Просвещение». Но, где бы я ни работал, я всегда был так или иначе связан с IT. Всё время сталкивался с разработчиками, пытаясь понять суть их проблем, не абстрагируясь от технической части, а, наоборот, как можно глубже погружаясь в их мир. Мне было важно понять, как всё устроено, да и вообще всегда было интересно возиться с компьютерами.

Когда решил всё изменить

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

И в очередном отпуске я встретился со знакомым, который рассказал, что проходит бесплатные курсы по Python. Мы немного поговорили, и мне тоже стало интересно. Я довольно быстро прошёл те же самые курсы и понял: мне нравится. Решать задачки, изучать учебные материалы, искать дополнительную информацию — всё это приносит удовольствие.

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

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

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

Тогда мне было 44 года, и казалось, чем дольше я тяну, тем меньше шансов, что что-то получится. Поэтому я подошел основательно: отказался от юридических клиентов и посвятил высвободившееся время учёбе. Конечно, мне было страшно, но страх не был парализующим. Я просто понимал, что может не получиться. Держал в уме, что я не лучший вариант для нанимателя, ведь он хочет вкладываться в развитие специалиста: от 25-летнего можно ожидать большего, чем от 45-летнего. Я понимал, что возраст не играет на руку и осложнит поиск работы. Но я был готов.

Как выбрал бэкенд

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

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

Но потом я всё же выбрал бэкенд. Мне понравился Python — понятный, логичный и красивый язык, который чем-то похож на человеческий, если можно так сказать. Как юрист, я питаю слабость к правильным, корректным, структурированным и лаконичным формулировкам.

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

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

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

Как проходило обучение

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

Например, наставник говорит: «Всё здорово, осталось только поправить несколько небольших ошибок». И я вроде рад, а потом смотрю и вообще не понимаю, как это сделать. И сижу ночью, ковыряю проект вплоть до утра. Даже не потому, что надо, а просто потому, что появляется азарт.

Были и более фрустрирующие моменты. Я спрашивал себя, зачем ввязался, ведь у меня ничего не получается, это вообще не моё. Кроме того, почему-то таких ошибок, как у меня, не было ни у кого из одногруппников. Я злился на себя, но потом давал время успокоиться и начинал решать заново.

Очень помогло общение с одногруппниками. Я привык решать все проблемы сам и до последнего пытался ответить на свои вопросы самостоятельно. Мне потребовалось время, чтобы переломить себя и начать задавать вопросы, общаться. Я так привык, что потом уже активно включался в переписку и не только спрашивал, но и старался помогать другим. Это такая дополнительная мотивация — не один возишься с заданием, а вместе с другими. Им тоже сложно, но они идут дальше, развиваются, перебарывают себя и становятся лучше. Не терять мотивацию также помогала поддержка близких и друзей, которые говорили, что у меня всё получится, и радовались успехам.

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

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

Так выглядел первый заход на дипломный проект в Практикуме

Как искал работу

В конце мая 2021 года я защитил дипломный проект и начал искать работу. У меня не было радужных иллюзий: понимал, что человек, прошедший курсы, не самый желанный кандидат. Поэтому я начал этот путь, как все, — смотрел вакансии на hh.ru, сделал резюме. Ребята из Практикума помогли его допилить, исправить несколько моментов, переставить акценты. Второй важный этап — заставил себя писать сопроводительные письма, не шаблонные, а акцентированные — для конкретной вакансии.

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

Так выглядел мой журнал поисков работы

Но трудоустройство всё-таки произошло, и довольно неожиданно. Это была первая компания, которая провела со мной собеседование — первое и единственное собеседование после 30–40 откликов на вакансии. Состоялась всего одна онлайн-встреча, но сразу с тремя людьми, включая руководителя разработки и HR.

Собеседование прошло хорошо: спокойная дружественная атмосфера, они рассказали о себе, я — о себе. Задавали вопросы, давали задачки на логику, алгоритмы и на знание Python. Мне кажется, что одним из положительных факторов, повлиявших на решение работодателя, было то, что после собеседования я не забыл про эти вопросы и спустя день или несколько отправил другие ответы, позволяющие оптимальнее решить некоторые из поставленных задач. Возможно, это сыграло свою роль — я показал свою заинтересованность.

Мой совет всем, кто начинает этап собеседований: не надо стесняться, если вы чего-то не знаете. Когда меня хотели поспрашивать про SQL, я сразу ответил, что это бессмысленно — я им занимался шесть месяцев назад и практически не помню синтаксис, поскольку на курсах мы работали с базами данных в основном через Django, использующий свой язык запросов. Я готов был подтянуть знания и пообщаться снова, но в тот момент я не мог говорить на эту тему. Человек не может знать всего, и не надо этого стесняться.

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

В чём состоит работа Python-разработчика

Я — Junior Python Developer в компании CDNvideo. Она занимается технологиями CDN — раздачей контента при высокой нагрузке. В основном это контент для веб-сайтов с большой аудиторией — картинки, аудио- или видеофайлы, которые потребляют много трафика, онлайн-трансляции. Эти технологии помогают распределять контент по серверам в разных точках мира и отдают его пользователю с наиболее близкого и менее загруженного сервера. Благодаря этому у людей ничего не тормозит, сайты загружаются быстрее, а владелец сайта снижает расходы на поддержание сайта, повышает его доступность и защищенность, а значит, лояльность пользователей.

Стек технологий немного отличается от того, чему я учился, но компания тоже использует Python, SQL и имеет дело с сетями и протоколами передачи информации, которым нас обучали. Но первое ощущение — многое сильно отличается от того, что было на учёбе. Первое время я лез в интернет каждые десять минут, чтобы посмотреть, что это такое или как работает команда в Linux. Хорошо, что коллеги относятся с пониманием, поддерживают и делятся знаниями.

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

Пока я на испытательном сроке, поэтому каких-то далеко идущих планов не строю. Конечно, я ещё многого не знаю, отстаю от коллег, но это нормально для начальной стадии. Я знаю это по предыдущему опыту — у юристов то же самое. Даже после МГУ или МГЮА несколько месяцев уходит на адаптацию теоретических знаний к реальной жизни. Важно не расслабляться, списывая это на свою неопытность.

Так что я планирую расти, развиваться, узнавать новое. Моя цель — стать лучшим Python-разработчиком, чем сейчас.

Книги, которые я сейчас читаю

Советы тем, кто в начале пути

Важно всё время быть в процессе обучения: гуглить, искать литературу, пробовать найденные идеи на практике. Когда мне сказали, что надо работать на Linux, я сразу полез его изучать. Нашел в интернете сайты, купил книжки, установил Ubuntu через VirtualBox на домашний компьютер.

Помните, что окончание курсов — это только начало обучения. Если выбрал работу в IT, придётся учиться всю жизнь. Стоять на месте не получится.

Список полезных сайтов и книг для Python-разработчик

Linux:

  • Уильям Шоттс. «Командная строка Linux»;
  • Losst;
  • Tecmint.

Python:

  • Билл Любанович. «Простой Python. Современный стиль программирования»;
  • Лучано Рамальо. «Python. К вершинам мастерства»;
  • PythonRu;
  • Блог на Medium TechToFreedom;
  • Канал в Telegram Python Lounge7

Для общего развития:

  • Адитья Бхаргава. «Грокаем алгоритмы»;
  • Роберт Мартин. «Чистый код. Создание, анализ и рефакторинг»;
  • Журнал «Код»;
  • Задачки на LeetCode.

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации