Найти любимое дело — мечта, пожалуй, каждого. Хорошо, если работа нравится и заряжает энергией. А решение сложной задачи — лучшая награда. Тогда развитие в профессии происходит быстрее. Наступает момент, когда хочется передавать знания другим. Готовить кадры, которые нужны отрасли, и помогать новичкам быстрее адаптироваться на работе. 

Так Илья и Фёдор Сазоновы объединили свой опыт в разработке и создали курс по Java для людей без бэкграунда в IT. Основная задача их программы — за 11 месяцев дать новичку необходимый набор знаний, чтобы после обучения он устроился junior-специалистом. В статье братья рассказали, как сами пришли в программирование и почему хотят обучать других.

Илья Сазонов, 38 лет

Руководитель backend-разработки во «Всегда.Да». Автор и преподаватель курса «Java-разработчик» в онлайн-университете Skypro

Фёдор Сазонов, 30 лет

Руководитель направления Java-разработки ИТ сети продаж в Сбере. Техлид и преподаватель курса «Java-разработчик» в онлайн-университете Skypro

«Я хотел стать программистом, чтобы самому делать игры»

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

Илья Сазонов: Мама работала программистом, и лет с пяти я тоже хотел этим заниматься. Когда поиграл в компьютерные игры, решил обязательно учиться на разработчика, чтобы самому делать игрушки. В моем детстве не было современной литературы по IT: в доступной описывали древние языки. Изучать программирование я начал с двенадцати лет — в школе нам преподавали Basic.

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

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

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

Но я понял, что патентоведение — не мой путь. Я хотел больше общаться с программистами, а не с юристами и теплофизиками. Тогда я ушел в американскую компанию и проработал в ней пять лет: занимался backend-разработкой и взаимодействием между командами. Потом сменил еще три места и оказался во «Всегда.Да» — стартапе в сфере FinTech. 

Я руковожу backend-разработкой, настраиваю процессы. Мы занимаемся продуктовой разработкой: предлагаем сервис рассрочек как федеральным сетям, так и локальным магазинам — используем Java на backend, JavaScript на frontend, Kotlin и Swift для мобильных приложений.

«Когда поймешь, что свернул не на ту дорожку, я научу тебя программировать»

Если Илья сразу выбрал профессию и другую даже не рассматривал, то Фёдор планировал стать энергетиком. Но в институте понял, что отрасль ему неинтересна. Илья рассказывал брату про программирование и ждал, когда тот захочет его изучать.

Фёдор Сазонов: В детстве я хотел быть программистом, меня привлекали компьютерные игры. Думал даже: «Буду хорошо учиться, чтобы стать программистом». Но когда пришло время поступать в институт, выбрал ядерную энергетику. Мой город Обнинск ориентирован на эту отрасль, к тому же папа — теплофизик. Я проходил стажировку по специальности, был на атомной станции, в конструкторских бюро. Тогда я понял, что профессия не для меня. 

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

Илья помог мне и с тестовым заданием в первую компанию: познакомил с нужными технологиями. Когда я уже работал, выбрал курсы Java с нуля, чтобы улучшить анкетные данные. Тогда я заметил, что программа не попадала в целевую аудиторию. Она была направлена на тех, кто уже знаком с программированием. У меня трудностей не было, я все это знал. Но я видел, что новички ничего не понимают, им тяжело воспринимать материал.

«Я всегда считал, что программист — лучшая профессия»

Илья любил объяснять и делиться знаниями еще в школе. Родители уделяли много времени обучению и подробно разбирали с ним любые вопросы. Всем, кому интересно пообщаться на тему программирования, Илья с радостью рассказывает про свой опыт.

Илья: У меня в голове не укладывается, что кому-то неинтересно быть разработчиком. Я рассказывал брату, как круто им работать. Говорил, что научу программированию, как только у него появится желание. Оно появилось на последних курсах института.

Я проводил с Фёдором эксперимент. По своему опыту знал, что в первый год работы требуется только 10–20% знаний из всех, что мне дали в вузе. Если я ему расскажу эти 10%, он уже сможет работать. А остальное изучит в процессе, главное — желание. 

Тогда я взял программу института и объяснял то, что казалось нужным для старта в профессии. По моим ощущениям, на обучение у нас ушел год. После защиты брат смог устроиться на свою первую работу программистом. А я до сих пор очень горд за него и рад, что у нас все получилось.

Я обучал и других людей. В компании, где я работаю, создали центр подготовки стажеров. Я участвовал в его развитии. Но мы не готовим с нуля. Поощряется желание сотрудников развиваться. Был, например, специалистом техподдержки, хочешь в тестировщики — центр поможет. А я хотел зацепить больше людей, которые еще не знакомы с профессией. Поэтому меня заинтересовало предложение Skypro создать курс по Java для новичков.

«Мы хотим готовить людей, которые нужны индустрии»

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

Съемки видеоурока
Съемки видеоурока

Фёдор: Я уже шесть лет в профессии. Даже работал Java-разработчиком в игровой индустрии — исполнил детскую мечту. Сейчас руковожу направлением Java-разработки в одной из команд ИТ сети продаж в Сбере. В том числе нанимаю junior-специалистов и знаю, что им не хватает практических навыков. Мы с Ильей и раньше обсуждали, чему важно научить программиста за короткий период. Он постоянно учит людей, я с этими людьми работал. Илья обучал меня, и его способ помог мне устроиться на первую работу.

Новичку надо знать, как решать типовые задачи, которые ставит перед ним компания. Мы опирались на свой опыт, когда составляли курс «Java-разработчик». Теории даем достаточно, чтобы пройти собеседование, но не перегружаем. Основной упор — на практическое применение полученных знаний. Мы разговаривали с другими разработчиками: спрашивали их мнение, обсуждали программу. Поговорить с кем-то со стороны полезно.

Илья: Мы с Фёдором собеседуем junior-специалистов и знаем, что компании ждут от них. На курсе готовим людей, которые нужны индустрии. А сейчас востребованы Java- и backend-разработчики, которые программируют с использованием технологии Spring. Если взять 100% IT-рынка Java программистов, то мы готовим не под 20%, а по моим ощущениям, под 80–90%.

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

За год не получится подготовить специалиста, который все умеет. Но если убрать те части теории, которые для старта в профессии не нужны, задача становится реалистичной. Главное, не создавать у студентов иллюзию, что удачное трудоустройство — повод расслабиться. Скорее наоборот, рабочие задачи помогут расставить приоритеты: чем заняться прямо сейчас, а что отложить на следующий квартал. 

«Мы ориентируемся на тех, кто ничего не знает в программировании»

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

Фрагмент видео урока курса «Java-разработчик»
Фрагмент видео урока курса «Java-разработчик»

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

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

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

Илья: Существует мнение, что программирование — это очень сложно. Но надо только приложить усилия, потратить время на обучение. Сейчас такой этап в индустрии, когда даже junior-специалист может приносить компании пользу и прибыль, повышать свой уровень знаний в процессе работы.

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

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

«Софт-скилы и навык собеседований тоже надо развивать»

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

Фёдор: Разработчикам важны софт-скилы. Если человеку тяжело общаться, он не сможет хорошо работать. Я знаю ситуации, когда перед junior-специалистом ставят задачу. А он, вместо того чтобы ее решать, три дня стесняется и ничего не спрашивает. В итоге время потеряно. Когда только осваиваешься в профессии, нужно задавать вопросы. Всем будет от этого лучше. 

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

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

«Мы хотим делиться накопленным опытом: это полезно для индустрии»

Даже опытные разработчики и руководители IT-команд не останавливаются в развитии. Меняются технологии, меняется специфика задач — постоянно надо обновлять знания. Если не выделять время на обучение, можно быстро потерять свою ценность для рынка. Поэтому и программы курсов должны обновляться.

Фёдор: Мне повезло: я люблю то, чем занимаюсь. Мне нравится решать рабочие задачи. Для меня курс — возможность поделиться знаниями. Я могу рассказать, как справлялся с трудностями в обучении и работе. Тогда человеку не придется тратить много времени, он получит результат быстрее, чем я.

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

Фрагмент видеоурока курса «Java-разработчик»
Фрагмент видеоурока курса «Java-разработчик»

Илья: Мы продолжаем работу над курсом. Сейчас учится тестовая группа. После каждого занятия студенты оставляют обратную связь, оценивают учебный материал, подачу, качество видео. Мы учитываем все отзывы и дорабатываем программу.

Мне нравится преподавать, я обучил многих программистов. Рассказываю про свой опыт не только на работе, еще участвую в конференциях. Сейчас мы с Фёдором готовимся к Java-конференции Joker. Для меня это возможность поделиться своими идеями и узнать мнение других разработчиков. В будущем хочу еще создавать курсы: это очень интересно и полезно — готовить специалистов для IT-отрасли.

Комментарии (8)


  1. ANDYHUNT
    27.09.2021 17:38

    Смотрим резюме подобных кандидатов и решаем приглашать ли их на собес. Смущает, что до этого они заканчивали какой-то гуманитарный ВУЗ. А то, коллеги, отзываются, что такие "разработчики" умеют только в spring boot проект разворачивать, а шаг в сторону - там пустота. Оно и логично, на большинстве подобных курсов не изучают прикладную математику, теорию реляционные бд и т.п. "лишние" штуки на их взгляд.

    Есть ли у кого опыт собеседования подобных свежеиспечённых спецов на роль Java бэкэндеров? Может не всё так плохо и коллегам просто не везло? Отпишитесь в комментах, плз.


    1. Redrik05
      27.09.2021 19:31

      В сентябре 2022 года закончу подобный курс и обязательно расскажу, чему там учат))


  1. gholla
    28.09.2021 12:39
    +3

    цель подобных курсов всегда одна - заработать денег.

    не знания продать. не научить за оплату. а именно - заработать денег.

    по собственному опыту могу сказать, что в любом языке программирования - как и в общем-то в любой инженерной деятельности, можно научить "на джуна" буквально за два три месяца. и это максимум!! ибо "нахвататься основ можно и за пару недель". и да это будет ну очень так поверхностно. а вот за два три месяца плотных занятий, по 6...8 часов каждый день - можно выйти на уверенного джуна. и что там растягивать на 11 месяцев ??

    основная проблема таких курсов в том, что они обещают "очень вкусное" но трудно выполнимое. научить "для людей без бэкграунда в IT". почему же трудно выполнимое? да потому, что далеко не всем это реально интересно и нужно. все слышат что "в ИТ плотят легко 300 тыщ"... и все это это идет в первую очередь как раз от таких вот... "учителей".

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


    1. poxvuibr
      28.09.2021 17:35
      +1

      цель подобных курсов всегда одна — заработать денег.

      Как в общем и цель любого бизнеса )). Но как правило, когда речь о курсах, заработать денег получается только если бизнес выполняет свои обещания и курсы взаправду дают знания и скилы.


      не знания продать. не научить за оплату. а именно — заработать денег.

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


      за два три месяца плотных занятий, по 6...8 часов каждый день — можно выйти на уверенного джуна. и что там растягивать на 11 месяцев ??

      Совершенно согласен, можно. Хотя я бы, конечно, слово максимум убрал бы )). Если есть желание и силы впахивать по 6...8 часов каждый день в течении трёх месяцев, то можно. Особенно, если готовишься к конкретной позиции в конкретной компании. Я даже знаю случаи.


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


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


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

      Сложно поспорить, всё именно так и есть. Именно поэтому я всегда повторяю, что ничего невозможного нет, нужно только желание и труд. Только желание по-настоящему нужно и трудиться действительно придётся. Это очень важно осознавать.


      1. rusraid
        01.10.2021 21:45
        +3

        Доброго времени суток, Илья.

        Я хочу записаться именно к Вам на курс.

        Изучил весь рынок предложений, Яндекс практикум, gb, skillbox и прочие.

        Прочитал отзывы, разные, на разных сайтах, накрученных там очень много, но и реальные найти можно.

        И зацепил меня именно Ваш комментарий, который и склонил выбор именно к Вам.

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

        Вы действительно считаете, что после вашего курса можно устроиться работать на позицию Джуниора? У меня только опыт многолетнего продвинутого юзера, может чуть больше.

        На сайте в описании указано 2 проекта, не мало? И лучше бы добавить более подробное описание, не понятно, чего ожидать На Яндексе указано 5 шт, но все, по моему мнению, бестолковые. И часов обучения добавить, хотя может меньше часов, для кого-то и плюс. В описании, у конкурентов чуть ли не в 1.5 раза больше.

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

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

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

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

        Я так понимаю, что ментором будете Вы и ваш брат? Я лично, хотел бы видеть Вас, своим наставником.

        И последний момент, на сайт скайпро, думаю будет отлично смотреться именно Ваше личное мнение, просто письмо от себя для будущих учеников. Так же от души, как и в вашем комментарии выше. Это цепляет больше, чем вся прочая стандартная менеджерская ... работа.


        1. poxvuibr
          06.10.2021 11:28
          +1

          Доброго времени суток, Илья.

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


          Вопрос непростой.


          Да, джуниором устроиться можно, но требования к начинающему разработчику сильно зависят от компании и проекта. Мы готовим людей к разработке бекенда с использованием Spring. Компаний, использующих такой стек много, тут всё хорошо.
          Кроме стека, у компании должно быть чёткое понимание, какие задачи она хочет поставить перед новым разработчиком. Если компания ищет разработчика просто на всякий случай, то скорее всего набирать будут мидлов.


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


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


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


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


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


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


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


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


  1. gavrilovalova
    29.09.2021 15:51
    +3

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