Коротко о предметах, которые изучают студенты кафедры программных систем, и работе в ИТ-компании после пар. Как закончить вуз с трёхлетним опытом в разработке. 

«Стань программистом за месяц» – кричит навязчивая реклама. Кажется: зачем вообще идти в вуз, если кодить можно научиться на курсах? 

Причины поступить в ИТ-вуз, как минимум, четыре.

  1. Учёба у практикующих профи из ИТ. В Институте iSpring преподают начальники отделов и ведущие разработчики ИТ-компании.
  2. Работа в ИТ-компании по специальности со второго курса. Актуально для всех, кто нормально учится и вкладывает силы в учёбу.
  3. Фундаментальная база: мы учим не просто выполнять последовательность действий по инструкции, а вникать в глубину процесса и понимать, как выполнить задачу максимально эффективно. 
  4. Развитие личных качеств и знание гуманитарных дисциплин. Как показывает практика, общее развитие для программиста супер-важно, чтобы не сидеть в «джуниорах» годами и быстро расти в профессии.

Что изучают программисты?

За четыре года студенты проходят 36 профильных дисциплин. Полный список предметов с подробным описанием можно скачать на сайте Института iSpring. Устроим небольшой обзор.

Первый курс

Основы программирования. Наверняка вы уже слышали, что в Институте iSpring программирование начинают изучать с «Паскаля». Это правда. Ограниченные ресурсы языка вынуждают вникнуть в суть – это лучший «лётный тренажёр» в мире языков программирования. Лекции по Основам программирования есть на youtube. Курс читает основатель глобальной компании и Института iSpring Юрий Усков.

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

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

Второй курс 

Алгоритмы и структура данных: изучаем базовые алгоритмы и решения типовых задач, а потом используем их в рабочих проектах. Типовые задачи могут быть очень интересными: например, на одной из лабораторных обучаем навигатор прокладывать оптимальный маршрут с учётом ограничений на дороге. 

Фронтенд: на парах разрабатываем веб-приложения на уровне, за который глобальной компании не стыдно. Главный кейс – #PresentationMaker: пишем свой онлайн-«аналог PowerPoint» на языке TypeScript. В перечне требований есть обязательные (экспорт в PDF, реализация на локальном сервере) и почти бесконечный список фич, которые студенты могут добавить в этот перечень. 

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

После этих двух курсов студент понимает, что нравится больше, и выбирает сердцем:  фронтенд или бекенд. 

Объектно-ориентированное программирование. Учимся красиво и элегантно решать сложные задачи и использовать языки программирования как инструмент для создания программных блоков. Много работаем с абстракциями, на одной из лабораторных оцифровываем работу автомобиля с механической трансмиссией. В течение курса прокачиваемся в C++ и написании программ в процедурном и объектно-ориентированном стилях, пишем автоматические тесты, повышаем культуру программирования и внимание к деталям. Лекции по ООП из Института iSpring доступны на Ютуб

Третий курс 

Объектно-ориентированное проектирование (object-oriented design – OOD). Выход с уровня кода на уровень проектирования систем и их взаимодействия друг с другом. Студенты разрабатывают сложные приложения, которые можно будет легко поддерживать; разбирают паттерны – обобщённые принципы решения задач. Нет, это не инструкция «увидел задачу – делай так». Наоборот: на парах выясняют, почему паттерн устроен так, какие ещё есть способы решения задачи, какой из способов подойдёт лучше? Финальная «лаба» – создание своего графического редактора – аналог Paint или Corel Draw. Лекции по OOD из Института доступны на Ютуб.

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

Четвёртый курс

Машинное обучение и анализ данных – приобретаем навыки data-scientist, разработчика математических моделей и алгоритмов анализа данных.

Гуманитарный блок

Софт-скиллы, обширная картина мира, умение видеть зоны для роста, понимание, что хочешь от жизни – вот что дают гуманитарные дисциплины. Поэтому их изучению в Институте iSpring уделяют большое внимание. 

За время учёбы программисты глубоко изучают философию, историю, психологию, активно развивают коммуникативные навыки и умение самопрезентации. Всё это станет бустом для быстрого роста в будущем.  

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

Как работают программисты

Работа со второго курса – звучит хорошо, но какие задачи реально решают студенты? Разберём на примере третьекурсника Александра Апакаева. 

– Я около года работал фронтенд-программистом, а в последние 3 месяца перешёл в бекенд. Сейчас мой грейд J1 – он подразумевает, что я пока не могу самостоятельно разработать весь функционал с нуля, иногда приходится просить о помощи наставника. Хотя на самом деле могу: просто что-то будет реализовано не так качественно, а разбираться в некоторых новых вещах придётся долго. Опыт работы и во фронтенде, и в бекенде помогает в разработке, так как видишь две стороны процесса. За время учёбы и работы в Институте я принял участие в 6 проектах.

  1. Интеграция Learn с HR-сервисом E-Staff. Это было моё первое знакомство с бэкендом на летней практике. Нужно было разработать веб-сервис для синхронизации пользователей E-Staff и их статусов c iSpring Learn для быстрого и удобного назначения курсов в Learn. Я продолжил работать над этой задачей еще месяц после завершения практики и довёл всё до релиза.

  2. Рандом-кофе. Приложение, в котором сотрудники нашей большой компании могут организовываться в группы и знакомиться. Это полезно: знакомым людям легче работать вместе, нет этого «барьера неизвестности». Здесь я занимался фронтендом. Проект запустили, но затем отложили на доработки, так как изменились требования к проекту.

  3. Learn App Customizer. Приложение позволяет легко кастомизировать дизайн и некоторые настройки мобильной версии iSpring Learn под конкретного клиента. Ранее для этого приходилось переписывать файлы конфигурации. Мы сделали веб-сервис, теперь оперативно кастомизировать продукт может человек без знаний программирования. Заказчик – тимлид команды мобильной разработки – остался доволен.

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

  5. Remark. Продукт iSpring, психологические тесты, которые используются для определения потенциала человека при приёме на работу. В этом проекте мы внедряли новый тест и фиксили некоторые баги.

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

К концу 4 курса студент ПС (кафедры программных систем) имеет не только диплом, но и 3-летний опыт работы и решения задач в продуктовых командах iSpring.

Игорь Соколов
Автор статьи
Игорь Соколов
Как проходят пары по контролю качества ПО
Как проходят пары по контролю качества ПО