Seven Habits of Highly Effective Programmers