Can Coders Really Be Self-Taught? A Practical Guide to Learning Programming on Your Own