|
|
|
|
|
by Jakobeha
1819 days ago
|
|
I heard (from a research professor!) that the best way to learn real-world large-scale design patterns is to work in industry. Because at a big company, you are working on a real-world large-scale system. So I would recommend, if you have the opportunity, try getting an internship before grad school. Of course not all companies have the best practices, but in my experience most do. If you decide to find an internship, ask about design patterns / code reviews in your interviews. Alternatively, you could read up on good design patterns and practice. I've heard people recommend Uncle Bob's "Clean Code" and "How to Design Programs". Also see https://news.ycombinator.com/item?id=25299547. |
|
You won't have a mentor but you can still learn something.
What I suggest is to start with projects you are already familiar with. For example, I work with machine learning and python. I've been learning a lot by studying the code from pytorch, fastapi and other libraries used in this field.
Another great way to learn is to implement new features for projects you use. You can start by replicating existing ones. For example, you can find a PR that added a new feature, then try yourself implementing it and use the actual PR as a guide when you get stuck.