We live in a world of dynamically changing technologies. New ways of architecturing our solutions, new frameworks and libraries seem to appear on almost daily basis. But good software engineering is not about fancy frameworks and solutions aggressively promoted by their vendors.