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

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

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

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

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

2 курс

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

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

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

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

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

1c16c3a56b3adaa20cb92f2331acf851.png

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 летний пацан, который всю жизнь рос в деревне и убирал навоз в ферме, увидел как работают айтишники. Просторный, уютный и светлый офис, с кондеем, с кофемашинами с бесплатными конфетами, с комнатами отдыха, с тренажерными залами, с возможностью поиграть в настольный теннис — для меня это было что-то из разряда фантастики. Конечно к этому со временем просто привыкаешь, а некоторые условия меняются, например, пропали бесплатные конфеты :(

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

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

ТГ: https://t.me/khayka

© Habrahabr.ru