I would like to know whether knowledge of the theory of computation can help you to be a better practitioner. Is it enough to obtain some depth of knowledge of algorithms and data structures, or would it help to also know automata (for compilers, types, programming languages), computability and complexity?
If it would be wise to obtain more knowledge, what references can I read. For undergraduate education, I know basic stuff such as Hopcroft, Sipser, Ullman.