2 ms·
It helps to get at least a basic level of understanding of some core computer science/engineering subjects: - Algorithms and Data Structures - Operating Syste
by nf05papsjfVbc 8y ago
It helps to get at least a basic level of understanding of some core computer science/engineering subjects:
- Algorithms and Data Structures
- Operating Systems
There are more but it helps to at least learn the fundamentals of these two. If you feel up to it, there are these too:
- Computer Organisation
- Compilers
There are more which you could look at depending on your interests: Computer Networks, Computer Graphics, Databases, Computer Architecture, Programming Languages, Theory of Computation, Distributed Systems
Many of these can be learnt from a good online course or a good textbook
Besides these, I found it very helpful to try and contributed to big free software projects. The standards are high and you'll get a lot of feedback on your patches. If you pick a project like something by Mozilla, you'll also have bugs/tasks specifically earmarked for people who are new contributors.
I forgot to add: Reading good code really helps. However, for this, I found that the most effective way was to try and fix a bug or add a feature which leads again to my suggestion above. This way, you have a 'purpose' with which you read code and it helps navigate a large codebase.
Good luck!