Най-сетне на сцената се появяват програмистите. В тази статия ще разкажем в какво се състои тяхната задача и какви са качествата, които ги правят успешни.
Когато софтуерният архитект е готов, в процеса се включва ръководителят на програмистите. Съвместно двамата разписват план как ще се изпълнява проектът, в зависимост от логиката на самия проект. Например няма как да направиш Front-end без да имаш база, от която да се взимат данните.
Когато строиш сграда, първо се полагат основите. И при софтуера има логична последователност на действията.
От ръководителя зависи да се направи план за изпълнение във времето и той се грижи планът да се изпълнява (доколкото това е възможно). Той решава колко екипа от по колко програмиста ще работят. Той определя през колко време и какво ще пишат. После прави диаграма кое след кое ще се случи. Задава примерни срокове за програмната разработка на всяка една стъпка. Тези примерни срокове за важни както за планиране на самата софтуерна разработка, така и за калкулирането на цената на програмата.
И накрая, но не на последно място, ръководителят на програмистите разделя голямата задача на много малки задачи, които разпределя на програмистите, като се съобразява с техния опит и ниво. Junior програмистите получават по-лесни задачи, а Senior, съответно, най-трудните. Той прави и периодични срещи с екипите, за да се информира за хода на изпълнението на задачите.
Програмистите
С тяхната работа започва писането на кода – производството. Програмистите трябва да преведат архитектурата на „езика на машината“, така че тя да изпълни първоначалната спецификация за клиента.
Когато до програмиста стигне неговата част, независимо дали е младши или опитен, всичко в нея трябва да е дефинирано предварително. Работата му не е да мисли как да решава проблемите (да избира начина, по който ще се изчисляват лихвите, например), а да създаде сорс код, с който еднозначно да каже на машината какво да прави.
Програмистът трябва да седне и да опише по възможно най-добрия начин даденото му решение, да напише добре подреден код с коментари и лесно разбираем за останалите. Ето защо, ако бъде открито нещо по архитектурата, което не може да се изпълни, тя трябва да се върне за преработка.
Успешният програмист разбира какво точно се иска от него и спазва основната аксиома в програмирането.
Тя е „keep it simple”.
Да пишеш такъв код, че когато друг човек седне да работи с него, да може да го дописва, да го развива и да поддържа софтуера. Ако сорс кодът е добре написан и е ясен за следващия колега, който седне да пише по него, той ще живее и ще се ползва дълги години.
Обогатяването му, редактирането му и използването му отново стават лесни и помагат на екипа да е ефективен. Има програми, които живеят десетки години. Хубаво е винаги да се мисли, че софтуерът може да се ползва дълго и как той ще се поддържа. Затова и кодът се пише съобразно с това правило.
Методи на разработка
Има различни методи на разработка, но в общия случай на всеки програмист се дава да „коди“ някакво парченце от цялото, което той трябва да напише. После той проверява как работи то само по-себе си. Той трябва да има предвид, че парченцето трябва и да сработи в един момент с другите парченца, написани от другите програмисти.
Ето защо екипите се събират често, за да коментират кой докъде е стигнал и всички да са в течение как върви работата на останалите. Тези срещи са изключително важни за работата на всеки един и за създаването на добър краен програмен продукт.
Ако екипната работа не е на ниво, няма да се получи желаният резултат. Затова и много важни умения, които успешният програмист притежава, освен използването на език за програмиране, са:
- умение да презентира работата си;
- да обясни на екипа и на шефа си свършеното;
- да разбере свършеното от останалите;
- да се съобразява с тях и да спази сроковете, които има, за да не бави и обърква работата на своя екип.
В етапа на разработката способността за работа в екип е високо ценено и необходимо умение, което всеки програмист, независимо дали Junior или Senior, е задължително да притежава.
Junior програмистите
Обикновено от тях не се иска експертно познание. Младшите програмисти са хора, които имат малък или среден опит. Те трябва да се вслушват в съветите на програмистите и Senior програмистите.
За да растеш в йерархията, трябва да натрупаш опит поне 1-2 години. Трупането на опит неминуемо е свързано с правене на грешки и това е съвсем в реда на нещата.
За да стане програмист, младшият трябва да направи определен брой типови грешки, да се поучи от тях, да участва в 1-2 проекта, да види как се програмира, да му откриват бъгове и той да си ги оправя. Това е придобиване на опит в програмирането.
Професията на програмиста може да се огледа и като занаят – има степени, определящи се от опита и майсторството: чирак, калфа и майстор. Как чиракът разбира, че е станал калфа? Когато младшият програмист вече е качил нивото, започва да получава по-сложни задачи и, естествено, това има цифрово изражение във възнаграждението му.
Senior програмистите
Това са виртуози, които владеят коденето до съвършенство. Те могат да изпълнят и най-трудните задачи, високо платени са и много търсени. Senior се става след години опит и постоянно надграждане на познанията, много труд и много учене.
За да си наистина добър и търсен програмист, трябва непрекъснато да се стремиш към развитие и да учиш нови езици за програмиране, нови конструкции и по-оптимални начини да си вършиш работата по най-добрия възможен начин.
Ако искаш да станеш програмист и да растеш успешно в йерархията на фирмата, първо трябва да преминеш дълъг процес на обучение. Можеш да кандидатстваш за нашите курсове за професия Junior програмист, които ще те подготвят с необходимите познания за професията. Ако преминеш успешно входящите тестове, обучението ти ще е безплатно. И кариерата ти ще започне в CODIX – един от световните лидери в разработката на финансов софтуер.