3 знака, че ще станете добър програмист
Експерти от Acronis, CROC, Mercaux Inc., STREAM, ICL Services и Bell Integrator разказаха как се определя „предразположението“ към програмиране.Какво ви прави потенциален разработчик?

Имате математическо мислене
„В основата си програмирането е много подобно на „инженерни специалности“, човек с „математическо мислене“ може да бъде еднакво успешен в проектирането на колесни превозни средства или писането на код. Ако изхождаме от това, тогава един от основните признаци, че човек има талант за програмиране, е наличието на аналитично мислене, тоест склонност да изучава, анализира и изгражда в „завършени форми“ всяка информация, която получава.
— Говори Антон Енакиев, вицепрезидент на Acronis по развитието.
„С математиката трябва да бъдем приятели, както каза един български учен, „тя подрежда ума“
съгласява се Сергей Стрелков, ръководител на вътрешното развитие в КРОК.
Любим въпрос на начинаещи или “колко трябва да знае математика на един програмист?”
„„Математическият начин на мислене“ в контекста на програмирането изобщо не е синоним на типичния „математик“, който обикновено се изобразява във филмите. Програмистът не е Ръсел Кроу в ролята на нобеловия лауреат Джон Наш, потънал в числа и постоянни анализи. В 90-95% от работата си програмистите използват само базови математически инструменти, а само 5-10% от задачите изискват задълбочени познания по математика. Затова ми се струва, че няма специално изискване за твърде задълбочени познания по теория на графите или теория на вероятностите за програмист, но това винаги ще се счита за плюс.
— смята Антон Енакиев, зам.Президент на Acronis по инженерство.
Какъв вид математика е необходима, казва Алексей Светлов, ръководител на отдела за развитие на техническия отдел на Stream LLC:
„В основата на програмирането е дискретната математика. И един добър програмист трябва да обича и разбира тази тема. Това е основата за развитие. Математиката дисциплинира човек и го учи да търси рационален изход от всяка ситуация. В противен случай всяка нестандартна ситуация ще обърка програмиста и, след като не е намерил отговор на всички известни ресурси, той ще скръсти ръце и ще подпише своята безпомощност.
„Може да не познавате напълно теорията на вероятностите и висшата математика, но линейната алгебра трябва да бъде неразделна част от мисленето при решаването на повечето проблеми или „написана на подкорието на мозъка“ (както казват някои учители) - това е вродена грамотност, но в математически смисъл "
- казва Денис Воротников, водещ уеб програмист в Mercaux Inc.
„Добрият програмист трябва да е мързелив“, каза един от нашите преподаватели в университета. И това е истина! Тъй като колкото по-малко програмен код изпълнява задачата, толкова по-брилянтен обикновено е написан. А мързеливият програмист го мързи да напише много код - той ще търси начин да свърши по-малко работа със същия резултат.
- обяснява Алексей Светлов, ръководител на отдела за развитие на техническия отдел на Stream LLC.
Обичате да решавате нестандартни задачи
„Не бива да забравяме, че програмирането е до голяма степен творческа професия. Въпреки цялата яснота на алгоритмите и следването на указанията (правила за програмиране на всеки език), специалистът в тази професия много често трябва да излезе с хармонични решения за изпълнение на нестандартни задачи. Струва си да се има предвид, че е такаспециалисти, които разработват модерни софтуерни продукти за широк кръг потребители, тъй като в някои области има специфики, които изискват стриктно спазване на определени правила и където няма място за творчество - например програмиране на ниско ниво на езици, близки до базовите"
— обяснява Денис Воротников, водещ уеб програмист в Mercaux Inc.
Алтернативен бърз тест за способност за програмиране
Можете ли да създадете алгоритъм за готвене на бъркани яйца не само при „идеални“ условия, но и да измислите няколко успешни алтернативи, както и да създадете алгоритъм за готвене при изключителни, грешни първоначални условия?
„Ако човек може да опише стъпка по стъпка как се готвят бъркани яйца, посочвайки не само щастливия път, но и изключителен и алтернативен, тогава той определено може да стане програмист“
- казва Николай Кащанов, IT експерт на ICL Services за предоставяне на услугата.
Ако говорим за лични качества, тогава Федор Зубарев, програмен мениджър в Bell Integrator, вярва, че най-често тези два типа хора потенциално могат да станат добри програмисти:
„1во: педантичен, точен, понякога скучен. Хора, които са готови да се справят с всяка дреболия, задълбочавайки се във всички подробности.
2-ро: хората са креативни, малко небрежни в различни, включително ежедневни въпроси. Образование – специализирано или чисто математическо“
Разпознавате ли се в един от типовете?
Разбира се, основният тест е вашето искрено желание да учите и страст към програмирането. Само това ще ви позволи да постигнете резултат, независимо колко впечатляващи са вашите „първоначални“ наклонности.
„Сигурен съм, че успехът е възможен само в този или онзи вид дейноступорит труд, който винаги носи заслужено възнаграждение. Разработката на софтуер не е изключение. Ако такава работа продължава да ви доставя удоволствие, ако искате да направите нещо друго „за себе си“ — да изследвате, да научите нещо ново — има признаци на талант.“
Убеден е Сергей Стрелков, ръководител на вътрешното развитие в КРОК.
Затова не забравяйте, че когато умножаваме произволно число по нула, получаваме нула - тоест, колкото и феноменални да са вашите наклонности, няма да има резултат без упорит труд. Талантът трябва да се развива.