this post was submitted on 06 Oct 2025
75 points (95.2% liked)

Programming

23042 readers
239 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

So I’m an on/off noobie but have been focusing on actually sticking with programming what I’ve been working on is Python but this question is for programming in general. For me it’s hard but I want to see how I can get better

Like are these good ways to get good:

Follow tutorials, then work on ways of adding your own twists or changes? Or trying to code it in something else?

Work on assignments from a resource you’re using like in my case Python Crash Course and attempt to redo the assignments without looking back?

Experiment with multiple libraries and library methods or built in methods?

Please share any other ways especially ones that helped you

Also when would be good to start a new language after learning one

you are viewing a single comment's thread
view the rest of the comments
[–] unknownuserunknownlocation@kbin.earth 8 points 4 days ago (2 children)
  1. Learn different programming paradigms and approaches. Learn Java or C# to learn object-oriented programming. Learn Haskell to understand functional programming. Learn C to understand low-level programming. Learn C++ to see the wealth of opportunities a programming language can offer. Learn Assembly to understand what happens when your code gets compiled and how computers work on a very basic level. Learn Rust to learn about memory- and thread safety. You don't have to be an expert in all of these, but a basic understanding can be really helpful (for instance, the C++ code I wrote significantly improved after learning Haskell and functional programming, even though I will probably never write an actual program in Haskell).
  2. Learn about programming practices. Learn about test driven development. Learn about fuzzing. Learn about penetration testing. Essentially make sure you're not only learning the actual programming itself, but everything the comes (or should come) with it.
  3. Most importantly: practice, practice, practice. Find an open source project that you like and improve something. Fix a bug. Add a requested feature. Learn how to work with others on programming tasks. Ideally you have an open source project that you use and would like to see a bug fixed or a feature implemented - talk with the devs, make a PR, and don't get frustrated if they criticize your code - learn from it (but also accept that some devs are self-centered or don't want help - in that case, choose another project or fork the project).
[–] mr_satan@lemmy.zip 4 points 4 days ago

I'd say it takes a certain curiosity to make all of this work. Like the other day I read up on SQL indexes and how they work under the hood. I didn't need to, I know what they do and what I needed them to do. But there was this itch when I realized that I don't know how they do it.

And there are many such things depending on the specialty. I'm in web dev and often the work I do is very detached from actual communication protocols and such. I see devs that don't even know how cookies work in an MVC app. And while it's not necessary, it helps a lot to have basic understanding of what happens when you call an API, how exactly HTTP differs from HTTPS, even what happens at TLS and TCP layer of things.

I consider myself a generalist and it's this curiosity that makes me adequate in many different subspecialties. I'm not the best at things, but I can get shit done myself when I need to.

[–] mikedd@lemmy.world 2 points 4 days ago

I like this answer the most.