برنامهنویس شخصی است که سعی میکند برای مسئلهها بهترین پاسخها را پیدا کند و آنها را به کمک زبانهای برنامهنویسی به کامپیوتر منتقل کند. بدین صورت کامپیوتر اطلاعات دریافتی را پردازش میکند و خروجی کار را نمایش میدهد.
پس شخص برنامهنویس باید به فرآیند حل مسئله، تحلیل دادهها، عیبیابی و… مسلط باشد.