Rakendusprogrammeerija on inimene, kes on omandanud kõrgetasemelised oskused erinevates arvutiprogrammeerimiskeeltes. Nad on võimelised neid oskusi kasutama uute tarkvararakenduste või -programmide muutmiseks ja loomiseks. Seda tööd tegevat inimest tuntakse ka kui arendajat või süsteemianalüütikut.
Rakenduste programmeerijaks saamiseks peate läbima arvutirakenduste arendamise, arvutiprogrammeerimise või arvutiteaduse keskhariduse. Lisaks sellele ametlikule koolitusele on tavaliselt vaja täiendavaid kursusi erinevates arvutiprogrammeerimiskeeltes. Need keeled muutuvad kogu aeg, seega on oluline kursustel osaleda ja olla kursis.
Rakenduse programmeerijale on saadaval kolm erinevat ametikohta: süsteemianalüüs, loomine ja juurutamine. Kõik kolm ülesannet on osa põhioskustest, mida sellel töökohal vajavad igat tüüpi inimesed, sõltumata tehnoloogiast. Nende ülesannete täitmisele kulutatud aeg moodustab programmeerija päeva tuuma.
Süsteemianalüüsi on kahte peamist tüüpi: tehniline ja funktsionaalne. Tehniline analüüs vaatab läbi süsteemi põhikäitumise. Seda tüüpi analüüsi peamine eesmärk on otsida võimalusi tõhususe suurendamiseks, ressursside paremaks haldamiseks ja süsteemi jõudluse parandamiseks. Rakenduse programmeerija on selleks parim inimene, kuna ta on programmis kasutatava loogikaga põhjalikult kursis ja saab vajadusel muudatusi teha.
Funktsionaalne analüüs keskendub sellele, mida programm peaks tegema. Graafilist kasutajaliidest (GUI), interaktsioonitööriistu ja töötlemismetoodikat uuritakse ja vaadatakse üle. Seda tüüpi analüüs annab väärtuslikku teavet selle kohta, kuidas rakendus praegu käitub ja millal saab täiustusi või kohandusi teha.
Uue rakenduse loomine on tavaliselt mitme programmi kombinatsioon. Rakenduste programmeerijad töötavad seda tüüpi algatuste jaoks tavaliselt projektimeeskondades, kusjuures projektitöö on jagatud osadeks või funktsioonideks. Seda tüüpi töö tegemiseks on vaja suhtlust ja sagedasi värskendusi.
Uute rakenduste juurutamine või olemasolevate suurte muudatuste eest vastutab tavaliselt rakenduste programmeerija. Nende ülesanne on ajastada muudatuste transportimine testimiskeskkonnast tootmiskeskkonda ja seejärel testida, et kõik toimiks ootuspäraselt. Olenevalt süsteemist tehakse juurutusi sageli puhkeajal, näiteks üleöö või nädalavahetusel. Veebisaidipõhistes ettevõtetes on tavaliselt rakenduste programmeerija, kes haldab rakenduste hooldust, tarkvara tuge ja sellega seotud muudatusi.