I'm fairly new to programming and want to keep improving my Python skills while also learning C++. I've started solving Project Euler problems and am beginning to try LeetCode as well. How effective are these platforms for becoming a better programmer, and what other resources or types of projects would you recommend? I'd like to build well-rounded programming skills, including practical experience with data handling.
4 Answers
These exercises are useful for practicing syntax, loops, functions, data structures, algorithms, and basic problem-solving. However, they don’t cover many important real-world skills, such as designing larger programs, organizing code, reading existing code, testing, and writing documentation. The best complement is to build your own projects, even small ones, so you have to make design decisions and turn an idea into working software.
Project Euler focuses heavily on mathematical problems, while LeetCode is mainly about algorithms and data structures. Both are good if you enjoy them and can help you become more comfortable translating a solution into code, but they usually assume you can figure out the underlying approach first. They’re best treated as practice exercises rather than complete programming courses.
Try building small applications alongside those challenge sites. Command-line games, a to-do list, a file organizer, or a simple data-analysis tool can teach you about managing state, handling input, structuring nontrivial code, and working with real data. Once you’re comfortable with smaller projects, you could try making a basic web server, text editor, or shell to explore larger design problems.
Another fun option is Advent of Code. It offers a sequence of programming puzzles that can help you practice problem-solving in Python or C++. Just balance it with projects where you choose the requirements and architecture yourself, since that’s where many practical programming skills develop.

That makes sense. I don’t really know many programmers, so what are some good ways to read or contribute to other people’s code? And what kinds of projects are useful for practicing software design?