I'm a high school sophomore teaching myself the basics of C++ and C#, although I'm focusing on one at a time. I'm unsure what to learn next, which libraries or frameworks would be useful, and what kinds of projects I should build. Should I explore games, web development, apps, cloud services, or something else? I originally planned to focus on C++ because I thought it would help me work at major technology companies, but programmers I've spoken with recommended C# instead. I'd appreciate advice on how to explore these options, choose practical projects, and build skills without feeling like I have to commit to one career path for the rest of my life right away.
4 Answers
If artificial intelligence interests you, Python is a practical language to add later because many machine-learning tools use it. However, AI is a broad field and involves more than one language, so learning Python does not automatically determine your career. Focus first on programming fundamentals and then explore the areas that seem interesting.
Start with something you genuinely want to build, then choose the tools that fit that project. The language matters less than learning how to break problems down, read documentation, debug, use version control, and finish working software. Try several small projects instead of searching for one perfect lifelong path.
C++ and C# both make sense, but they point toward somewhat different areas. C++ is common in game engines, performance-critical software, embedded systems, and systems programming. C# is popular for Unity games and has strong support for desktop, enterprise, and web development through ASP.NET Core. You could also learn basic HTML, CSS, and JavaScript because web knowledge is useful across many software jobs. Once you have fundamentals, try a small project in each area and see what holds your attention.
Choose projects you would actually use or enjoy. A small game, utility, website, or automation tool that solves a real problem will teach you more than a huge project chosen only because it seems impressive. Finishing several manageable projects is a good way to discover what kind of development you enjoy.

That’s a good distinction: “AI” can mean research, data work, applications, robotics, or infrastructure, and each area has different requirements. It’s better to decide which part interests you after trying some smaller projects.