プログラミング
プログラミングをするときに関係するタスクには、テスト、デバッグ、ソースコードのメンテナンス、ビルドシステムの構築、コンピュータープログラムの機械コードなどの生成されたアーティファクト(英語版)の管理などがある。これらのプロセスはプログラミングのプロセスの一部と考えられるが、広義のプロセスはよく「ソフトウェア開発」と呼ばれ、実際にコードを書く行為に対しては、「プログラミング」、「実装」、「コーディング」という名前が使われることが多い。ソフトウェア工学 (software engineering) は、エンジニアリングの技術をソフトウェア開発の実践と組み合わせたものである。「リバースエンジニアリング」はこの逆のプロセスを表す。「ハッカー」とは、技術的な知識を使って問題を解決する技術のあるすべてのコンピュータの専門家を表す言葉であるが、一般的な用語では「セキュリティハッカー(英語版)」と同じ意味でも使われている。
プログラミングをする人をプログラマという。プログラミングを行うには一般に、コンピュータ科学を中心としたプログラミングそれ自体についての能力や知識と、書こうとするプログラムが対象とする問題領域などについての能力や知識の両方が必要である。