profession: person who plans, develops, tests, and documents computer programs, applying knowledge of programming techniques and computer systems