От первокурсника до программиста: история 4 лет обучения в ВУЗе на программиста

Статья на Хабре.

В этом году я окончил бакалавриат “Прикладная информатика: в экономике”. Поэтому пока память свежая, хотел предоставить небольшую выжимку из 4 лет моего обучения.

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

Так как я смог более менее сдать ЕГЭ для своего региона, получилось пройти на бюджет в КФУ. Документы подтверждения сдал в последние часы, жутко боялся, что кто-то впереди меня встанет в списке, в конченом счете со своими 243 баллами я прошел в бюджет, кстати у последнего абитуриента в списке поступающих было 193 балла. Честно в начале хотел в поступить по направлению “Программная инженерия”, но побоялся, что опередят. Были моменты, что жалел об этом решении, но по итогу смирился с этим и продолжил обучение в том же месте.

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

2 курс

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

Учили 1С мы так. Нам давали лабы, где всё расписано, куда и как нажать, и мы просто повторяли действия. Мотивации действительно понять работу программы особо не было, так как чем быстрее закончишь тем быстрее ты пойдешь домой играть в свой КС. Так же чем больше ты сделаешь лаб, тем больше получишь баллов за семестр. У нас была такая система: 50 можно заработать работая в течение семестра и 50 за экзамены\зачеты, ну и по классике у каждого препода была своя политика на счет этих балов, как и за что их можно получить. В итоге материал мы проходили очень поверхностно и быстро.

Я пытался самостоятельно изучать 1С, создавать проекты и разбираться, как всё это работает, но оказалось, что в интернете материалов довольно мало или их сложно найти, а документация платная. Для меня, человека, который был немного знаком с IT-технологиями, платная документация убила всю мотивацию.

Практика после 2 курса.

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

3 курс

С#, ООП, СУБД, Java, Android разработка. Начало уже звучит прикольно. Действительно эти пары я любил и ходил с удовольствием если отсыпался.

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

Полезных вещей было немало, вот некоторые из них:

  1. Довольно хорошая база по C# и параллельно ООП. Изучали все тонкости языка ,прям подряд по методичке, изучали и интересные штуки языка и скучные. Инкапсуляция, наследование классов, переопределение и сокрытие методов, работа свойств, основные типы данных, работа сборщика мусора, настройка проекта и решения, пространства имён, модификаторы доступа, работа с файлами, обработка исключений - все эти темы были хорошо проработаны. Но было и много важных, но не затронутых тем: работа с фреймворками, LINQ, Entity Framework, асинхронность, рефлексия.
  2. Опять база по базам данных, как бы тавтологично это не звучало. Проектирование схемы БД, нормальные формы и т.д.. Писали процедуры на PL/pgSQL, триггеры, представления (view). Практиковались делать бэкапы, сами пробовали, хотя в итоге получилось это только у пары студентов.
  3. Про информационных системы. Про работу браузеров, запросов, модель OSI, проектирование ИС, этапы разработки и т.д. Хотя объясняли все эти штуки очень сложно и теоретическим языком. Препод явно в жизни не сталкивался с этими проблемами и технологиями, а про практические кейсы я вообще молчу. По лекциям вообще не было возможно определить где это может пощупать в реальной жизни.
  4. WEB технологии. HTML разметка, css стили, js - довольно хорошо помогли в последующей работе и трудоустройстве.
  5. Работа с Java. Изучали синтаксис, пытались делать десктопные приложения для винды.
  6. Мобильная разработка. Можно было использовать любые инструменты и язык программирования. Кто то писал на Kotlin, кто то на C#, а кто-то использовал 1С (да в 1с можно делать мобильные приложения). Я выбрал С# и MAUI. Разработал клиент-серверное приложение для просмотра расписания. Расписание на сервере парсил с excel и отдавал мобильному клиенту на MAUI, также была небольшая интеграция с 1С. Ниже на картинке интерфейс этого приложения.
Интерфейс мобильного клиента
Интерфейс мобильного клиента

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

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

  1. Во 2-3 курсе я самостоятельно очень плотно начал заниматься программированием
  2. Делал свои пет проекты, кодил, исправлял, общался с гиками в дискорд каналах, спрашивал советы и вопросы, проходил бесплатные курсы.
  3. Начал фрилансить, если это так можно назвать. Вообщем некоторые люди знали, что я более менее шарю в программировании и просили делать лабы\проекты. Ну и там по сарафанному радио приходили заказы. В начале боялся, все таки ответственность, но потом постепенно начал брать их. Бросил всё это дело я тоже быстро. Надо было учиться и закрывать свои проблемы (курсовая, диплом, сессия, работа). Тут в портфолио сохранились некоторые проекты, можете глянуть если интересно: https://freelance.habr.com/freelancers/razil_khayka

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

Также были косвенно связанные с IT предметы, по типу эконометрики и статистики. Опять же объясняли сложно, проходили быстро. Хотя после этих пар, видосы где объясняли работу нейросетей, я стал понимать лучше. Среднеквадратичная ошибка, прогнозирование, построение эконометрических моделей - перестали быть страшными понятиями.

Практика после 3 курса и первая работа.

Это, наверное, был самый счастливый момент во время обучения, потому что я достиг поставленной цели — устроиться на работу программистом. Как и всегда, одногруппники начали искать, куда они пойдут проходить практику, а у меня на примете уже была одна компания, у которой стек технологий совпадал с тем, что я изучал. Стоит упомянуть, что где-то на 2 курсе я решил углубленно изучать .NET и C#, создавая MVC сайты, API и изучая фронтенд. До этого у меня не было четкого фокуса на одном направлении — я интересовался разными штуками: делал игры на Godot и Unity, разрабатывал телеграм-ботов и различные проекты на Python, немного занимался 1С, периодический сталкивался с HTML и CSS.

Итак меня взяли в эту компанию практикантом, но в отдел 1С. Вообщем во время практики, я показал руководителю, что шарю за веб, и он познакомил меня с руководителем веб-отдела. В итоге практику я проходил, где изначально и хотел. Уже новый руководитель дал задание сделать менеджер паролей\секретов по типу Passwork. Надо было использовать Blazor и asp net. Опыта использования блазора у меня не было, но я довольно быстро разобрался как с ним работать и в итоге сделал неплохой сервис (по меркам студента 3 курса). Каждую неделю руководитель смотрел, как идет моя работа, давал советы, я тоже что-то спрашивал. Остальные программисты тоже были довольно приятными людьми, иногда некоторые подходили, смотрели, давали советы и т.д. И в конце практики я сказал, что хочу тут работать и меня взяли. Я ходил с улыбкой на лице целую неделю:)

PS: Ниже интерфейс веб приложения, который я разрабатывал.

Интерфейс веб приложения
Интерфейс веб приложения

4 курс

WEB разработка и много сложной экономики.

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

По вебу давали классические материалы, часто с metanit, про HTML, CSS, JS и концу семестра немного PHP. Наверное и так ясно, что мы не изучали фреймворки по типу React \ Angular \ Laravel и другие современные инструменты веб разработки, нам давали только базу. Проходили методичку очень быстро, для предварительно неподготовленных людей успевать понимать это всё, было очень сложно. Когда работали с вебом вообще писали в блокноте. Вам смешно, а ситуация страшная. От безысходности я сидел в веб версии Visual Studio Code. Только в конце 4 курса, мы перешли в нормальный редактор кода.

К слову, мы часто шутили про то, что мы не полноценные специалисты: и в экономике так сяк, и в программировании туда сюда. Шутки шутками, но в каждой шутке была доля шутки.

Практика после 4 курса. Тут особо нечего рассказывать. Так как я уже с 3 курса работал программистом, практику я прошел на том же месте, то есть на своей работе. Дома заполнял отчет по практике, а на работе просто выполнял свои обычные обязанностиили писал отчет по практике.

Курсовые

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

  • "Теоретические основы проектирования и разработки cайт-агрегатора для поиска компьютерных комплектующих"
  • "Анализ и моделирование бизнес-процесса "Управление парковкой в ООО XXX"
  • "Проектирование и разработка корпоративного менеджера секретов бизнес-процесса 'Управление секретами IT инфраструктуры"

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

Дипломная работа

Моя дипломная работа была связана с 3 курсовой и тема звучала так: “Разработка информационной системы для безопасного управления конфиденциальными данными в IT-инфраструктуре”. Согласен, что тема не особо связана с экономикой, но такие темы позволялось брать, так как  у каждого в конце было написано про экономическую эффективность информационной системы. Про эту работу уже писал на Хабре.

Позволю себе рассказать, а точнее показать забавную историю связанную с этой статьей. В общем мой руководитель увидел эту статью …

Переписка с руководителем
Переписка с руководителем

В июне 2024 мы успешно защитили свои дипломы. “Мы” - это все кто дожил до последнего семестра, однако стоит сказать, что дожили до него лишь 60-70% студентов. Кто-то не справлялся с учебой, кто-то не мог сдать курсовую или экзамены, кто-то добровольно уходил, а кто-то брал академ и т.д.

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

Итог

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

Мем смешной, ситуация страшная
Мем смешной, ситуация страшная

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

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

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

На этом всё! Спасибо, что прочитали до конца.

Хабр КарьераПомогаем строить карьеру в IT Зарплатный калькулятор: u.habr.com/Jt6Fg Бот для отслеживания вакансий: https://t.me/habrcareer_bot Помощь экспертов: u.habr.com/7EXBK
4,4K подписчиков