DEV Community

Изучавай теорията и тънкостите, за да измисляш по-добри решения в практиката!

SE

(Първо публикувано на Jul 3, 2021)

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

Може например да си мислиш нещо като “Защо ми е да знам някакви си тънкости за механизма на работа на ORM инструмента, който ползвам, когато вече има технологии, които правят всичко автоматично и благодарение на които въобще не ми се налага да знам какво се случва отдолу?” или “Защо ми е да изучавам разни странни и объркващи теоретични неща като нормализация на база данни и не знам си какво още? Просто мога да науча малко SQL колкото да създавам таблици и да извличам данни от тях, а пък другото не е толкова важно и мога да го потърся, когато ми се наложи…” 😅

Да, предполагам можеш да си караш с минимума от знания, но това според мен няма да те направи повече от посредствен софтуерен инженер, а и ще направи работата ти по-трудна в дългосрочен план. По-добре смятам, че е непрекъснато да “наливаш” в своя “резервоар от знания” книги, курсове и така нататък. 😎

Какво е предимството на това? Според мен основното предимство е, че когато работиш по някой проект и имаш някаква конкретна задача, в главата ти изплуват по-добри решения. Ако например си Java програмист, четеш книги като “Effective Java” и си прочел нещо за най-добри практики при ползване на generics, a на другия ден се налага да ползваш точно generics, в главата ти ще се появи мисълта “Хмм, я чакай, тука имаше една тънкост, с която е важно да се съобразя, ако не искам главоболия по-нататък!” Ако не беше чел за тънкостите на Java и generics, въобще нямаше да се замислиш за това и после щеше да си блъскаш главата ненужно.

Якото е, че дори и да не ти се наложи да приложиш знанията веднага, те пак си остават в главата ти (или поне “адресът”, на който можеш да ги намериш в паметта си 😂). Ако да речем си чел нещо за тънкостите на generics в Java, a чак след няколко месеца ти се наложи да ги ползваш, ти пак ще се сетиш “Хмм, май преди време бях чел нещо полезно за това… я пак да погледна…” и така пак ще имаш предимство пред някой, който въобще не подозира за тези неща.

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

Top comments (0)