Programowanie jest to proces projektowania, tworzenia, testowanie i utrzymywanie kodu źródłowego programu. Programowanie wymaga dużego doświadczenia i olbrzymiej wiedzy w wielu dziedzinach, jak projektowanie aplikacji, algorytmika, struktury danych. Programiści ciągle debatują na temat swojej pracy zastanawiając się czy ich robota jest sztuką, rzemiosłem czy może procesem inżynieryjnym. Programista to osoba, która programuje komputery, ich praca zwykle obejmuje: analizę wymagań systemowych, specyfikację aplikacji, architekturę systemu informatycznego, programowanie, kompilację oprogramowania, testowanie oprogramowania, dokumentację programu, integrację i pielęgnację oprogramowania. Pierwszą programowalną maszyną było krosno tkackie Josepha Marie Jacquarda w 1805 roku. Aby maszyna wyprodukowała jakąkolwiek tkaninę trzeba było umieścić w niej kartę dziurkowaną, na której był zapisany wzór, jaki miał widnieć na tkaninie. Po zmianie zestawu kart maszyna produkowała tkaniny o innych wzorach. Niecałe 30 lat później Charles Babbage rozpoczął budowę maszyny analitycznej, która była mechanicznym, programowalnym, protokomputerem, który wyprzedzał swoją epokę. Z powodu trudności konstrukcyjnych wynalazca nie dokończył swojego dzieła, jego projekt został jednak opisany przez Adę Lovelace, która napisała pierwszy program zostając pierwszym programistą, a dokładniej programistką w historii. W początkowych latach od powstania pierwszego komputera, programy były wprowadzane do komputera za pomocą dziurkowanych kart lub taśm papierowych. Dopiero pod koniec lat 60. XX w. Powstały pierwsze elektroniczne urządzenia do przechowywania danych. W obecnych czasach kariera programisty jest bardzo interesująca ze względu na rosnące zapotrzebowanie na nowe aplikacje. Niektóre z najbogatszych osób na świecie są programistami, do takich osób zaliczają się między innymi: Bill Gates ( Microsoft), Larry Ellison ( Oracle), Larry Page ( Google ), Hasso Plattner ( SAP ). Obecnie na świecie jest wiele konkursów organizowanych dla osób, które chcą zajmować się programowaniem, zwycięscy dostają szanse wypromowanie się w wielkich korporacjach.