7 Habits of Highly Effective Programmers