Programmering går ud på at udvikle programmer (software) til elektronisk databehandling på en computer ved hjælp af et programmeringssprog. Formålet med et program er overordnet at modtage nogle input-data, udføre en opgave på disse (f.eks. beregninger, udskrivning, kommunikation med database) og som resultat tilbagelevere nogle output-data.
Udviklingen af et program er en proces bestående af det at skrive kildekode, testning, fejlretning (også kaldet aflusning, eng. debugging) og vedligeholdelse af kildekoden. Programmet skrives som regel som ren tekst i et programmeringssprog, som har en defineret syntaks for koden. Hvis der er tale om et compileret sprog, oversættes (compileres) kildekoden først til maskinkode eller et anden mere maskinnær kode. I denne compilering opdages også eventuelle syntaksfejl. Den oversatte maskinkode kan derefter køres af computeren. Hvis der er tale om et fortolket sprog, kører fortolkeren programmet direkte fra kildekoden, og først undervejs i kørslen opdages eventuelle syntaksfejl.
Programmeringen er en del af hele systemudviklingsprocessen, og forudsætningen for at programmere er, at der først er gennemført en analyse af, hvilke krav systemet skal opfylde over for brugerne. Dette er beskrevet i en kravspecifikation. Herefter designes systemet, og programmeringen gennemføres.
Data i et program skal tilhøre en bestemt datatype. Hvilke datatyper, der kan anvendes, afhænger af
programmeringssproget, men groft sagt kan de deles op i:
Der er en løbende debat om hvorvidt kodning af programmer er en kunst, et håndværk eller en ingeniør disciplin
Generelt anses god programmering for at en afmålt anvendelse af alle tre, hvor målet er at producere en effektiv
software-løsning som kan videreudvikles. Disciplinen afviger fra mange andre tekniske professioner, da programmører,
generelt set, ikke behøver licens eller bevis på en standardiseret (eller offentligt reguleret) certifikation for at
kalde sig selv "programmører" eller endda "softwareingeniør".