プログラミング
要求分析
ソフトウェア設計
プログラム仕様
ソフトウェアアーキテクチャ
コーディング
コンパイル
ソフトウェアテスト
ソフトウェアドキュメンテーション
ソフトウェア保守
この他、プログラムが、作者以外の人によって利用される場合には、プログラムの利用方法や機能について質問を受けることがある。プログラムを、意図したとおり稼働させてゆくためには、これらの問い合わせに対応する必要もある。
一般に、職業としてプログラミングを行う場合、これらの作業が工程として含まれる。大規模なプログラミングでは、これらの作業を分業することも多い。
このような業務は、ソフトウェア工学という学問のソフトウェア開発工程の分野として扱われる。
プログラミングコードがある程度自動生成できるようになった今、専門家の予測通りプログラミングエンジニアの役割は変わりつつあるが、現時点ではコード自動生成の商用・学術利用には著作権上の課題がある。