Theory is the most important part. Many new Grads doesn't have working experience but good theory background, they could learn new tool very fast. I am not sure how Universities in China train their students. But based on my hiring experience, new Grads from Hong Kong doesn't know too much about theory and tools used in work, but new Grads from Canada are usually much better. Actually theory research in Software engineering has cover all parts of different stage in developing a project, from product design and documenting , testing to structure design etc. but the industry is much behind , only Google, Microsoft, IBM and Amazon, such kind of tech companies are applying those new theory. I worked in Bell, and do you believe we just start exploring SonarQ to do code smell detection and bug prediction? Do you believe some of the big data pipelines have no unit tests?