
Programmører og systemudviklere udvikler programmer (software) til computere. De er eksperter i at opbygge og vedligeholde forskellige typer it-systemer og såkaldt it-arkitektur. Det kan fx være programmer til tekstbehandling, databaser, elektronisk post, bogholderi, grafik, styring af maskiner eller computerspil.
Program eller software er en række instruktioner, som computeren udfører for at løse en bestemt opgave. Programmøren skriver programmet i et særligt sprog.
Et programmeringssprog kan oversættes til en kode, som en computer eller anden elektronisk enhed kan tolke og arbejde med.
Programmer kan overordnet deles op i såkaldte batchprogrammer, der modtager input ved start og ellers ikke, samt interaktive programmer, som en bruger løbende giver input.
Der findes mange programmeringssprog, som hver for sig er velegnede til forskellige typer af programmer, fx C, C++, Java, Pascal, Postscript, SML, SQL, Visual Basic.
Den tekst, som programmøren skriver i et programmeringssprog, kaldes kildekoden (på engelsk: source code).
Til nogle typer software (såkaldt fri software eller open source-software) er kildekoden frit tilgængelig. Det betyder også, at ændringer baseret på kildekoden frit kan distribueres og bruges af enhver.
Store programmer skrives ofte med brug af moduler eller standardiserede programstumper. Programmering betragtes i dag som et fag, der er beslægtet med arkitektur, deraf udtrykket informationsarkitektur.
Systemudvikleren har i princippet mulighed for selv at konstruere programmer fra grunden, men moderne systemer er så omfattende, at det næsten altid er mest hensigtsmæssigt at købe dele af programmer eller færdige programpakker, der kan bygges videre på.
Udviklingen af software (systemudvikling) opdeles i en række faser. I en analyse afdækkes de krav, brugerne kan stille til systemet. Ofte deltager en it-konsulent, ligesom der inddrages repræsentanter for de kommende brugere i analysen.
På det grundlag udarbejdes kravspecifikationen, der definerer den opgave, programmet skal løse. Når kravene til systemet er fastlagt, designes en løsning, der kan implementeres på en computer.
I designfasen udvikles idéer til programmets funktionalitet, design og struktur. Først herefter bliver et programmeringssprog aktuelt.
Når programmet er skrevet, skal man kontrollere det det virker og opfylder kravspecifikationen. Normalt er det nødvendigt at foretage testkørsler med programmet med udvalgte testdata. Når programmet er fundet i orden, kan det bruges i en såkaldt beta-version.
Senere følger vedligeholdelsen, der omfatter rettelse af fejl, der er sluppet gennem de tidligere faser, og tilpasning til ændrede forudsætninger og nye eller ændrede krav til programmet. Vedligeholdelsen er vigtig, fordi den viden om systemet, der efterhånden opbygges, gør det nødvendigt at justere programmet og udsende nye versioner.
Programmøren laver også en dokumentation og andre hjælpemidler til at gøre programtekster læselige og overskuelige. Endelig kan det være systemudviklerens opgave at give brugerne instruktion i, hvordan de skal betjene systemet.
En webprogrammør eller multimedieprogrammør udvikler systemer, der skal anvendes i konkrete multimedie- eller internetløsninger. Disse opgaver løses i tæt samarbejde med en web- eller multimediedesigner, der laver det visuelle design (brugergrænseflader og navigationselementer) samt webredaktører, der leverer programmets indhold (tekst, billeder, lyd m.v.)
Ved udvikling af større komplekse projekter, hvor der deltager flere programmører eller assistenter, kan programmøren være projektleder med ansvar for koordinering af programmeringen, produktionsplanlægning og opfølgning.