22 ms·
To build more complex applications or systems, you need to have some notions of larger scale software engineering, which would cover modularization, components,
by informatimago 11y ago
To build more complex applications or systems, you need to have some notions of larger scale software engineering, which would cover modularization, components, interfaces, and indeed, frameworks. Also, you need to master how to build abstractions at the different levels (there are different ways to build abstractions).
So I would advise:
- study sicp (https://mitpress.mit.edu/sicp/full-text/book/book.html https://mitpress.mit.edu/sicp/full-text/book/book.html),
- study OOP and OOD (UML, design patterns; some OOD books cover modularization and component design),
- study some software architecture material,
- and to put it in practice, take some important application (something like Firefox), and study it, and contribute to some bug
corrections or improvement.