A programmer is a person who writes software. Programming follows three logical concepts and uses a special language. One of the concepts is selection, which allows programs to perform different actions depending on certain conditions, and Ruby is an example of a programming language.