What’s the difference between an ordinary software developer and a successful software developer? 

An ordinary software developer typically works only on the task assigned, and it’s rare to expect top-quality deliverables from him. In contrast, a successful software developer wouldn’t just complete the assigned task, he’d also ensure: 

Source: DZone