برنامهنویسی امروزه تعاریف گستردهتری دارد، برای مثال یک توسعهدهنده نرمافزار (Software Developr) یا توسعهدهنده وب(Web Developer)
برنامهنویس طرحهایی که مهندس تحلیلگر نرمافزار تهیه کرده را به صورت کد نوشته، سپس برنامهها و کدهای تولید شده را اجرا، آزمایش و رفع اشکال کرده، تا به نتایج مورد نظر برسد. این کار مستلزم طراحی نرمافزار، ایجاد مدلها و فلوچارتهای ارائه دهنده چگونگی نوشتن کدها و طراحی رابط کاربری سیستم میباشد.
برخی از برنامههای ساده زمان کمی برای نوشتن نیاز دارند، مانند اپلیکیشنهای موبایل و برخی برنامههای دیگر مانند سیستمهای عامل یا نرمافزارهای سازمانی پیچیدهترند و نوشتن آنها زمانبر است.
برنامهنویس معمولاً به تنهایی کار میکند ولی گاهی اوقات در پروژههای بزرگ با سایر متخصصان به صورت تیمی همکاری میکند. بسیاری دیگر از برنامهنویسان هم هستند که به صورت دورکار فعالیت میکنند و اصطلاحاً آزادکار(Freelancer) هستند.