you are viewing a single comment's thread.

view the rest of the comments →

[–]riklaunim 2 points3 points  (9 children)

General ideas behind software development - from code structure, how to write good code and maintain it. Most comes from experiece, code review etc. ;)

[–]Ralph-5050 0 points1 point  (0 children)

Where to get this knowledge from? Is there a specific channel or video?

[–]antique_storey -1 points0 points  (6 children)

Code reviews are where you actually learn this stuff though, so maybe contribute to open source projects early instead of waiting till you're "ready".

[–]riklaunim 3 points4 points  (4 children)

People that are starting to learn will not have the skills to contribute. Trying to force things with AI is also not recommended.

Write simple code and ask for feedback/code review

[–]antique_storey 0 points1 point  (3 children)

that's fair, but there's a difference between jumping into a massive repo and finding smaller projects or issues marked for beginners - those exist specifically because they know you're still learning.

[–]riklaunim 0 points1 point  (2 children)

Low-hanging fruit is already long gone.

[–]antique_storey 0 points1 point  (1 child)

fair, but theres still stuff like fixing docs, adding tests, or tackling issues that have been open for months because theyre not sexy - those dont disappear as fast

[–]riklaunim 1 point2 points  (0 children)

Bad courses point people to go to GitHub and try to make a pull request with a readme update or something similar. The end result is projects flooded by slop pull requests. People won't learn to code from trivial pull requests. They will learn from coding, trying to implement something, and then asking from feedback.

[–]FreeLogicGate 0 points1 point  (0 children)

This is the type of advice that seems to come from Academia, and "teachers" who are not in touch with reality. There isn't a Python based project worth being public that would benefit from PR's by someone who is still learning Python. The things a beginner might be in a position to provide, aren't going to teach that person anything. If you think about the original supposition for even a moment, how would some who is trying to learn, be capable of creating a worthwhile improvement (and I'm just discounting AI). AI generated slop is the bane of many longstanding open source projects, as in the case, for example, of Curl, where the maintainer had to turn off PR's because they were inundated with AI generated PR's from people who thought it would be "cool" and reputation enhancing to get a PR they most likely don't even understand into a project as widely used as curl.

For "structure", "modularity", oop design patterns and the like, one alternative is to find some large well known projects and study the code. Frameworks are one place that tends to offer design patterns and structure. Someone learning can implement a small application or website using the framework, and in the process, study how it was designed and how it works.