This content originally appeared on DEV Community and was authored by
(Първо публикувано на Jul 10, 2022)
Мисля, че когато си студент и учиш софтуерно инженерство (или “компютърни науки”, “информатика” и т.н.), един от най-лесните и подценени начини да изпъкнеш по положителен начин (както пред преподавателите ти, така и по-нататък, когато си търсиш стаж или работа)… е да участваш в различни състезания свързани с програмиране!
Спомням си, че в университета всички преподаватели споменаваха и се опитваха да ни убедят да се запишем за X олимпиада, Y hackathon, Z състезание, но почти никой студент не искаше да участва. Сякаш единствените хора, които искаха да участват, бяха тези, които преди студентските си години имаха някакъв опит с такива състезания и знаеха, че ще се справят и тук.
Един от основните проблеми (според мен) беше, че макар да ни предлагаха да участваме в различни състезания, никой не ни обясни ЗАЩО участването всъщност е в наша полза. Моята гледна точка тогава беше “Не стига, че трябва да ходя на лекции/упражнения всеки ден и да уча за изпити, а сега ми предлагат да идвам събота на някаква тъпа олимпиада? Какъв е смисълът?” За щастие имах добри ментори онлайн, които ми помогнаха да забележа колко заблудено виждах нещата тогава.
ОК, защо е полезно да участваш? Просто е: когато участваш по състезания, след това получаваш много НАГРАДИ, а най-често даже не се изисква да си от първенците в даденото състезание!
Не говоря само за материални награди, но нека започнем с това. Отиваш на някое състезание и най-вероятно първо ще ти подарят разни малки неща от фирмата, която спонсорира състезанието (тефтери, химикали, може би някоя тениска или малка джаджа). Ще ти дадат и някаква безплатна храна. Ако пък стигнеш някое от топ 3 местата, най-вероятно ще получиш и някоя готина технологична награда (може би нещо като флашка, слушалки и т.н.).
Сигурно ще те наградят след самото състезание, а по-късно ПАК ще те наградят, когато университетът изброява студентите, които са имали отличия през семестъра (извън оценките им по различните дисциплини). Ако пък си на някое по-сериозно състезание като hackathon, може някоя фирма даже да спонсорира проекта ти (или пък да те вземе на работа)!
Спомням си също така, че безплатно пътувах по различни градове в България (а даже и в Румъния), просто защото реших да участвам в няколко състезания в университета. Наистина има потенциал за големи и разнообразни материални награди.
Друг тип награда е просто самото постижение и уважението, което получаваш благодарение на него. Както споменах в началото, участването в състезание по програмиране е лесен начин да изпъкнеш от тълпата, защото ПОЧТИ НИКОЙ не участва! А всъщност фактът, че почти никой не участва, прави и спечелването по-лесно (например аз не бях чак толкова добър в олимпиадите по програмиране, но тъй като нямах голяма конкуренция в университета, беше сравнително лесно да хвана някое от първите места с минимална подготовка).
Ако ти участваш, дори и да не спечелиш, пак получаваш бонус точки и изглеждаш добре в очите на другите, защото комуникираш, че си някой, който е сериозен и постоянно търси начини и действа, за да стане по-добър (така също ще имаш и нещо като опит, който можеш да добавиш в CV-то си и чрез който можеш да покажеш, че си сериозен кандидат, когато търсиш стаж или първата си работа).
А ако спечелиш, това вече е невероятно и преподавателите (а потенциално и работодателите) ще те познават и уважават повече. Спомням си дори, че един път ме хванаха да преписвам на изпит и щях да загазя доста, но понеже преди това имах репутация на някой, който се отнася сериозно към програмирането, участва по състезания и т.н., ми се размина доста леко.
Също така (очевидно) надграждаш техническите си умения и развиваш умствена издръжливост! Спомням си как на първата ми олимпиада ме заболя главата след около час съсредоточено мислене, а на следващите беше значително по-лесно да управлявам енергията си.
Логическото ти мислене също се подобрява, защото напрягаш мозъка си на максимум, опитваш различни решения, експериментираш и така нататък. На първата ми олимпиада не можах да реша нито една задача, а не следващите ставаше по-добре, защото имах повече опит.
Важно е да се отбележи, че на техническите интервюта почти винаги ти дават въпроси/задачи за алгоритми, а тези алгоритми ги упражняваш постоянно, ако ходиш по олимпиади.
На т.нар. hackathons пък е още по-брутално, защото започваш цял проект от нулата и даваш най-доброто от себе си, за да стане читав за краткото време, което имаш. Ще научиш много за процеса на разработка на софтуер. Обобщено казано: просто няма как да не станеш технически по-добър след такива изживявания.
Не на последно място, една награда е, че присъствайки на такива състезания, започваш да се чувстваш комфортно относно това да си част от общността на програмистите.
Започваш да виждаш наистина добри програмисти и да се чувстваш сякаш можеш да бъдеш един от тях. Също така се сприятеляваш с други софтуерни инженери и увеличаваш размера на професионалната ти мрежа. Като цяло основната полза е, че започваш да нормализираш това да си софтуерен инженер и да се чувстваш сякаш можеш да постигнеш всяко нещо, което и другите са постигнали.
Ако сега си студент, не се чуди и се пробвай на някое състезание, а най-вероятно след известно време ще си благодариш за това решение. Успех!
This content originally appeared on DEV Community and was authored by