Loading...

Най-важните качества на един добър програмист

avatar Петя Гроздарска 3 минути
Най-важните качества на един добър програмист

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

1. Любознателност и стремеж за самоусъвършенстване

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

За да дадем пример, нека кажем, че един посредствен програмист ще научи Java, когато започне работа по проект за Android приложение; един добър програмист ще го е научил или поне разгледал преди година, защото му  се е сторил интересен; а един отличен програмист вече ще е прочел за дизайн насоките на едно Android приложение, за теорията за ползваемост (usability) или ще е изкарал подобен курс, за да може да направи наистина изключителен UI (потребителски интерфейс).

2. Логическо/алгоритмично мислене

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

Много хора бъркат алгоритмичното мислене с познаването на определен набор от алгоритми като quicksort (бързо сортиране) или binary search (двоично търсене. Да имаш алгоритмично мислене означава да можеш да измисляш как да решиш една задача като поредица от стъпки. Големите задачи се разбиват на няколко по-малки задачи. Алгоритмичното мислене се състои в способността да разбиеш решението на една задача на малки стъпки (рецепта / алгоритъм), които като се изпълнят една след друга, се получава решението на задачата.

Що се отнася пък до математиката, програмирането не е толкова обвързано с нея. Но като се стигне до по-сложни проблеми, е добре да не се плашите от математиката, защото може да помогне. Много интересни области на програмирането като компютърна графика, обработка на сигнали, криптография изискват дълбоко познание и разбиране на математиката.

Algorithmic thinking

3. Да знаеш как да проучваш и да търсиш отговори

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

Проучването и търсенето на отговори е много повече от това да напишеш няколко ключови думи в Google или пък да зададеш въпрос в Stack Overflow и във форума на MSDN. Много от проблемите са чисто ситуационни и ако разчитате на форуми и други хора, може да загубите много време, а в края пак да не стигнете до решение. Ето защо е важно да се прави анализ на първопричината, да се търсят допълнителни следи и решения, да се научи да се гледа отдалече на проблема преди да се гмурнете в него отново.

Research

Откъде да започнете, за да станете добри програмисти?

Един от начините е да се възползвате от безплатния курс на СофтУни по Основи на програмирането. Следващият такъв започва на 5 септември и е подходящ за абсолютно начинаещи. Занятията ще се провеждат всяка събота в продължение на два месеца. След края на курса, следва изпит, който се явява приемен за СофтУни. Всички, които успешно го вземат, ще получат не само сертификат от Софтуерния университет, но и възможност за започване на обучение в ниво Fundamentals. Повече информация за курса можете да намерите тук. За записване за курса, последвайте този линк. Имате време до 31 август. Очакваме ви!