Только что закончился открытый курс «Введение в Java», и сегодня завершается регистрация на двухлетнюю программу «Java-разработчик высоконагруженных приложений», в которую входит дюжина учебных дисциплин и которая завершится разработкой студентами выпускных проектов в небольших командах. Технополис создан по модели, уже реализуемой в аналогичных проектах Mail.Ru Group в московских вузах (МГУ, МФТИ, МГТУ им. Баумана, с этого года также и в МИФИ). Как и в других случаях, преподавателями проекта станут сотрудники Mail.Ru Group, но конкретно в Технополисе речь идет о членах команды Одноклассников. Поскольку ОК – крупнейший Java-проект в России, так что совсем не случайно, что программа связана именно с этой технологией и языком программирования.
В преддверии начала программы мы встретились еще с одним из будущих преподавателей, Java-разработчиком Тимуром Насрединовым.
Почему ты решил стать преподавателем в Технополисе?
ТН
Во-первых, я верю в то, что это важный и амбициозный проект, который позволит принести культуру промышленного программирования в образовательный процесс в университете, чего, на мой взгляд не хватает.
И поскольку у меня за спиной более 10 лет опыта программирования на Java в самых разнообразных проектах, то мне есть чем поделиться со студентами. Так сказать. сдобрить сухой теоретический материал соусом из различных случаев и историй из реальной жизни. Во-вторых, для меня это достаточно новый опыт и серьёзный вызов по сравнению с моими повседневными обязанностями разработчика. Мне много раз приходилось обучать новичков, пришедших на проекты, где я работал, но преподавание для студентов - всё-таки совсем другое дело. Убеждён в том, что это двусторонний процесс, где можно и самому научиться чему-то новому. И наконец, что для меня имеет личную ценность, я хочу не отставать от своего отца, который уже много лет преподаёт физику в Политехе.
Как ты пришёл в IT? Когда ты стал работать программистом? Расскажи, как складывалась твоя карьера?
ТН
Это интересная история. Программирование меня привлекло ещё в школе, мне нравились уроки информатики. Первыми языками были GWBasic и Pascal. Однако в юношестве меня всё же больше интересовал футбол, поэтому большую часть свободного времени я проводил во дворе. По этой причине успехи с программированием развились не сильно дальше школьной программы. Хотя уже тогда я начинал читать свою первую книгу по Java. Помню, что застопорился на главе про интерфейсы.
После поступления в университет я попробовал свои силы на местной олимпиаде по программированию. Посмотрев на участников, на то, сколько они знают, какими языками они владеют (ассемблер, С, плюсы), какие алгоритмы они знают, несмотря на то, что они были моими ровесниками, я решил, что мне никогда не стать таким, как они, "настоящим программером". Уж слишком велика между нами пропасть. Тогда я не знал, что олимпиады имеют мало отношения к промышленному программированию. На тот момент мне казалось, что путь в разработчики мне заказан.
Как обычно, многое решила случайность. Одногруппник моего друга, уже работавший на тот момент, узнав, где я учусь, пригласил пройти собеседование у них в компании. И я, пройдя собеседование, получил свою первую работу младшего Java Developer'а в компании StarSoft Labs. Мне очень повезло с проектом, потому что я сразу познакомился с многими методологиями и техниками разработки. Я поработал по RUPу, по XP, научился писать unit, интреграционные и load test'ы, узнал, что такое багтрекеры и базы данных, помогал строить огромнейший монолит с трёхзвенной архитектурой. И по истечении двух лет я уже стал тимлидом в команде из 6 человек. Потом я решил, что расти по "управленческой лестнице" мне не очень интересно, а важнее совершенствовать инженерные навыки. Поэтому за последующие 6 лет я сменил ещё три аутсорсинговые компании - успел поработать по контракту на компанию, занимающуюся хранением финансовой информации, потом в крупном инвестиционном банке, на компанию Sun Microsystems и на стартап, посвящённый анализу и классификации пользовательской активности в Интернете. И на протяжении всего времени меня неизбежно сопровождала Java. В 2011 году я решил попробовать свои силы в продуктовой компании и до сих пор работаю в интереснейшем и сложнейшем проекте "Одноклассники" в компании Mail.ru .
Ты сказал, что уже на первом курсе решил, что программистом тебе не быть? На кого же ты тогда учился?
ТН
У меня очень интересная специальность. Я магистр по материаловедению и теории упругости. Моя выпускной диплом был посвящён усовершенствованию отбойного молотка, а если точнее - оптимизации процесса переноса импульса и энергии в ударной системе из трёх тел. Но полученное образование очень помогает в моей работе. Самое главное, чему меня научили в университете - обучаться. Я получил много знаний по дискретной математике, по математическому и функциональному анализу, по топологии и теории вероятности, которые очень важны для современного full stack разработчика. Без этой базы мне было бы очень тяжело решать нетривиальные задачи, которые порой встречаются даже на самых "кровавых" энтерпрайз проектах. Так что мой совет студентам - не пренебрегать парами, которые больше к математике имеют отношение, чем к программированию.
Расскажи про курс, который вы с Алексеем Фёдоровым будете читать. Почему он будет интересен студентам? Что будут уметь те, кто его закончит?
ТН
Наш курс посвящён основам программирования на языке Java, но освещать их мы планируем достаточно подробно. Мы в деталях разберём спецификацию языка (JLS), поведаем, как соотносится язык Java и парадигмы ООП, продемонстрируем, как использовать стандартную библиотеку для работы с функциями ввода/вывода, научим, как писать unit-test'ы для Java приложений, обрисуем, как строить UI приложения, залезем во внутренности JAVA кода с помощью Reflection API. По каждой из тем предложим домашние задания, которые позволят разобраться в соответствующих проблемах досконально. Задания будем разбирать вместе, и уж мы проследим, чтобы ни один важный вопрос не остался без внимания. Покажем, как пользоваться современным инструментарием разработки и применять различные техники и подходы к решению проблем, стоящих в реальных проектах на живых продакшен системах. Ну, и самой интересной частью будет подготовка финального проекта, который студенты будут готовить в командах, как при промышленной разработке . В общем, будет познавательно и весело.
[Фото Александра Уланова].
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев