8 Карактеристики кои секој одличен програмер ги има - Code Academy
8 Карактеристики кои секој одличен програмер ги има

Една од поинтересните професии во денешниов свет е токму програмер. За пошироката јавност, програмери се луѓе што прават неверојатни работи на компјутер. Иако тоа звучи како општа генерализација за оваа професија, всушност е прилично блиску до вистината.


Со помош на нивните вештини и знаења се креираат, подесуваат и одржуваат голем број различни софтвери, веб-страници и веб-апликации. И често тие се луѓето кон кои се вртиме доколку имаме некои стручни прашања и задачи во врска со оваа сфера на работење.


Гледајќи површински, експерт-програмер треба да знае да кодира на неколку различни програмски јазици, сѐ со цел да ги постигнат целите кои пак, се поставени од нивните компании или клиенти.


Најчесто компаниите во оваа област имаат еден универзален проблем: како да најдат сериозен и искусен програмер? Најчесто, нивните критериуми се преопшти или преспефицични.


Тоа нé води кон најбитното прашање: Кои се клучните карактеристики кои добар програмер треба да ги има?


Истото важи и за тебе, доколку размислуваш да се вртурнеш во светот на програмирањето, мора прво да ги знаеш најбитните карактеристики кои секој сериозен девелопер ги поседува.


И доколку сакаш да станеш врвен програмер без никакво предзнаење, КЛИКНИ ТУКА


Да започнеме.


 

Технички вештини


Одлични програмери веќе работеле на неколку различни вештини доволно долго за да станат експерти (или барем да имаат доволно познавање) во таа област.


Секако, програмери (ангажирани за вистинскиот проект) ќе можат со спринтерски старт да започнат со нов проект, бидејќи веќе ја познаваат терминологијата и технологијата потребна за извршување на тој проект.


Дополнително, експерт-програмер знае како умешно да ракува со битни аспекти на програмирањето како: агилен девелопмент, софтвер за менаџмент на таскови, “version control”, итн.


Еден интелектуалец вика дека постои многу голема сличност помеѓу програмирањето и уметноста во тоа што техничките вештини се битни, но сепак не се едиствената причина зошто еден програмер или уметник се врвни во нивното поле.


Тоа е точно, бидејќи успехот не доаѓа исклучиво од технички вештини. Но, од друга страна пак, неможеш да очекуваш добри резултати од луѓе кои ги немаат вистинските способности за оваа професија.


Оваа карактеристика треба да ја гледаш како еден дел од сложувалката, која иако многу битен, не прави ништо посебно сам по себе.


Целта на оваа вештина е програмерот да знае како да се придржува до одредени кодерски стандарди и да напише код кој може да биде лесно разбирлив и превземен од други програмери.


Како да ја провериш оваа вештина:

●    Побарај примери од работење на други програмери

●    Побарај референци

●    Заврши неколку програмески предизвици

●    Заврши еден “Hackathon”

 


Менаџмент на време и задачи


Одличните програмери имаат неприкосновена работна навика. Од доаѓање на состаноци навреме, до добро менаџирање со времето и задачите, луѓе со оваа карактерна особена се оние на кои можеш да се потпреш или да бараш совети.


Многу битна вештина која секој добар програмер мора да ја има е да одреди колку време ќе му биде потребно за извршување на одредена задача и притоа да стои позади определеното.


Добар начин како да ја тестираш оваа вештина е да се ангажираш на кратко-траен индивидуален проект или со тим. Поентата на овој тест е да ги пронајдеш твоите предности и слабости при работа на одреден проект.


Па така, ќе знаеш на што кои слабости да се фокусираш и да ги подобриш, а на кои предности само дополнително да ги надградиш.


Исто така и да ја процениш ефектиноста на сработеното.Бидејќи по организираните програмери се најчесто повеќе платени и поуспешни.

 


Адаптиблиност


ИТ светот постојано се менува и надоградува, и ти како програмер мора да се менуваш заедно со него. Како и да е, секогаш е добра идеа да бидеш човекот што следи и констанстно бара нови алатки и начини за извршување на задачите.


Секоја компанија би дала се да има таков човек како дел во нивниот тим.


Под адаптибилност се подразбира постојано следење на новостите во индустријата во која работиш (или ќе работиш). Исто така, запомни дека, што повеќе знаеш надвор од твоето поле на експетриза, толку повеќе си битен дел на твојот тим и на целата компанија.


Според експертите, пораздновиден спектар на вештини од страна на еден програмер најчесто води кон поефективно и поефикасно извршување на задачите. Тоа пак води кон работна позиција со поголеми приходи.


Секој програмер ќе наиде на ситуации каде што тој/таа не го знае одговорите на тие прашања. Но, врвни девелопери ќе направат се за да стигнат до решението, влучувајќи и да најдат различни извори, да зборат со вистинските луѓе и да тестираат различни верзии.


Наједноставни правила кои треба да ти применуваш кога се работи за прилагодување кон средината се:

●    Не ги заборавај основите

●    Научи како да debug-ираш

●    Научи како да script-ираш

●    Не е најбитно изгледот твојот код

●    Биди тимски играч (за оваа точка подетално ќе навлеземе подоле во статијава)

 


Љубопитност


Според Вилијам Самјуел Џонсон, амерички политичар во 18-иот век, љубопитност како алатка во рацете на големите и влијателни умови, е прва и последна пасија. Истото важи и за програмерите.


Тоа значи дека оваа карактерна особина те мотивира да експериментираш и да пронајдеш нови решенија на проблемите. Исто така, те мотивира да разгледаш какви одлуки направиле други девелопери, како и да размислиш подлабоко за определени претпоставки.


Најчесто поставувани прашања на добрите и љубопитни програмери се:

●    Што може да ми недостанува?

●    Што треба да се направи за да функционира се?

●    Иако терминологијата е специфична, дали е доволно разбирлива за остатите во организацијата? Дали можат да го модифицираат, тестираат или надградат веќе направеното?

 


Фокусиран кон крајната цел


Ти како програмер, градиш продукти наменети за крајниот корисник. Во склоп на твојата работа треба и да ги разбереш нивните потреби и желби, и да создадеш алатки кои им се корисни.


Најбитно што треба да го запомниш од оваа точка е: секогаш размислувај на крајниот корисник!


Бидејќи, додека просечен програмер ги извршува дадените задачи, врвниот програмер размислува за крајниот корисник.


Исто така, треба да размислуваш и од перспективата на компанијата. Колку повеќе корисници се задоволни од тоа што го нудиш (и изгледот и фунционалностите), толку повеќе ќе се зголеми лојалноста и довербата кон твојот продукт/услуга.


И среќниот корисник често го споделува твојот продукт/услуга со други луѓе, што доведува до уште повеќе корисници и приходи. Сето тоа се одразува и на тебе, во однос на унапредување, бонуси, итн.


Често поставувани прашања од девелопери со оваа карактерна особена се:

●    Како оваа услуга/продукт ќе изгледа во очите на крајниот корсник?

●    Дали се понудени сите битни алатки за крајниот корисник?

●    Каков “user experience” има овој продукт/услуга?

●    Како можеме да го подобриме целиот процес за корисниците?

 


Желба за подобрување


Врвни програмери обично се стремат кон константно изучување на нови вештини и способности. Имаат доволно способност и храброст да студираат нови технологии и да ги применуваат истите.


Една од клучните предности кои секој одличен девелопер мора да ја има е желбата за подобрување. Оваа карактеристика се опишува како искрена желба за постојано учење и подобрување на нови (и веќе стекнати) вештини.


Сериозните програмери го обожаваат процесот од незнаење до знаење. Бидејќи секоја дополнителна способност која ти како поединец ќе ја стекнеш ќе се одрази позитивно на тимот и целата компанија. Ова најмногу се потврдува во ИТ светот.


Иако е корисно да имаш свој начин како да ги завршиш дадените задачи, круцијално е почнеш дасе едуцираш за работи кои не ги знаеш.


Тоа е нешто што можеш само индивидуално да го направиш. Бидејќи, како што напоменавме погоре, врвните програмери го имаат усовршено процесот на само-едукација.


За развивање на оваа карактеристика, најдобрите совети се:

●     Да присуствуваш на настани, конференции и hackathon-и

●     Да најдеш добар ментор

●     Да работиш на други проекти на страна

●     Да побараш feedback од твоите колеги

 


Тимски играч


Да бидеш тимски играч е веројатно една од позначајните карактеристики што секој одличен девелопер мора да ја има.


Бидејќи најчесто ќе работиш на проект во тим, битна е ефективноста, комуникацијата и целокупната хармонија во твојот тим.


Исто така,треба да имаш на ум дека повеќето луѓе не ја разбираат “tech”-терминологијата и затоа е потребно да знаеш како јасно и едноставно да комуницираш со нив.


Затоа во повеќето современи огласи за програмери, се истакнува и способноста да разбира и комуницира во “маркетинг или оперативен” жаргон.


Тоа е така, бидејќи најчесто програмери работат во тим со дизајнери, маркетери, агенти за продажба, и други професии.


Една од основните особини на добар тимски играч е јасно и разбирливо да комуницира помеѓу членовите на тимот. Добар програмер е способен да го разбере проблемот јасно, да го подели во помали целини и да предложи соодветно решение.


Доколку предложеното решение е прифатено, задачите се доделени во тимот.


Задачите, проблемот и целта мора да биде презентирани пред тимот на начин на кој тие веднаш ќе разберат.


Доколку работиш за странска компанија, треба да се навикнеш на документирање на твоето работење на англиски јазик. Дури и да работиш за домашна компанија, англискиот јазик е преферираниот начин на документирање и интеракција помеѓу програмерите.


Во склоп на карактеристиката на добар тимски играч, треба да имаш способност за помагање на останатите програмери да се подобрат и усовршат. Ова вклучува помош на колеги доколку се заглавени со некој проблем, нивно едукација на нови вештини и пишување дополнителна документација со цел да се помогне на колегите во тимот (и во компанијата).


Истото важи иво обратна насока. Доколку има член во тимот кој е повешт од тебе во одреден аспект, треба да знаеш кои се вистинските прашања кои треба да ги поставиш.


Ова се надоврзува на желбата за подобрување. Доколку од тој девелопер можеш да научиш важни лекции и притоа има желба да го дели своето знаење, тогаш тој е вистинскиот ментор за тебе.

 


Ентузијазм


Ентузијазмот уште една битна карактерстика која секој врвен програмер мора да ја има. Бидејќи во текот на еден обичен работен ден, програмерите решеваат многу проблеми и задачи.


Овој “mindset” на завршување на задачите на време е битен атрибут, со оглед на тоа дека нови задачи можат да почнат да се таложат на твоето биро. Битно да се разграничи кога треба да се откажеш од определено решение за некој проблем и да продолжиш понатаму на следната задача.


Еден одличен програмер навистина се грижи за проектот или продуктот кој го развива.

Тој е позитивен и мотивиран да даде се од себе секој ден за да ја оствари целта.


Не се плаши од важноста и притисокот кој секој краен рок за определена задача го носи. Доколку е потребно да се пушти нов продукт на маркетот, врвниот програмер ќе превземе одговорност и ќе даде се од себе продуктот да биде спремен што е можно поскоро.


Бидејќи како што веќе напоменавме погоре, тие се грижат за проектот или продуктот кој го развиваат. Исто така, не дозволуваат нивното его да го надвлада објективното размислување што го носи feedback-от.


Добар начин за дополнително вродување на ентузијазмот е:

●    Работа на интересни проекти

●    Одреден степен на автономност на тие проекти

●    Пофалби за добро завршената работа

 


Заклучок


Денешните компании, кога пуштаат огласи за вработување на девелопери, или имаат премногу општи или премногу специфицични криетируми.


Во пракса, за најдобра селекција на квалитетен и стручен кадар, потребно е да се гледаат само овие 8 клучни карактеристики што секој одличен прорамер ги има.


Од технички вештини до ентузијазм, сите овие особини го одликуваат врвниот девелопер.


Технички вештини е веројатно најкомплицираната карактеристика од сите на листава. Тоа е така бидејќи тие најтешко се стекнуваат.


Но, имаш среќа.


Толку затоа ја оформивме нашата академија за програмирање, Code Academy.


За да ти помогнеме да се стекнеш со техничките вештини кои ќе те доближат до заедницата на врвни програмери.


КЛИКНИ ТУКА  и увери се сам/a.