Competitive programming involves writing efficient programs within time constraints to solve problems presented on online judges. It requires understanding input/output formats, using faster algorithms to avoid timeouts, and data structures like lists, trees and graphs. Some prestigious contests include ACM-ICPC, Google Code Jam, and Facebook Hacker Cup. To get started, sign up for online judges and practice solving problems, participating in contests to improve skills and potentially gain job/internship opportunities.