1 Here are the most important subjects for software engineering, with brief explanations:
2 If you don't want to reinvent the wheel, you should learn them.
3 are very important by saving so much time for collaborative works and versioning.