Programmer adalah seorang individu yang menulis/membuat sebuah software atau aplikasi dengan cara memberikan perintah kepada komputer untuk melaksanakan suatu tugas dengan menggunakan bahasa pemrograman tertentu. Setiap programmer memiliki latar belakang pengetahuan tentang komputer dan programming yang terdiri dari berbagai macam bahasa pemrograman dan platform tertentu, termasuk di dalamnya adalah SQL (Structure Query Language), Perl, XML (Extensible Markup Language),PHP,HTML,C,C++ dan Java.
Seorang programmer bisa juga memiliki keahlian lebih dari satu seperti database, keamanan, mobile ataupun developer web. Biasanya seorang programmer memiliki satu keahlian programming misalnya desktop programming atau web programming. Sangat jarang jika seorang programmer menguasai kedua tipe programming desktop dan web.
Programmer mampu untuk menginterpretasikan hasil dari dokumentasi sebuah bisnis proses ke dalam bahasa pemrograman, selain itu programmer juga harus mampu melakukan debugging pada program yang dibuat. Dengan kata lain bahwa programmer harus mau bersahabat dengan error, karena tidak ada seorang programmerpun yang membuat aplikasi lepas dari error. Setiap kali proses membuat sebuah program, programmer harus melakukan yang namanya trial dan error agar program yang dibuat dapat berjalan dengan baik.
Di dalam terminologi seorang programmer dapat dibedakan menjadi tiga, yaitu programmer junior, middle dan senior.
Pengertian Programmer junior adalah sebutan untuk programmer yang baru memulai dalam bidang programming dimana mereka masih harus bergantung kepada panduan bahasa programming yang digunakannya. Programmer junior ini masih banyak melakukan kesalahan sehingga masih perlu dilakukan bimbingan oleh programmer middle atau programmer senior.
Pengertian Programmer middle adalah sebutan untuk programmer yang sudah memiliki kemampuan dalam bahasa program tertentu. Programmer ini sudah mampu untuk berdiri sendiri tanpa bantuan dari programmer senior dan sudah mengerti ketika mendapatkan sebuah perintah untuk membuat suatu fungsi / aplikasi / program dari orang lain.
Pengertian Programmer senior adalah sebutan untuk programmer yang sudah mahir dalam satu bahasa pemrograman dan biasanya mampu memberikan solusi atas masalah yang dihadapi. Selain mahir programmer senior juga sudah mampu menterjemahkan bisnis proses yang diberikan dan diaplikasikan dalam sebuah program. Selain itu programmer senior biasanya memberikan bimbingan kepada programmer junior.
Hal yang paling penting ketika ingin menjadi seorang programmer adalah niat, semangat, serta keuletan yang tinggi dan selalu ingin tahu serta teman terbaik dari seorang programmer adalah error. Semakin banyak error yang dialami, maka semakin bertambahlah pengetahuannya dalam hal programming.