How Should I Learn Programming Seriously and Choose a Direction?
Asked by
MellowCedar42
I'm 17 and starting college next year, and I want to approach programming more seriously instead of jumping between tutorials and languages. There's so much conflicting advice online that I'm having trouble figuring out what actually matters.
How do people progress from following tutorials to starting with a blank directory, forming a plan, and building something reasonably complex? I'm currently interested in Python and C, but I'm also curious about Rust and other languages. Is it better to go deep with one language first, or study several programming paradigms early on?
I'd also like to know which parts of computer science are most useful to learn alongside programming, and which topics can wait. I'm curious about different career paths too, including systems, security, machine learning and AI, reinforcement learning, research, infrastructure, and developer tools.
With AI becoming increasingly capable of writing and debugging code, is computer science still a good long-term direction? What would experienced developers do differently if they could start over, and what would they avoid wasting time on? Most importantly, is learning to code still worth it?
Answers
The biggest step is moving from tutorials to projects. Pick one language and build something you actually care about. Break the idea into small pieces, decide what each part is responsible for, implement one piece at a time, test it, and revise your approach when it fails. Complicated software is usually a lot of simple parts working together. You donโt need the perfect design before starting, and getting stuck is a normal part of learning.
Reply to this answer
AI is changing the job, but it doesnโt remove the need for people who can understand requirements, design systems, evaluate trade-offs, test results, and recognize when generated code is wrong. Developers may spend less time typing syntax and more time guiding tools and reviewing their output. If you enjoy programming, itโs still worth learning. Focus on fundamentals, problem-solving, communication, and building useful things instead of chasing every new trend or supposed shortcut.
Reply to this answer
Software and computer science cover a huge range of work, from application development and infrastructure to security, research, embedded systems, AI, developer tools, and more. You donโt need to choose a specialty immediately. Try small projects in different areas and pay attention to what kind of problems you enjoy solving. Looking at real open-source projects and their recent changes can also teach you how production code is organized, although tutorials and libraries can become outdated quickly.
Reply to this answer
Learn computer science topics as they become useful, rather than treating the entire subject as a prerequisite. Data structures, algorithms, operating systems, networking, databases, version control, and automated testing are all valuable. Testing especially should be part of your normal programming habits. Theory can make you a stronger engineer, but going too deep too early can become discouraging, so use a structured course or study plan and keep building projects alongside it.
Reply to this answer
There isnโt one objectively best language. The best first language is one youโll stick with long enough to finish projects. Python is approachable and useful, C teaches fundamentals and how computers work, and Rust is a strong choice if youโre interested in safe systems programming. Donโt try to learn five languages at once, though. Learn one well enough to build things, then explore others when a project or interest gives you a reason.
Reply to this answer
Add your answer
Answers are reviewed before publication.
Related Discussions