This is probably feeding the problem. You need good engineers to create high-value products in order to afford to pay high salaries for good engineers. Economies can't get ahead when they waste engineering talent developing trivial software that doesn't build long-term growth.
Canada should probably have a massive advanced military project that aims to produce state of the art technology. Pay qualified people great salaries and let them use their inventions in the private sector after some period of time.