Участвай в състезания за програмиране (олимпиади, hackathons и други)!

Мисля, че когато си студент и учиш софтуерно инженерство (или “компютърни науки”, “информатика” и т.н.), един от най-лесните и подценени начини да изпъкнеш по положителен начин (както пред преподавателите ти, така и по-нататък, когато си търсиш стаж или работа)… е да участваш в различни състезания свързани с програмиране! 😎

Спомням си, че в университета всички преподаватели споменаваха и се опитваха да ни убедят да се запишем за X олимпиада, Y hackathon, Z състезание, но почти никой студент не искаше да участва. Сякаш единствените хора, които искаха да участват, бяха тези, които преди студентските си години имаха някакъв опит с такива състезания и знаеха, че ще се справят и тук. 😅

Един от основните проблеми (според мен) беше, че макар да ни предлагаха да участваме в различни състезания, никой не ни обясни ЗАЩО участването всъщност е в наша полза. Моята гледна точка тогава беше “Не стига, че трябва да ходя на лекции/упражнения всеки ден и да уча за изпити, а сега ми предлагат да идвам събота на някаква тъпа олимпиада? Какъв е смисълът?” За щастие имах добри ментори онлайн, които ми помогнаха да забележа колко заблудено виждах нещата тогава.

ОК, защо е полезно да участваш? Просто е: когато участваш по състезания, след това получаваш много НАГРАДИ, а най-често даже не се изисква да си от първенците в даденото състезание!

Не говоря само за материални награди, но нека започнем с това. Отиваш на някое състезание и най-вероятно първо ще ти подарят разни малки неща от фирмата, която спонсорира състезанието (тефтери, химикали, може би някоя тениска или малка джаджа). Ще ти дадат и някаква безплатна храна. Ако пък стигнеш някое от топ 3 местата, най-вероятно ще получиш и някоя готина технологична награда (може би нещо като флашка, слушалки и т.н.).

Сигурно ще те наградят след самото състезание, а по-късно ПАК ще те наградят, когато университетът изброява студентите, които са имали отличия през семестъра (извън оценките им по различните дисциплини). Ако пък си на някое по-сериозно състезание като hackathon, може някоя фирма даже да спонсорира проекта ти (или пък да те вземе на работа)! 😅

Спомням си също така, че безплатно пътувах по различни градове в България (а даже и в Румъния), просто защото реших да участвам в няколко състезания в университета. Наистина има потенциал за големи и разнообразни материални награди.

Друг тип награда е просто самото постижение и уважението, което получаваш благодарение на него. Както споменах в началото, участването в състезание по програмиране е лесен начин да изпъкнеш от тълпата, защото ПОЧТИ НИКОЙ не участва! А всъщност фактът, че почти никой не участва, прави и спечелването по-лесно (например аз не бях чак толкова добър в олимпиадите по програмиране, но тъй като нямах голяма конкуренция в университета, беше сравнително лесно да хвана някое от първите места с минимална подготовка).

Ако ти участваш, дори и да не спечелиш, пак получаваш бонус точки и изглеждаш добре в очите на другите, защото комуникираш, че си някой, който е сериозен и постоянно търси начини и действа, за да стане по-добър (така също ще имаш и нещо като опит, който можеш да добавиш в CV-то си и чрез който можеш да покажеш, че си сериозен кандидат, когато търсиш стаж или първата си работа).

А ако спечелиш, това вече е невероятно и преподавателите (а потенциално и работодателите) ще те познават и уважават повече. Спомням си дори, че един път ме хванаха да преписвам на изпит и щях да загазя доста, но понеже преди това имах репутация на някой, който се отнася сериозно към програмирането, участва по състезания и т.н., ми се размина доста леко.

Също така (очевидно) надграждаш техническите си умения и развиваш умствена издръжливост! Спомням си как на първата ми олимпиада ме заболя главата след около час съсредоточено мислене, а на следващите беше значително по-лесно да управлявам енергията си.

Логическото ти мислене също се подобрява, защото напрягаш мозъка си на максимум, опитваш различни решения, експериментираш и така нататък. На първата ми олимпиада не можах да реша нито една задача, а не следващите ставаше по-добре, защото имах повече опит.

Важно е да се отбележи, че на техническите интервюта почти винаги ти дават въпроси/задачи за алгоритми, а тези алгоритми ги упражняваш постоянно, ако ходиш по олимпиади.

На т.нар. hackathons пък е още по-брутално, защото започваш цял проект от нулата и даваш най-доброто от себе си, за да стане читав за краткото време, което имаш. Ще научиш много за процеса на разработка на софтуер. Обобщено казано: просто няма как да не станеш технически по-добър след такива изживявания. 😅

Не на последно място, една награда е, че присъствайки на такива състезания, започваш да се чувстваш комфортно относно това да си част от общността на програмистите.

Започваш да виждаш наистина добри програмисти и да се чувстваш сякаш можеш да бъдеш един от тях. Също така се сприятеляваш с други софтуерни инженери и увеличаваш размера на професионалната ти мрежа. Като цяло основната полза е, че започваш да нормализираш това да си софтуерен инженер и да се чувстваш сякаш можеш да постигнеш всяко нещо, което и другите са постигнали.

Ако сега си студент, не се чуди и се пробвай на някое състезание, а най-вероятно след известно време ще си благодариш за това решение. Успех! 😎

--

--