10 tips for programmers from beginner to intermediate