I begun learning programming a few years ago, and it feels like I barely progressed. I know the basics and a bit of advanced python(I have learnt to use a few libraries), html and css plus a tiny bit of c++, but not much outside of those. I enjoy programming and solving problems using code, and it’s an enjoyable hobby of mine. But I feel like all I do is extremely basic and I want to advance but it feels overwhelming seeing the countless of things I could learn.

I wanna know what are ways I can actually apply the things I have learnt/will learn on somewhat worthwhile things, because the main problem right now is that I don’t really have anything to do with the things I’ve learnt other than silly projects that don’t really last more than a day and aren’t that complex. I also want to advance my knowledge as previously stated since I feel like I know too little for the amount of time I’ve been learning to program.

For context I’m still in school but not too far off from higher ed, and I have a decent amount of free time on most days(~2-4 hrs).

Thanks if you reply

  • Zikeji
    link
    fedilink
    English
    arrow-up
    16
    ·
    2 months ago

    This consternation is definitely common. It’s hard to apply skills to something with no long term impact of benefit. I’ve improved my skills by finding stuff I can help on in the communities I participate in.

    It’s natural to be overwhelmed, so deciding on a project does scope what you can learn, but a hard part is architecting the foundation of that project.

    Introducing new features to an existing project is a great way to get your feet wet - it has multiple benefits, for one of you do take a position as a developer in the future, you likely won’t be architecting anything initially, primarily improving on existing projects. So participating in OSS projects is a similar mechanism to that - you have to learn their codebase to a degree, you have to learn their style and requirements, etc.

    Even if you don’t ultimately contribute, it’s still a learning experience.