Tom works with computers. He writes code and develops new software programs for different companies. What is Tom's job?