Profesia programátora si vyžaduje určité zručnosti a znalosti, ktoré sa týkajú nielen priamo samotných programovacích jazykov. Dobrý špecialista by mal mať predstavu o štruktúre počítača, mať znalosť anglického jazyka, byť schopný sám vykonávať matematické výpočty a vytvárať vzorce.
Znalosti a pochopenie terminológie
Programátor nevyžaduje žiadne konkrétne kritériá. Aby ste však boli vo svojom podnikaní úspešní a mali o vás dopyt, musíte mať určité vedomosti a vlastnosti.
Dobrý programátor by mal pochopiť, čo je to pole, hašovacia tabuľka a prepojený zoznam. Špecialista bude oboznámený s pojmami ako Fibonacciho hromady, rozširujúce sa stromy, zoznamy preskočených položiek, stromy AVL atď. V závislosti od špecializácie musí ovládať algoritmy na vykonávanie úloh, poznať postupy vyhľadávania, výberu, odovzdávania dátových štruktúr, zostavovať grafy, matice a byť oboznámený s aspoň základnými princípmi dynamického programovania.
Najdôležitejšie je mať príslušné vedomosti z oblasti informatiky a ovládať určitý terminologický aparát.
Programátor systému musí rozumieť účelu kompilátora, rozumieť assembleru, mať určité vedomosti o virtuálnej pamäti a štruktúre kódu operačného systému ako celku; musí mať informácie o zásuvkách, rozumieť fungovaniu internetových sietí a sieťových protokolov.
Úroveň znalostí programovacieho jazyka (PL)
Programátor musí dobre ovládať jazyk tematickej oblasti, na ktorú sa špecializuje. Znalosti PL predpokladajú, že ste schopní použiť nástroje, ktoré sú v ňom dostupné, na riešenie konkrétnych problémov. Úspešný špecialista vie niekoľko programovacích jazykov a vie, ako prispôsobiť použité metódy tak, aby vyhovovali jeho úlohám alebo špecializácii.
Programátor musí študovať správanie používateľa a očakávať od neho rôzne akcie a reakcie, ktoré musia byť implementované v rozhraní budúceho programu.
Znalosti programátora určuje aj jeho špecializácia a profilová PL, ako aj úlohy, ktoré prostredníctvom neho realizuje.
Napríklad pri písaní kódu v Jave alebo C # musí poznať použité knižnice, typické programátorské situácie. Dobrý špecialista sa vyznačuje schopnosťou vyhnúť sa opakujúcim sa štruktúram v kóde a schopnosťou vytvárať vlastné programy v súlade s problémami, ktoré sú riešené vo vyvinutej aplikácii.
Komunikačné schopnosti
Programátor musí byť schopný komunikovať so zákazníkmi aj s kolegami. Veľké softvérové projekty si vyžadujú, aby programátor dokázal komunikovať a správne vyjadrovať svoje myšlienky a koncepciu projektu.
Znalosť cudzieho jazyka pre programátora mu umožňuje študovať rôzne nepreložené technické dokumentácie, ktorých je v oblasti informatiky veľmi veľa. Cudzí jazyk vám tiež umožní komunikovať so zahraničnými zákazníkmi a zarobiť viac.