A hacker is someone who uses programming or technical skills to solve a problem. They are usually focused on violating computer security for various reasons such as theft and corporate espionage.