Social networking, educational resource sharing, and badge-based achievement tracking for software developers and development teams.
User authentication via oauth.
Online courses and open-access educational resources created by educators. Some colleges accept selected courses are for transfer credit. Topic areas include various college-level subjects, professional development, and K-12.
How do people become professional programmers? Many people go the "traditional" path through a computer science or software engineering education and from there into professional programming work.