«Я научу вас языку, на котором написаны Google и Oracle»

Сегодня программирование — одна из самых престижных профессий в странах СНГ. Те, кто решил реализовать себя в этой профессии встают перед выбором, какой язык программирования интереснее и перспективнее. Об этом и многом другом мы поговорили с ведущим Java-разработчиком и преподавателем онлайн курса Junior Java-developer Виталием Ивановым.

Расскажите, почему решили стать программистом? Как начинали свой профессиональный путь?

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

Когда вы впервые написали программу не для себя, а для заказчика со стороны? Что это было?

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

Это был очень увлекательный опыт. Все свободное время после занятий мы посвящали работе над системой. Таким образом, стартом моей профессиональной карьеры можно считать 2007 год.

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

Что сподвигло профессионального программиста с хорошим бэкграундом стать преподавателем обучающих курсов?

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

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

Как давно вы занимаетесь преподавательской работой, какие сложности в ней приходилось преодолевать?

Я преподаю онлайн-курсы по программированию с 2012 года. На тот момент я даже не представлял, получится ли у меня увлечь ребят программированием. Это довольно специфичное направление, которое нужно полюбить. А для этого в людях необходимо зажечь интерес. Причем этот интерес должен быть не только материальным. Очевидно, что сегодня программисты зарабатывают сильно выше среднего по стране. Однако одним материальным интересом долго в профессии не удержаться. Программисту нужно постоянно совершенствоваться, развивать новые навыки, читать профессиональную литературу, иначе окажешься за бортом. Для всего этого нужна личная заинтересованность и вовлеченность в процесс.

В чем особенность онлайн-курса Junior Java-developer, который вы преподаете?

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

Мы пройдемся по всем основным пунктам: как язык Java появился, в каких направлениях и на каких платформах он используется, плюсы и минусы языка по сравнению с другими. Затем перейдем к самому написанию кода: как он пишется, какие средства и инструменты используются для этого.

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

Также мы будем обучаться многопоточному программированию, где студенты будут создавать программу, работающую одновременно с другими программами. Ближайший повседневный пример – операционная система Windows, где использование многопоточного программирования позволяет нам одновременно слушать музыку, писать в Word, пользоваться интернетом и запускать самые разные программы.

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

Какими необходимыми навыками должны обладать слушатели курса, чтобы успешно его закончить?

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

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

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

Что вы цените в работе преподавателя больше всего?

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

Другой момент – это возможность увлечь студентов новой интересной информацией, пополнить коллекцию знаний. Например, рассказать об истории использования компанией Google языка Java. Почему это случилось, какие были забавные и познавательные события с этим связаны.

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

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

Остается напомнить, что Junior Java-developer (online) стартует уже скоро. Курс состоит из 4 блоков. вы еще можете выбрать блок обучения и  присоединиться к группе, заполнив заявку на нашем сайте, позвонив по телефону +7 (800) 500 15 56 или просто написав на почту academ@suhorukov.com.