Software Engineering is the main area of my PhD thesis (more information about my thesis is available here). In my research, I often find answers in useful resources, such as the ones offered in this page. You can also check the useful tools for software that I have found helpful.

Books

Software Engineering
by Ian Sommerville

Reference book on Software Engineering

Book link: http://iansommerville.com/software-engineering-book/

Design Patterns: Elements of Reusable Object-Oriented Software
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Classical book on Design Patterns

Book link: http://wiki.c2.com/?DesignPatternsBook

Introduction to Algorithms
by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

Comprehensive book on Algorithms

Book link: https://mitpress.mit.edu/books/introduction-algorithms

Code Quality: The Open Source Perspective
by Diomidis Spinellis

Comprehensive book on Software Quality

Book link: https://www.microsoft.com/en-us/research/people/cmbishop/#prml-book