Учиться было трудно)
Я как раз выбрал такой средний, сбалансированный вариант. Не скажу, что участвовал во всей движухе — отнюдь. На кафедре и факультете, как и в институте в целом, было не так уж много движухи, ну а я, как интроверт, всё это пропускал)
Тем не менее на первых двух курсах я ходил на все лекции, особенно на физику, математику и всё, что было по специальности.
Набор курсов был интересным: и теория компиляторов, и системы управления базами данных, и даже искусственный интеллект (в то время это был Prolog).
Хочу немного пояснить про искусственный интеллект — нынче модную тему. Этот курс был посвящён в основном экспертным системам, и все лабы были на языке Prolog.
Ох, в своё время для моего императивно мыслящего мозга это было очень сложно. Вроде смотришь на код — как будто функции:
factorial(N, Result) :-
( N =:= 0
-> Result = 1
; N1 is N - 1,
factorial(N1, Partial),
Result is N * Partial
).
main :-
factorial(5, F), format('factorial(5) = [F]).А это нифига не функции) Это предикаты, и запускать надо так:
?- main.factorial(5) =
120 true.Кому интересно — рекомендую полюбопытствовать в качестве упражнения для мозгов.В то время мы с друзьями в составе четырёх человек на выходных завалились ко мне домой и пытались вместе разобраться с этой штукой. Успешно, впрочем.
Но главная фишка моего обучения была в том, что меня с первого курса — со второго семестра — пригласили на работу. Я был несказанно счастлив. Первые два месяца мне не платили, потом я работал примерно за 5к (тогда у меня стипендия была больше), но всё равно был очень рад приобщиться к реальному рабочему процессу. С лета начал работать full-time и каждый день ездил на работу на электричке из Токсово. Я, конечно, тогда ничего особо не умел (сейчас вообще не понимаю, за что мне платили даже те деньги...), однако как начал там работать в коллективе из 5–6 человек, так и продолжил. В результате я проработал там больше 12 лет и дорос до должности системного архитектора, а компания к тому моменту выросла до 100 человек.
Прекрасный опыт. Там я сделал много проектов, многие придумывал сам и сам же реализовывал. Довелось поработать и просто тестировщиком, и разработчиком, и даже несколько лет поруководить командой из 10 человек как PM. Потом решил, что кодить всё-таки интереснее))) Стал тимлидом, а затем системным архитектором.
Я понимаю, что вряд ли кто-то из них это читает, но я благодарен всем моим руководителям, учителям и коллегам за те годы. Спасибо вам!
Так вот, из-за того, что я начал работать с первого курса, некоторые вещи я узнавал сперва на практике, а уже потом слушал про них на лекции. «А-а-а... Вон оно как на самом деле...» — думал я на лекции. Конечно, так было не всегда. Приведу пример с компьютерными сетями. Сначала на работе я писал код для сетевого фильтра и видел все сетевые пакеты как u8* p_packet, парсил MAC, IP, TCP и т. д. А потом уже на лекциях мне рассказывали, что такое OSI и всё остальное...
👇👇👇